Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Các công thức tra cứu chậm có thể làm giảm năng suất khi làm việc với những tập dữ liệu lớn. Để giải quyết vấn đề này, bài viết đã thử nghiệm các hàm tra cứu tối ưu của Microsoft Excel và cách kết hợp chúng để xây dựng những công thức cực nhanh, có thể xử lý dễ dàng ngay cả các bảng tính lớn.
Các công thức đôi khi có thể trở nên dài dòng và phức tạp, đặc biệt là khi bạn cần thực hiện cùng một phép tính nhiều lần trong một công thức. Điều này không chỉ khiến công thức khó đọc mà còn làm giảm hiệu suất, vì Excel phải tính toán cùng một kết quả nhiều lần.
Giải pháp cho vấn đề này là hàm LET, cho phép bạn khai báo các biến trực tiếp bên trong công thức. Bạn tính toán một lần, đặt tên cho nó, và sau đó chỉ cần sử dụng tên đó bất cứ khi nào bạn cần kết quả. Cú pháp rất đơn giản:
=LET(name1, name_value1, [name2, name_value2], calculation)
Giả sử bạn có một nhiệm vụ yêu cầu gán trạng thái dựa trên xếp hạng hiện tại của một nhân viên. Nếu xếp hạng của họ (được tìm thấy bằng ID nhân viên) là năm, họ sẽ được xếp vào nhóm "Top Tier". Nếu xếp hạng là một, họ sẽ được xếp vào nhóm "On Watchlist". Ngược lại, họ sẽ được xếp vào nhóm "Standard".
Nếu không có LET, bạn sẽ phải viết hàm XLOOKUP 2 lần, như sau:
=IF(XLOOKUP(A2, A:A, AC:AC)=5, "Top Tier", IF(XLOOKUP(A2, A:A, AC:AC)=1, "On Watchlist", "Standard"))
Nhưng khi sử dụng LET, công thức trở nên gọn gàng hơn nhiều. Bạn chỉ phải tính toán XLOOKUP một lần và gán nó cho tên "rating".
=LET(rating, XLOOKUP(A2, A:A, AC:AC), IF(rating=5, "Top Tier", IF(rating=1, "On Watchlist", "Standard")))
Công thức này tra cứu ID nhân viên từ ô A2 trong cột A, lấy xếp hạng số của họ từ cột AC, sau đó phân loại hiệu suất.
Hàm LET lưu trữ tra cứu xếp hạng một lần, ngăn Excel lặp lại cùng một phép tính XLOOKUP trong các câu lệnh IF lồng nhau. Công thức này dễ đọc và gỡ lỗi hơn đáng kể.
Trước khi XLOOKUP ra đời, INDEX và MATCH là lựa chọn duy nhất để xây dựng các tra cứu nhanh. Ngay cả bây giờ, sự kết hợp này thường vượt trội hơn các hàm mới hơn về tốc độ. Trên các bảng tính có hàng chục nghìn hàng, sự kết hợp này nhanh hơn đáng kể vì nó chỉ xử lý những cột cụ thể mà bạn tham chiếu, chứ không phải toàn bộ bảng.
Không hàm nào tự thực hiện tra cứu hoàn chỉnh. Hàm MATCH có một điểm mạnh: Tìm vị trí tương đối (số hàng) của một giá trị trong một cột. Sau đó, hàm INDEX lấy số đó và lấy giá trị tương ứng từ một cột khác.
Trước tiên, hãy xem cú pháp MATCH. Nó cho bạn biết dữ liệu của mình nằm ở đâu.
=MATCH(lookup_value, lookup_array, [match_type])
Tiếp theo là cú pháp INDEX, cú pháp này sẽ truy xuất kết quả bạn muốn dựa trên vị trí mà hàm MATCH cung cấp.
=INDEX(array, row_num, [column_num])
Giả sử bạn cần tìm vùng lương cho nhân viên có ID 3.427. Hãy sử dụng công thức sau:
=INDEX(F:F, MATCH(A2, A:A, 0))
Trong ví dụ này, phần MATCH trước tiên sẽ tìm số hàng của ID nhân viên nằm trong ô A2. Sau đó, hàm INDEX sẽ lấy số đó và trả về giá trị từ chính hàng đó trong cột vùng lương (cột F). Đây là một phương pháp gọn nhẹ và hiệu quả.
Các tra cứu tiêu chuẩn, kể cả XLOOKUP, đều có một hạn chế cơ bản - chúng dừng lại và trả về kết quả khớp đầu tiên tìm thấy. Nhưng nếu bạn cần danh sách tất cả các bản ghi khớp thì sao? Trong các phiên bản Excel trước năm 2021, điều này yêu cầu các công thức mảng phức tạp. Giờ đây, hãy sử dụng hàm FILTER thay thế. Nó trích xuất mọi bản ghi đáp ứng tiêu chí của bạn.
Nếu chưa bao giờ sử dụng hàm FILTER của Excel, bạn thực sự đang bỏ lỡ một điều tuyệt vời. Nó trả về một mảng các giá trị tự động tràn vào những ô bên dưới công thức. Điều này có nghĩa là bạn không còn cần phải đoán xem mình sẽ nhận được bao nhiêu kết quả nữa. Hàm sẽ tự động xử lý kích thước đầu ra cho bạn, điều này rõ ràng là tiết kiệm thời gian.
Sau đây là cú pháp của hàm FILTER:
=FILTER(array, include, [if_empty])
Giả sử một người quản lý, Peter O'Neill, muốn có danh sách tất cả nhân viên trực thuộc. Bạn cần lấy họ tên đầy đủ, ngày bắt đầu và mức lương của mỗi nhân viên có tên trong danh sách giám sát. Với FILTER, bạn có thể lấy toàn bộ danh sách này chỉ bằng một công thức thay vì phải thực hiện nhiều lần tra cứu riêng lẻ.
Đây là công thức hoàn thành công việc:
=FILTER(D:F, I:I="Peter Oneill", "No Employees Found")
Công thức này yêu cầu Excel trả về dữ liệu từ các cột D đến F cho mỗi hàng có giá trị trong cột I là "Peter O'Neill".
Kết quả sẽ tự động điền vào các ô bên dưới, tạo ra một bảng động, gọn gàng. Nhờ tính năng động này, thủ thuật Excel này sẽ chấm dứt hoàn toàn nỗi phiền toái khi phải thay đổi kích thước bảng.
Những phương pháp này bao quát mọi tình huống tra cứu mà bạn gặp phải. XLOOKUP là sự thay thế hiện đại cho VLOOKUP. Hãy sử dụng các kết hợp LET để tối ưu hóa, INDEX/MATCH để tăng tốc độ, và FILTER để tìm kiếm nhiều kết quả.
Nguồn tin: Quantrimang.com:
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn