Hỏi về công thức mảng

Liên hệ QC

thuyyeu99

Trùm Nhiều Chuyện
Tham gia
6/6/08
Bài viết
1,729
Được thích
873
Các anh chị nào biết công thức mảng bằng VBA cho em hỏi xíu nhé.

Em đang mò mẫm về cách viết công thức mảng, nhưng còn lăn tăng 1 chỗ là khi viết công thức mảng có nên gán hết công thức vào trong 1 vùng không hay là chỉ Gán giá trị vào vùng đó (khi nào cần up1date thì chỉ việc Enter vào ô chứa công thức thì dữ liệu sẽ cập nhật lại).

Cám ơn các anh chị quan tâm!

Supper UDF SQL version 2

Hàm Supper UDF SQL version 2.1 hihihi (Hàm Group Concat trong T_SQL)
 
Lần chỉnh sửa cuối:
"GPE成員都是偉大的 "
Nghĩa là gì vậy bạn

Trông màn hình thì rất hay, nếu được thì chia sẻ code và files bạn đã làm, như thế thật vui, cám ơn trước

Chức năng tự mở rộng công thức mảng (không phải mãng nhé) thì Google Spread Sheet làm tốt hơn Excel nhiều

Query của Google rất bình thường, chỉ làm đc câu SELECT thuần túy và khó hiểu, không giống với cách làm Database chuẩn chung. Điều nữa chỉ cần có một ô phía dưới công thức, sau đó công thức đó thay đổi điều kiện để mảng đó phình ra là công thức nó N/A ngay.

Excel hiện nay không có chàm nào chạy SQL trả về mảng cả nên không có gì để so sánh. Nhưng A-Tools bù đắp việc đó với hàm BS_SQL mà chủ topic có nêu. Mình nói thì lại bảo quảng cáo. Các bạn xem video về loạt bài của tôi về hàm BS_SQL trên Youtube thì nó khác hoàn toàn với các nhận định nếu như không xem sản phẩm.
Bài đã được tự động gộp:

Bạn dùng Delphi phiên bản nào? nó có thích ứng với windows 64bits không
Vì tôi thấy Delphi ngôn ngữ hợp với nhiều người đi từ Pascal lên, tuy thế hiện nay Delphi không được nhà phát triển quan tâm và chăm sóc nó lên tiếp

Đây là nhận định của các anh thế hệ 7.x trở về trước có biết đến Pascal và Delphi từ thời bản 7. Delphi bây giờ khác lắm rồi. Lập trình 1 code và biên dịch đa nền tảng... Delphi phát triển ở các nước Mỹ, Nhật, Nga, Pháp, Đức, Brazil.
https://www.embarcadero.com/products/delphi
Bài đã được tự động gộp:

Bài đã được tự động gộp:


To bạn Thuy:
Hàm và Value là hai khái niệm khác nhau hoàn toàn. Hàm được tương tác qua cơ chế tính toán và tham chiếu động của Excel. Không phải tự nhiên hàm BS_SQL trả về mảng đâu :). Mảng bảo toàn vùng dữ liệu, người sử dụng, người xem số liệu không vô tình xóa hay sửa vài ô nào đó...

Bây giờ em hãy test các tính huống sau để hoàn thiện và qua đó các bạn sẽ biết viết hàm này dễ hay khó nhé.
1. Hàm co giãn số dòng, số cột mà không đè vào dữ liệu phía cuối và phía phải?
2. Có ít nhất 2 hàm đang tham chiếu vào cùng một địa chỉ trên sheet. Bây giờ hay thay đổi giá trị trên ô đó thì những hàm đang tham chiếu đến nó có chạy không? Đây là cách làm công thức mà dân Excel đa số làm.
3. Nếu người sử dụng muốn có các hàm thống kê bao vào vùng của công thức mảng, khi công thức đó co giãn thì các hàm thống kê này tính toán có đúng không?
 
Lần chỉnh sửa cuối:
Upvote 0
Query của Google rất bình thường, chỉ làm đc câu SELECT thuần túy và khó hiểu, không giống với cách làm Database chuẩn chung. Điều nữa chỉ cần có một ô phía dưới công thức, sau đó công thức đó thay đổi điều kiện để mảng đó phình ra là công thức nó N/A ngay.

