Cách khắc phục Hàm Vlookup đối với dữ liệu trên 100 nghìn dòng (rows) (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

gianghoxaotra

Thành viên chính thức
Tham gia
6/2/13
Bài viết
53
Được thích
1
Hiện tại mình phải xử lý dữ liệu với số lượng dòng khá lớn trên 100.000 dòng (rows), mình phải dùng hàm Vloopup để dò tìm kết quả thì máy chạy rất chậm, hơn nữa, hàm Vlookup càng sử dụng nhiều thì file càng nặng và càng không thể xử lý được công thức.
Có cao thủ nào có cao kiến về vấn đề khắc phục hàm Vlooup sao cho nhanh hơn hoặc nếu dùng Code VBA thì có xử lý được vấn đề dò tìm nhanh hơn không?
Suy rộng ra, đối với việc xử lý dữ liệu bằng cách lọc và rút trích thì ngôn ngữ ứng dụng lập trình nào (Excel, VBA, SPSS, Matlab, R,...) sẽ hỗ trợ tốt?

P/s: Mình có thử thay thế hàm VLookup qua hàm Sumif or Sumifs nhưng cho giá trị sai vì bảng dữ liệu có nhiều giá trị lập lại của kết quả dò tìm.
\http://quanaososinh.vn/quan-ao-tre-em/quan-ao-so-sinh
 
Chỉnh sửa lần cuối bởi điều hành viên:
Hiện tại mình phải xử lý dữ liệu với số lượng dòng khá lớn trên 100.000 dòng (rows), mình phải dùng hàm Vloopup để dò tìm kết quả thì máy chạy rất chậm, hơn nữa, hàm Vlookup càng sử dụng nhiều thì file càng nặng và càng không thể xử lý được công thức.
Có cao thủ nào có cao kiến về vấn đề khắc phục hàm Vlooup sao cho nhanh hơn hoặc nếu dùng Code VBA thì có xử lý được vấn đề dò tìm nhanh hơn không?
Suy rộng ra, đối với việc xử lý dữ liệu bằng cách lọc và rút trích thì ngôn ngữ ứng dụng lập trình nào (Excel, VBA, SPSS, Matlab, R,...) sẽ hỗ trợ tốt?

P/s: Mình có thử thay thế hàm VLookup qua hàm Sumif or Sumifs nhưng cho giá trị sai vì bảng dữ liệu có nhiều giá trị lập lại của kết quả dò tìm.

quần áo trẻ em | quan ao tre em | quần áo sơ sinh | quần áo bé trai | quần áo bé gái | bodysuit carter | quan ao so sinh | quan ao tre em nhap khau

Nếu bạn biết ba cái chỗ đỏ đỏ đó thì bạn là thầy của 90% dân ở đây, kể cả tôi, rồi. Hỏi gì nữa?

Chú: chữ ký của bạn có links quảng cáo. Nếu bạn không do bạn bày trò quảng cáo trá hình thì do bị dính vi rút gì đó. Nên liên lạc BQT để giải quyết.
 
Hiện tại mình phải xử lý dữ liệu với số lượng dòng khá lớn trên 100.000 dòng (rows), mình phải dùng hàm Vloopup để dò tìm kết quả thì máy chạy rất chậm, hơn nữa, hàm Vlookup càng sử dụng nhiều thì file càng nặng và càng không thể xử lý được công thức.
Có cao thủ nào có cao kiến về vấn đề khắc phục hàm Vlooup sao cho nhanh hơn hoặc nếu dùng Code VBA thì có xử lý được vấn đề dò tìm nhanh hơn không?
Suy rộng ra, đối với việc xử lý dữ liệu bằng cách lọc và rút trích thì ngôn ngữ ứng dụng lập trình nào (Excel, VBA, SPSS, Matlab, R,...) sẽ hỗ trợ tốt?

P/s: Mình có thử thay thế hàm VLookup qua hàm Sumif or Sumifs nhưng cho giá trị sai vì bảng dữ liệu có nhiều giá trị lập lại của kết quả dò tìm.

quần áo trẻ em | quan ao tre em | quần áo sơ sinh | quần áo bé trai | quần áo bé gái | bodysuit carter | quan ao so sinh | quan ao tre em nhap khau

Máy bạn chạy chậm thì xem lại cấu hình của máy tính để thêm ram hay thay chip với tốc độ xử lý cao hơn, hàm Excel hay VBA, ... đều phụ thuộc chủ yếu vào tốc độ của máy tính thôi mà
 
Hiện tại mình phải xử lý dữ liệu với số lượng dòng khá lớn trên 100.000 dòng (rows), mình phải dùng hàm Vloopup để dò tìm kết quả thì máy chạy rất chậm, hơn nữa, hàm Vlookup càng sử dụng nhiều thì file càng nặng và càng không thể xử lý được công thức.
Có cao thủ nào có cao kiến về vấn đề khắc phục hàm Vlooup sao cho nhanh hơn hoặc nếu dùng Code VBA thì có xử lý được vấn đề dò tìm nhanh hơn không?
Suy rộng ra, đối với việc xử lý dữ liệu bằng cách lọc và rút trích thì ngôn ngữ ứng dụng lập trình nào (Excel, VBA, SPSS, Matlab, R,...) sẽ hỗ trợ tốt?

P/s: Mình có thử thay thế hàm VLookup qua hàm Sumif or Sumifs nhưng cho giá trị sai vì bảng dữ liệu có nhiều giá trị lập lại của kết quả dò tìm.

quần áo trẻ em | quan ao tre em | quần áo sơ sinh | quần áo bé trai | quần áo bé gái | bodysuit carter | quan ao so sinh | quan ao tre em nhap khau
Tôi thấy bạn hỏi khá nhiều bài về Vlookup rồi.
Thực tế trên diễn đàn cũng rất nhiều bài để bạn tham khảo và học hỏi. Có nhiều cách để làm:
1. Để Calculator ở chế độ Manual, khi nào số liệu thay đổi thì tính. Như thế bộ vi khỏi phải xử lý file cả trăm nghìn dòng.
2. Rất nhiều bài viết để thay Vlookup bằng 1 thủ tục nào đó (dùng Find hoặc Dictionary)
Nếu không bạn có thể gửi file thực tế lên, để mng hỗ trợ.
Chúc bạn thành công!
 
Bạn dùng hàm dò tìm kết hợp với hàm tham chiếu sẽ thực hiện nhanh, bạn xem file đính kèm
 

File đính kèm

"
Nếu bạn biết ba cái chỗ đỏ đỏ đó thì bạn là thầy của 90% dân ở đây, kể cả tôi, rồi. Hỏi gì nữa?

Chú: chữ ký của bạn có links quảng cáo. Nếu bạn không do bạn bày trò quảng cáo trá hình thì do bị dính vi rút gì đó. Nên liên lạc BQT để giải quyết.
"

Liên hệ với BQT chỗ nào bạn chỉ giúp, mình ko rành vụ này.
Cảm ơn.
 
Tôi thấy bạn hỏi khá nhiều bài về Vlookup rồi.
Thực tế trên diễn đàn cũng rất nhiều bài để bạn tham khảo và học hỏi. Có nhiều cách để làm:
1. Để Calculator ở chế độ Manual, khi nào số liệu thay đổi thì tính. Như thế bộ vi khỏi phải xử lý file cả trăm nghìn dòng.
2. Rất nhiều bài viết để thay Vlookup bằng 1 thủ tục nào đó (dùng Find hoặc Dictionary)
Nếu không bạn có thể gửi file thực tế lên, để mng hỗ trợ.
Chúc bạn thành công!

Cảm ơn Cá ngừ F1, hiện tại mình cũng tìm được giải pháp cho việc dò tìm thông qua sự giúp đỡ của các anh em trên diễn đàn trong đó có bạn, tuy nhiên, mình đang muốn tối ưu Code VBA từ Sub lên Function để tiện sử dụng hơn. Càng ngày càng nâng cao thêm.
 
Lần chỉnh sửa cuối:
Với khối dữ liệu Excel lớn nên dùng SQL để trích lọc. Dùng VBA hay công cụ gì đó thực thi SQL để tạo ra bảng kết quả lọc nhiều điều kiện, các bảng có thể được ghép, trộn với nhau rất linh hoạt. Dùng VBA mà phải dùng vòng lặp hoặc dùng các hàm sẵn có cũng vẫn là bị chậm.
 
Web KT

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

Back
Top Bottom