Công thức Excel: Tra cứu phân biệt chữ hoa chữ thường -

Công thức chung

=INDEX(range1,MATCH(TRUE,EXACT(A1,range2),0))

Tóm lược

Để thực hiện tra cứu phân biệt chữ hoa chữ thường, bạn có thể sử dụng hàm EXACT cùng với INDEX và MATCH. Trong ví dụ hiển thị, công thức trong F5 là:

=INDEX(C5:C14,MATCH(TRUE,EXACT(E5,B5:B14),0))

trả về 39, tuổi của "JILL SMITH".

Lưu ý: đây là công thức mảng và phải được nhập bằng Control + Shift + Enter, ngoại trừ trong Excel 365.

Giải trình

Về cơ bản, đây là công thức INDEX và MATCH, với chức năng EXACT được sử dụng bên trong MATCH để thực hiện so khớp phân biệt chữ hoa chữ thường.

Làm việc từ trong ra ngoài, EXACT được định cấu hình để so sánh giá trị trong E5 với các tên trong phạm vi B5: B14:

EXACT(E5,B5:B14) // returns array of results

Hàm EXACT thực hiện so sánh phân biệt chữ hoa chữ thường và trả về kết quả là TRUE hoặc FALSE. Chỉ các giá trị khớp chính xác mới trả về TRUE. Bởi vì chúng tôi đang kiểm tra tên trong E5 ("JILL SMITH") với tất cả mười tên trong phạm vi B5: B14, chúng tôi nhận được một mảng gồm mười giá trị TRUE và FALSE như sau:

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

Mảng này được trả về trực tiếp cho hàm MATCH dưới dạng lookup_array như sau:

MATCH(TRUE,(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE),0)

Với giá trị tra cứu là TRUE, hàm MATCH trả về 5, vì giá trị TRUE duy nhất trong mảng nằm ở vị trí thứ năm. Cũng lưu ý rằng match_type được đặt thành không (0) để bắt buộc đối sánh chính xác.

Hàm MATCH trả về kết quả trực tiếp cho hàm INDEX dưới dạng số hàng, vì vậy bây giờ chúng ta có thể viết lại công thức như sau:

=INDEX(C5:C14,5) // returns 39

INDEX trả về độ tuổi ở hàng thứ năm, 39, là kết quả cuối cùng.

Vì sử dụng hàm EXACT như thế này là một thao tác trên mảng, công thức là một công thức mảng và phải được nhập bằng Control + Shift + Enter, ngoại trừ trong Excel 365.

Với XLOOKUP

Trong Excel 365, hàm XLOOKUP có thể được định cấu hình để thực hiện tra cứu phân biệt chữ hoa chữ thường theo cách tương tự như sau:

=XLOOKUP(TRUE,EXACT(J5,B5:B14),C5:C14,"na",0)

Lưu ý rằng giá trị tra cứu và mảng tra cứu được thiết lập giống như hàm MATCH ở trên. Sau khi EXACT chạy, chúng tôi có:

=XLOOKUP(TRUE,(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE),C5:C14,"na",0)

và XLOOKUP trả về mục thứ 5 từ phạm vi C5: C14 (39) là kết quả cuối cùng.

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