Excel hiện nay không có chàm nào chạy SQL trả về mảng cả nên không có gì để so sánh. Nhưng A-Tools bù đắp việc đó với hàm BS_SQL mà chủ topic có nêu. Mình nói thì lại bảo quảng cáo. Các bạn xem video về loạt bài của tôi về hàm BS_SQL trên Youtube thì nó khác hoàn toàn với các nhận định nếu như không xem sản phẩm.
Bài đã được tự động gộp:



Đây là nhận định của các anh thế hệ 7.x trở về trước có biết đến Pascal và Delphi từ thời bản 7. Delphi bây giờ khác lắm rồi. Lập trình 1 code và biên dịch đa nền tảng... Delphi phát triển ở các nước Mỹ, Nhật, Nga, Pháp, Đức, Brazil.
https://www.embarcadero.com/products/delphi
Bài đã được tự động gộp:

Bài đã được tự động gộp:


To bạn Thuy:
Hàm và Value là hai khái niệm khác nhau hoàn toàn. Hàm được tương tác qua cơ chế tính toán và tham chiếu động của Excel. Không phải tự nhiên hàm BS_SQL trả về mảng đâu :). Mảng bảo toàn vùng dữ liệu, người sử dụng, người xem số liệu không vô tình xóa hay sửa vài ô nào đó...

Bây giờ em hãy test các tính huống sau để hoàn thiện và qua đó các bạn sẽ biết viết hàm này dễ hay khó nhé.
1. Hàm co giãn số dòng, số cột mà không đè vào dữ liệu phía cuối và phía phải?
2. Có ít nhất 2 hàm đang tham chiếu vào cùng một địa chỉ trên sheet. Bây giờ hay thay đổi giá trị trên ô đó thì những hàm đang tham chiếu đến nó có chạy không? Đây là cách làm công thức mà dân Excel đa số làm.
3. Nếu người sử dụng muốn có các hàm thống kê bao vào vùng của công thức mảng, khi công thức đó co giãn thì các hàm thống kê này tính toán có đúng không?
Tóm lại vẫn là A-Tool thì ắt là quảng cáo
Vì nói thế thì tôi giới thiệu là dùng SQL-server thay thế luôn Excel
Tất nhiên A-Tool có giá trị với người sử dụng còn ai bàn code, technique thì giá trị nó =0, vì sử dụng thì sản phẩm đã đóng gói, xem video thì chỉ có hình
 
Upvote 0
Tóm lại vẫn là A-Tool thì ắt là quảng cáo
Vì nói thế thì tôi giới thiệu là dùng SQL-server thay thế luôn Excel
Tất nhiên A-Tool có giá trị với người sử dụng còn ai bàn code, technique thì giá trị nó =0, vì sử dụng thì sản phẩm đã đóng gói, xem video thì chỉ có hình

Oh. Bác lại sai. A-Tools sinh ra bộ hàm. Người sử dụng có bộ hàm đó tự xây dựng báo cáo, phần mềm. A-Tools đóng vai trò như Framework để người thiết kế tạo ra những sản phẩm riêng. Không như các phần mềm đóng gói, nó chỉ có ngần đó chức năng. Học phần mềm là học khai thức chức năng , gầnn hư cố định. CÒn A-Tools là hàm mà người sử dụng tự xây dựng công thức.

Người học code trên GPE này có và người đi tìm giải pháp cho công việc trên GPE này rất nhiều. Tỷ lệ người có thể lập trình VBA tạo ra được một cái báo cáo lọc với người dùng công thức Excel thì nó chênh lệch lắm. Không phải ai cũng lập trình VBA nổi, dù có học vài năm đấy. Vậy nên dù có người giới thiệu sản phẩm tốt đáp ứngch o đại đa số người cần giải pháp hay người trợ giúp code cũng đều nên xem là có giá trị cho cộng đồng GPE này. Nó không phải chỉ dành cho người học code đâu.
 
