Công thức Excel: Nhận giá trị không trống đầu tiên trong danh sách -

Mục lục

Công thức chung

(=INDEX(range,MATCH(FALSE,ISBLANK(range),0)))

Tóm lược

Để nhận giá trị không trống đầu tiên (văn bản hoặc số) trong một trong phạm vi một cột, bạn có thể sử dụng công thức mảng dựa trên các hàm INDEX, MATCH và ISBLANK. Trong ví dụ được hiển thị, công thức trong D10 là:

(=INDEX(B3:B11,MATCH(FALSE,ISBLANK(B3:B11),0)))

Lưu ý: đây là công thức mảng và phải được nhập bằng Control-Shift-Enter.

Giải trình

Vì vậy, ý chính của vấn đề là: Chúng tôi muốn lấy ô không trống đầu tiên, nhưng chúng tôi không có cách trực tiếp để làm điều đó trong Excel. Chúng tôi có thể sử dụng hàm VLOOKUP với ký tự đại diện * (xem liên kết bên dưới), nhưng điều đó sẽ chỉ hoạt động đối với văn bản chứ không phải số.

Vì vậy, chúng ta cần xây dựng chức năng chúng ta cần bằng cách lồng các công thức. Cách thực hiện là sử dụng một hàm mảng để "kiểm tra" các ô và trả về một mảng các giá trị TRUE / FALSE mà chúng ta có thể đưa vào hàm MATCH.

Làm việc từ trong ra ngoài, hàm ISBLANK đánh giá các ô trong phạm vi B3: B11 và trả về một mảng trông giống như sau:

(TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE)

Mỗi FALSE đại diện cho một ô trong phạm vi không trống.

Tiếp theo, MATCH tìm kiếm FALSE bên trong mảng và trả về vị trí của kết quả phù hợp đầu tiên được tìm thấy, trong trường hợp này là 2. Tại thời điểm này, công thức trong ví dụ bây giờ trông giống như sau:

(=INDEX(B3:B11,2,0)))

Cuối cùng, hàm INDEX tiếp quản và nhận giá trị ở vị trí 2 trong mảng, là 10.

Giá trị độ dài khác 0 đầu tiên

Để nhận giá trị độ dài khác 0 đầu tiên, bạn có thể bao gồm hàm LEN như sau:

(=INDEX(range,MATCH(TRUE,LEN(range)>0,0)))

Giá trị số đầu tiên

Để nhận giá trị số đầu tiên trong danh sách, bạn có thể điều chỉnh công thức để sử dụng hàm ISNUMBER, sau đó thay đổi logic để khớp với TRUE thay vì FALSE:

(=INDEX(range,MATCH(TRUE,ISNUMBER(range),0)))

Đây cũng là một công thức mảng và phải được nhập bằng control + shift + enter.

Liên kết tốt

Tìm mục không trống đầu tiên trong danh sách (chandoo)

thú vị bài viết...