Công thức vs VBA

Liên hệ QC

nguoirung1234

Thành viên mới
Tham gia
12/3/07
Bài viết
45
Được thích
12
Các anh chị cho em hỏi 1 vấn đề rất cơ bản : trong Excel dùng công thức với các hàm có sẵn hay dùng VBA chương trình sẽ chạy nhanh hơn?
Từ trước đến giờ em vẫn nghĩ là dùng công thức nhanh hơn. Thế nhưng có bao giờ dùng công thức lại chậm hơn dùng VBA không?
Ví dụ xét trường hợp sau : ta cần đếm giá trị 10 trong một vùng. Nếu đếm có thì ghi số lượng đếm được, nếu không có thì ghi là "không có" (chứ không phải ghi số 0). Khi đó em sẽ viết công thức :
=IF(COUNTIF(A1:A10,10)=0,"Không có",COUNTIF(A1:A10,10))
Khi thực hiện có phải là Excel sẽ thực hiện hàm đếm 2 lần không? (như vậy thời gian sẽ tăng gấp đôi). Trong khi nếu dùng VBA thì ta chỉ đếm 1 lần mà thôi.
Em suy nghĩ như vậy không biết có đúng không? Nhờ các anh chị chỉ giáo.
 
Những công thức nào tính một lần như IF, Sum, Count, ... thì nó sẽ nhanh hơn VBA. Những công thức mãng như Sumproduct, hay (Ctrl+Shift+Enter) thì sẽ chậm hơn VBA.
Vậy tùy bạn quyết định nha!
 
Những công thức nào tính một lần như IF, Sum, Count, ... thì nó sẽ nhanh hơn VBA. Những công thức mãng như Sumproduct, hay (Ctrl+Shift+Enter) thì sẽ chậm hơn VBA.
Vậy tùy bạn quyết định nha!
Không thể nói như vậy được! Tùy theo thuật toán, tùy theo cách bố trí dử liệu mà ta có tốc độ khác nhau! (chứ không phải vì dùng SUMPRODUCT mà kết quả chậm)
VBA đấu với công thức ---> Không so sánh được đâu!
Cùng ra 1 kết quả, ai có thuật toán tối ưu sẽ làm cho file tính toán nhanh hơn
---------
Nói thế này thì được nè: Dùng VBA, biến toàn bộ công thức thành dử liệu thô thì đương nhiên sẽ làm cho file "nhẹ" đi, vì chẳng có gì để tính toán sau khi đã ra kết quả... Mặc khác dung lượng file cũng từ đó mà giảm đi!
 
Web KT

Bài viết mới nhất

Back
Top Bottom