Upvote 0
Oh. Bác lại sai. A-Tools sinh ra bộ hàm. Người sử dụng có bộ hàm đó tự xây dựng báo cáo, phần mềm. A-Tools đóng vai trò như Framework để người thiết kế tạo ra những sản phẩm riêng. Không như các phần mềm đóng gói, nó chỉ có ngần đó chức năng. Học phần mềm là học khai thức chức năng , gầnn hư cố định. CÒn A-Tools là hàm mà người sử dụng tự xây dựng công thức.

Người học code trên GPE này có và người đi tìm giải pháp cho công việc trên GPE này rất nhiều. Tỷ lệ người có thể lập trình VBA tạo ra được một cái báo cáo lọc với người dùng công thức Excel thì nó chênh lệch lắm. Không phải ai cũng lập trình VBA nổi, dù có học vài năm đấy. Vậy nên dù nguwoif giới thiệu sản phẩm tốt đáp ứngch o đại đa số người cần giải pháp hay số ít để học lập trình thì cũng đều có giá trị cả.
Sinh ra bộ hàm cũng thế thôi bạn, nó cũng là đóng gói
Như Excel hay bộ office người ta cũng gọi là sản phẩm đóng gói đó thôi
Tất nhiên tôi nói nó có giá trị với người sử dụng - nên bạn quảng bá cho người sử dụng khách hàng thì hợp hơn là chỗ nào (đang bàn code) cũng giới thiệu, vậy thôi.
 
Upvote 0
To bạn Thuy:
Hàm và Value là hai khái niệm khác nhau hoàn toàn. Hàm được tương tác qua cơ chế tính toán và tham chiếu động của Excel. Không phải tự nhiên hàm BS_SQL trả về mảng đâu :). Mảng bảo toàn vùng dữ liệu, người sử dụng, người xem số liệu không vô tình xóa hay sửa vài ô nào đó...

Bây giờ em hãy test các tính huống sau để hoàn thiện và qua đó các bạn sẽ biết viết hàm này dễ hay khó nhé.
1. Hàm co giãn số dòng, số cột mà không đè vào dữ liệu phía cuối và phía phải?
2. Có ít nhất 2 hàm đang tham chiếu vào cùng một địa chỉ trên sheet. Bây giờ hay thay đổi giá trị trên ô đó thì những hàm đang tham chiếu đến nó có chạy không? Đây là cách làm công thức mà dân Excel đa số làm.
3. Nếu người sử dụng muốn có các hàm thống kê bao vào vùng của công thức mảng, khi công thức đó co giãn thì các hàm thống kê này tính toán có đúng không?
1. đã test thử ok
2. em chưa test 2 hàm (đã test 1 hàm ok).
3. Em chua thử.
------Em đang mò cái Fill Arr mà chưa ra
 
Upvote 0
Sinh ra bộ hàm cũng thế thôi bạn, nó cũng là đóng gói
Như Excel hay bộ office người ta cũng gọi là sản phẩm đóng gói đó thôi
Tất nhiên tôi nói nó có giá trị với người sử dụng - nên bạn quảng bá cho người sử dụng khách hàng thì hợp hơn là chỗ nào (đang bàn code) cũng giới thiệu, vậy thôi.

Bạn Thuyyeu đang muốn cơ chế giống BS_SQL. Và bạn nhận định mấy ý không chính xác nên tôi cũng giải thích và làm sáng tỏ thêm cho những người khác nếu họ đọc comment của bạn thì còn có thông tin khác đính chính cho chính xác hơn.
Một điều hiển nhiên là muốn lập trình tốt và đã có ý giống sp nào đó thì đương nhiên phải hiểu đặc tính của sản phẩm à mình làm theo, từ đây có thể làm tốt hơn, giảm những yếu tốt không phải phù hợp. Bạn đừng xem xét nặng vấn đề quảng cáo, chính bạn cũng đang quảng cáo cho Google và Excel nhé. :). Mọi thứ chỉ là tương đối thôi.
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn đừng xem xét nặng vấn đề quảng cáo, chính bạn cũng đang quảng cáo cho Google và Excel nhé. :). Mọi thứ chỉ là tương đối thôi.
Thế thì đề nghị dẹp luôn cái GPE này đi, quảng cáo cho Excel và đủ thứ khác ...

