
Công thức chung
=LOOKUP(2,1/(A:A""),A:A)
Tóm lược
Để tìm giá trị của ô trống cuối cùng trong một hàng hoặc cột, bạn có thể sử dụng hàm LOOKUP trong công thức nhỏ gọn đáng ngạc nhiên này. Như một phần thưởng bổ sung, công thức này không phải là công thức mảng và không dễ bay hơi.
Giải trình
Chìa khóa để hiểu công thức này là nhận ra rằng lookup_value của 2 cố tình lớn hơn bất kỳ giá trị nào sẽ xuất hiện trong lookup_vector.
- Biểu thức A: A "" trả về một mảng các giá trị đúng và sai: (TRUE, FALSE, TRUE,…).
- Sau đó, số 1 được chia cho mảng này và tạo ra một mảng mới bao gồm số 1 hoặc chia cho 0 lỗi (# DIV / 0!): (1,0,1,…). Mảng này là lookup_vector.
- Khi không tìm thấy giá trị lookup_value, LOOKUP sẽ khớp với giá trị nhỏ nhất tiếp theo.
- Trong trường hợp này, lookup_value là 2, nhưng giá trị lớn nhất trong lookup_array là 1, vì vậy lookup sẽ khớp với giá trị 1 cuối cùng trong mảng.
- LOOKUP trả về giá trị tương ứng trong result_vector (tức là giá trị ở cùng một vị trí).
Xử lý lỗi
Nếu có lỗi trong lookup_vector, đặc biệt nếu có lỗi trong ô không trống cuối cùng, công thức này cần được điều chỉnh. Điều chỉnh này là cần thiết vì tiêu chí "" sẽ tự trả về lỗi nếu ô có lỗi. Để giải quyết vấn đề này, hãy sử dụng ISBLANK với NOT:
=LOOKUP(2,1/(NOT(ISBLANK(A:A))),A:A)
Giá trị số cuối cùng
Để nhận giá trị số cuối cùng, bạn có thể thêm hàm ISNUMBER như sau:
=LOOKUP(2,1/(ISNUMBER(A1:A100)),A1:A100)
Vị trí của giá trị cuối cùng
Nếu bạn muốn nhận vị trí (trong trường hợp này là số hàng) của giá trị cuối cùng, bạn có thể thử công thức như sau:
=LOOKUP(2,1/(A:A""),ROW(A:A))
Ở đây, chúng tôi cung cấp các số hàng của cùng một phạm vi để tra cứu vectơ kết quả và lấy lại số hàng của kết quả khớp cuối cùng.