Công thức
T(IF()) dùng trong "Giá trị tìm" của H/VLOOKUP do bạn
@congnt92 chia sẻ trong
bài theo link.
Phát hiện thêm điều này từ bạn ấy, anh rất vui, vì từ lúc biết công thức Mảng đến lúc đó, anh đã tìm mọi cách (dùng Index, Offset, Lookup...) nhưng vẫn không thể nào đưa 1 Mảng vào "Giá trị tìm" của H/VLOOKUP(). Như em biết, mình có thể
dễ dàng đưa Mảng vào các đối số Rows, Columns của các hàm H/VLOOKUP, OFFSET; Hoặc có thể đưa Mảng vào "Giá trị cần so khớp" vào hàm MATCH; Hoặc vào các điều kiện của các hàm họ Count/Sumif, nhưng với "Giá trị tìm" của hai hàm H/VLOOKUP thì đành thúc thủ.....
Sau khi được chia sẻ từ
@congnt92, anh cũng làm thêm một số bước khác để thử tìm hiểu do đâu mà
T(IF()) có thể làm được điều này, mà các hàm chuyên cung cấp 1 mảng như Offset, Index... lại không được, thì chỉ có thể tự nghiệm (cho riêng mình để hiểu nó), nên theo anh nghĩ rằng:
- IF() là cấu trúc điều kiện, nó tạo Mảng theo kiểu ghép từng phần tử thỏa và không thỏa, nhưng Vùng/Mảng mình cần lấy thì không bỏ ô dữ liệu trong Vùng/Mảng nên coi như các phần tử đều thỏa điều kiện: TRUE (hay 1), Ví dụ: như bài trên có 5 cột, thì mình có thể dùng:
- =IF(A2: E2<>"", A2: E2) hoặc
- =IF({1,1,1,1,1}, A2: E2) hoặc có thể tóm gọn là:
- =IF( {1} ,A2: E2)
- Mảng {1} ở đây tuy chỉ có 1 phần tử, nhưng vì nó gán vào Mảng {} nên sẽ linh động co duỗi theo Vùng/Mảng cần lấy phía sau.
- Có lẽ chính nhờ IF() tạo Mảng ghép từng phần tử, nên nó phù hợp với cách lấy "Giá trị Tìm" đơn cung cấp cho đối số 1 của hai hàm H/VLOOKUP
- Thêm vào đó, chỉ đơn độc dùng IF() không thôi chưa đủ, và cũng chưa thể hiện ra toàn bộ các giá trị cần lấy của Vùng/Mảng, mà phải dùng thêm T() lồng bên ngoài IF(). Anh để ý thấy: trong một số trường hợp phải dùng thêm hai hàm N() hoặc T() (tùy theo tình trạng dạng dữ liệu mà sử dụng), mới thể hiện được toàn bộ thành phần 1 Mảng. Nó cũng tương tự như trường hợp INDEX() khi dùng chung với OFFSET(), thì lúc nào cũng phải =INDEX( T(Offset()) , ) hoặc INDEX( N(Offset()) , ).
Những chia sẻ trên chỉ do tự mình nghiệm vì anh cũng chưa có tư liệu giải thích về việc này, mà chỉ dựa vào quá trình tìm tòi "vọc hàm", mà tự rút tỉa ra thôi!
cái quan trọng là nó đã trả ra kết quả mà anh mong muốn là tốt rồi, anh không quan trọng lắm về việc lý do chính xác vì đâu mà nó làm được chuyện đó!
Xem thêm những ví dụ công thức trong file kèm.
Chúc em ngày vui.