Bạn cứ đọc lại toàn bộ diễn đàn đi, xem ai lạm dụng quảng cáo - mà không thấy BQT nói gì, phàn nàn gì -- chắc hẳn là tay trong rồi ... Nên đừng lạm dụng quá dẫn tới phản cảm.
 
Upvote 0
Thế thì đề nghị dẹp luôn cái GPE này đi, quảng cáo cho Excel và đủ thứ khác ...

Bạn cứ đọc lại toàn bộ diễn đàn đi, xem ai lạm dụng quảng cáo - mà không thấy BQT nói gì, phàn nàn gì -- chắc hẳn là tay trong rồi ... Nên đừng lạm dụng quá dẫn tới phản cảm.

Bạn đừng tự gây khó chịu đến như vậy với bản thân mình. Việc nó bình thường thôi mà.
Bài đã được tự động gộp:

Quay lại vấn đền bạn Thuyyeu. Việc điền giá trị hay dùng công thức điền mảng có thể coi tốc độ là gần như nhau. Bạn dùng hàn Timer hay GetTickCount để đo sẽ thấy.
 
Upvote 0
Bạn cứ đọc lại toàn bộ diễn đàn đi, xem ai lạm dụng quảng cáo - mà không thấy BQT nói gì, phàn nàn gì -- chắc hẳn là tay trong rồi ...
Có thể bạn chưa biết nên tôi giải thích để khỏi mất công tranh luận.
Cũng có thể thông tin của tôi không đúng nhưng tôi tin là đúng.

1. Tuân sống về lập trình, kinh doanh nên ắt muốn quảng cáo thương hiệu của mình. Quảng cáo sản phẩm có trả phí hay miễn phí. Cho một ít miễn phí để người ta dùng thấy hay cũng là quảng bá thương hiệu. Ai kinh doanh cũng muốn quảng cáo thôi. Những ông bán rèm cũng xông vào GPE quảng cáo thì đủ hiểu. :D

2. Tuân có quyền quảng cáo và BQT không có ý kiến gì. Một khi người ta có quyền thì phải chịu thôi :D
Tại sao Tuân có quyền thì tôi không quan tâm. Là bạn nhậu của BQT chăng? :D
 
Upvote 0
Có thể bạn chưa biết nên tôi giải thích để khỏi mất công tranh luận.
Cũng có thể thông tin của tôi không đúng nhưng tôi tin là đúng.

1. Tuân sống về lập trình, kinh doanh nên ắt muốn quảng cáo thương hiệu của mình. Quảng cáo sản phẩm có trả phí hay miễn phí. Cho một ít miễn phí để người ta dùng thấy hay cũng là quảng bá thương hiệu. Ai kinh doanh cũng muốn quảng cáo thôi. Những ông bán rèm cũng xông vào GPE quảng cáo thì đủ hiểu. :D

2. Tuân có quyền quảng cáo và BQT không có ý kiến gì. Một khi người ta có quyền thì phải chịu thôi :D
Tại sao Tuân có quyền thì tôi không quan tâm. Là bạn nhậu của BQT chăng? :D
Quảng cáo đúng nơi đúng lúc đúng chỗ thì nó hay bác ạ, ví dụ banner, bên lề, bên trên bên dưới,
Còn như kiểu đang xemPhim, tin tức lại chen ngang luôn vào quảng cáo thì khó chịu là đúng rồi.
Kinh doanh thì quảng cáo là tất nhiên nhưng lạm dụng thì thật phản cảm.
Nói vậy thôi, còn quyền thì cứ làm. Nhưng ý kiến về phản cảm thì các thành viên cứ lên tiếng.
 
Upvote 0
Quảng cáo đúng nơi đúng lúc đúng chỗ thì nó hay bác ạ, ví dụ banner, bên lề, bên trên bên dưới,
Còn như kiểu đang xemPhim, tin tức lại chen ngang luôn vào quảng cáo thì khó chịu là đúng rồi.
Kinh doanh thì quảng cáo là tất nhiên nhưng lạm dụng thì thật phản cảm.
Nói vậy thôi, còn quyền thì cứ làm. Nhưng ý kiến về phản cảm thì các thành viên cứ lên tiếng.

