Theo lẽ thường thì tôi không trả lời cho nhữngn người hỏi mà còn
lười gõ trọn từ, viết tắt tùm lum.
Nhưng đến đây thì toi nghĩ cũng có vài bạn xem đề tài này và thắc mắc. Tôi giải thích đây là cho các bạn ấy.
Hàm Lookup, cũng như Match, lúc dò khoảng (tức là không dò chính xác) thì phải dựa vào bảng dò đã sắp xếp tăng dần.
Vì bảng của bài tập trên không tăng dần, mà ngược lại giảm dần (từ 1,8 tỷ dần xuống 300 triệu) cho nên chỉ có ba cách:
1. tự tạo dãy kết quả ứng theo mảng giảm dần, như bài #7, điển hình "M5", "M4",...
2. dùng mẹo lật ngược mảng dò, điển hình, đem trị nhân cho -1, mảng giảm dần sẽ thành tăng dần.
3. dùng mẹo hơi phức tạp hơn chút để lật ngược mảng dò, nhưng dò từ phải sang trái. Cách này khá phổ biến trong GPE. Đại khái:
D4<{1000,1.8,1.1,0.6,0.3}*10^9 sẽ ra một dãy { TRUE, ..., TRUE, FALSE, ..., FALSE } tuỳ thoe D4 lọt vào chỗ nào, true là những trị lớn hơn nó, và False là những trị không lớn hơn nó.
1/(D4<{1000,1.8,1.1,0.6,0.3}*10^9) sẽ trở thành { 1/TRUE, ..., 1/TRUE, 1/FALSE, ..., 1/FALSE }. Excel sẽ ép kiểu True thành 1 và False thành 0.
Và kết quả kế tiếp là { 1, ..., 1, #Div0, ..., #Div0 }
Trong biểu thức Lookup( 2, { 1, ..., 1, #Div0, ..., #Div0 }, ...
Hàm Lookup sẽ tự bỏ qua các trị lỗi (chia 0). Rốt lại chỉ còn các trị 1's. Vì các trị 1's này bằng nhau và cùng nhỏ hơn trị cần dò cho nên phép dò nhị phân của Lookup sẽ trúng vào phần tử đầu tiên kể từ bên phải (đây là một tính chất rất quan trọng mà nếu bạn nào muốn sử dụng mẹo này thì cần phải nắm thật vững).
Trong biểu thức trên, trị cần dò là 2 cho nên Lookup sẽ dừng ở vị trí 1 đầu tiên kể từ bên phải. Vị trí này ứng với trị lớn hơn D4. Có vị trí rồi, lấy trị ra từ mảng $M$3:$Q$3
Công thức bình thường thôi, bạn mở help của excel xem cách dùng hàm Loopkup
Xin lỗi xen vào.
Trình độ dân làm bài tập, mà công thức bạn hơi khó, dẫu có đọc help cũng không hiểu nổi đâu.