Bạn thấy phản cảm phần lớn do cách nhìn nhận của bạn mà thôi. Bạn hãy xem lại từ đâu nhé. Bạn nhận xét công thức mảng và dẫn chứng "hàm Query của Google sheet tốt hơn Excel". Bạn đã dẫn chứng một sản phẩm của ông Tây. Và tôi phải đính chính là vấn đề bạn nói là không đúng, và tôi cũng phải lấy dẫn chứng có liên quan đến một hàm của sản phẩm khác. Vậy theo cách bạn nói thì tôi và bạn đề quảng cáo nhé. Đừng nói là Goolge là free, họ thu tiền đều đặn hàng năm của user nếu dùng nâng cao một chút đó. Trong chủ đề này mặc dù bạn Thuyyeu có dẫn chứng hàm BS_SQL của tôi nhưng tôi đã rất ý tứ chỉ ghi vài câu dẫn chứng Excel cũng làm được nhờ vào.... so sánh với dẫn chứng không có tính thuyết phục của bạn mà thôi.
(Bạn nào muốn xem lại những gì tôi nói đúng không, hãy đọc từ đầu topic này sẽ rõ).
Tôi nghĩ rằng vấn đề bạn đang nói trên topic này với tôi là không thuyết phục đâu. Cả tôi và bạn nên dừng lại việc tranh luận này ở đây là tốt nhất để topic tập chung nội dung chính.
 
Upvote 0
Bạn thấy phản cảm phần lớn do cách nhìn nhận của bạn mà thôi. Bạn hãy xem lại từ đâu nhé. Bạn nhận xét công thức mảng và dẫn chứng "hàm Query của Google sheet tốt hơn Excel". Bạn đã dẫn chứng một sản phẩm của ông Tây. Và tôi phải đính chính là vấn đề bạn nói là không đúng, và tôi cũng phải lấy dẫn chứng có liên quan đến một hàm của sản phẩm khác. Vậy theo cách bạn nói thì tôi và bạn đề quảng cáo nhé. Đừng nói là Goolge là free, họ thu tiền đều đặn hàng năm của user nếu dùng nâng cao một chút đó. Trong chủ đề này mặc dù bạn Thuyyeu có dẫn chứng hàm BS_SQL của tôi nhưng tôi đã rất ý tứ chỉ ghi vài câu dẫn chứng Excel cũng làm được nhờ vào.... so sánh với dẫn chứng không có tính thuyết phục của bạn mà thôi.
(Bạn nào muốn xem lại những gì tôi nói đúng không, hãy đọc từ đầu topic này sẽ rõ).
Tôi nghĩ rằng vấn đề bạn đang nói trên topic này với tôi là không thuyết phục đâu. Cả tôi và bạn nên dừng lại việc tranh luận này ở đây là tốt nhất để topic tập chung nội dung chính.
Tranh luận làm chi, chỉ nói chút về phản cảm (Quảng cáo - chính bạn đề cập tới). Còn Post (bài trên) tôi đang trả lời bác batman1. Còn tôi đã dừng từ bài (post) trước vì nội dung đề cập đã đủ hiểu cho những người cần hiểu là phản cảm rồi.

Còn về Query của google spreadsheet là tôi đề cập đến cách thực hiện công thức mảng trong google spreadsheet - và cũng không bàn nữa vì không hợp chủ đề này (cũng không cần thuyết phục bạn làm chi vì đâu có nói với bạn đâu)
 
Upvote 0
Xin thông báo với cả Làng là Mạnh cũng mới tập viết xong cái hàm lấy dữ liệu đó he
Vấn đề còn lại Mạnh thêm tùy chon lọc nhiều điều kiện vào như thêm hành + tỏi + dầu ăn nữa là xong he :p:oops::D thơm nhức mũi đó ???!!!
ADOGPE.PNG
 
Upvote 0
Xin thông báo với cả Làng là Mạnh cũng mới tập viết xong cái hàm lấy dữ liệu đó he
Vấn đề còn lại Mạnh thêm tùy chon lọc nhiều điều kiện vào như thêm hành + tỏi + dầu ăn nữa là xong he :p:oops::D thơm nhức mũi đó ???!!!
View attachment 211063
I like em dang hóng đây , coi anh thêm gia vị gì, them xong nhớ chỉ em với nhé, dạo này chắc em ít mo code nhứt mắt quá
 
Upvote 0
I like em dang hóng đây , coi anh thêm gia vị gì, them xong nhớ chỉ em với nhé, dạo này chắc em ít mo code nhứt mắt quá
ok ... Mạnh mặc dù ko được hoc hành code két bài bản nhưng nhìn qua ai đó viết là có thể bắt trước làm được 1 phần nào đó ???!!!
Trong chừng mực nào đó Mạnh quậy tầm bạy vô tình trúng vào chỗ nào đó cảm giác thấy giật mình luôn đó .... vì có mất chi mô mà ko quậy chứ -0-0-0--0-0-0-
 
Upvote 0
ok ... Mạnh mặc dù ko được hoc hành code két bài bản nhưng nhìn qua ai đó viết là có thể bắt trước làm được 1 phần nào đó ???!!!
Trong chừng mực nào đó Mạnh quậy tầm bạy vô tình trúng vào chỗ nào đó cảm giác thấy giật mình luôn đó .... vì có mất chi mô mà ko quậy chứ -0-0-0--0-0-0-
Very good , mò ra được vui he, de xem anh mò tới đâu nữa.....
 
Upvote 0
Không phải tự nhiên hàm BS_SQL trả về mảng đâu :). Mảng bảo toàn vùng dữ liệu, người sử dụng, người xem số liệu không vô tình xóa hay sửa vài ô nào đó...
Cái này nghĩ di nghĩ lại em thấy anh noi hoan toan chinh xác
Tự dong co dãn công thức mảng cung không phải dễ. Em dang bí chỗ vùng dữ liệu moi thay doi hichic
 
Upvote 0
Ôi cái hàm đó nó lấy cả Access nữa mới sợ chứ -0-0-0--0-0-0-
Access.PNG
Bài đã được tự động gộp:

Cái này nghĩ di nghĩ lại em thấy anh noi hoan toan chinh xác
Tự dong co dãn công thức mảng cung không phải dễ. Em dang bí chỗ vùng dữ liệu moi thay doi hichic
Thử nghiên cứu theo hướng
1/ Duyệt qua RecordCount lấy số dòng của nó xong Insert số dòng tương ứng
2/ xem trong Name của nó là biết số dòng trước của nó bao nhiêu xong xóa đi tương ứng
....
Vậy coi sao
 
Upvote 0
Ôi cái hàm đó nó lấy cả Access nữa mới sợ chứ -0-0-0--0-0-0-
View attachment 211080
Bài đã được tự động gộp:


Thử nghiên cứu theo hướng
1/ Duyệt qua RecordCount lấy số dòng của nó xong Insert số dòng tương ứng
2/ xem trong Name của nó là biết số dòng trước của nó bao nhiêu xong xóa đi tương ứng
....
Vậy coi sao
Anh thử đi, khó là chỗ do do anh em chưa làm dược mà phải fill array nhé
Gần tới đích rồi, leo qua ngọn núi to này rồi qua vài ba ngọn núi nhỏ khác nữa là thỉnh đựợc bí kíp hihibi
 
Lần chỉnh sửa cuối:
Upvote 0
Anh thử đi, khó là chỗ do do anh em chưa làm dược mà phải fill array nhé
Duyet
Anh thử đi, khó là chỗ do do anh em chưa làm dược mà phải fill array nhé
Gần tới đích rồi, leo qua ngọn núi to này rồi qua vài ba ngọn núi nhỏ khác nữa là thỉnh đựợc bí kíp hihibi
yên tâm đi mai mạnh nghĩ cách còn hướng đó là chính xác
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom