Công thức Excel: VLOOKUP với số và văn bản -

Mục lục

Công thức chung

=VLOOKUP(val&"",table,col,0)

Tóm lược

Để sử dụng hàm VLOOKUP để truy xuất thông tin từ bảng trong đó các giá trị khóa là số được lưu trữ dưới dạng văn bản, bạn có thể sử dụng công thức nối một chuỗi trống ("") với giá trị tra cứu số, ép buộc nó thành văn bản. Trong ví dụ được hiển thị, công thức trong H3 là:

=VLOOKUP(id&"",planets,2,0) // returns "Earth"

trong đó id (H2) và hành tinh (B3: B11) là các phạm vi được đặt tên.

Lưu ý: Ví dụ này là một giải pháp thay thế cho vấn đề số và văn bản không khớp, gây ra lỗi # N / A. Nếu không có sự không khớp, giải pháp thay thế là không cần thiết và bạn có thể sử dụng công thức VLOOKUP bình thường.

Giải trình

Một lỗi VLOOKUP phổ biến là sự không khớp giữa số và văn bản. Thông thường nhất, cột tra cứu trong bảng chứa các giá trị số trông giống như số, nhưng thực tế là số được lưu trữ dưới dạng văn bản. Khi một số chính hãng được truyền vào hàm VLOOKUP làm đối số đầu tiên, công thức sẽ trả về lỗi # N / A, mặc dù có vẻ như có sự trùng khớp. Màn hình dưới đây cho thấy một ví dụ về sự cố này:

Các số trong cột B thực sự là văn bản, vì vậy giá trị tra cứu số, 3, không thành công, mặc dù có vẻ như hàm VLOOKUP phải khớp với B5 và trả về "Earth". Bạn có thể nhập một số dưới dạng giá trị văn bản bằng cách đặt trước số đó bằng một dấu nháy đơn (').

Giải pháp tốt nhất là đảm bảo các giá trị tra cứu trong bảng thực sự là số. Tuy nhiên, nếu bạn không có quyền kiểm soát bảng, bạn có thể sửa đổi công thức VLOOKUP để bắt buộc giá trị tra cứu khớp với loại trong bảng. Trong ví dụ được hiển thị, chúng tôi ép giá trị tra cứu số thành văn bản bằng cách nối một chuỗi trống:

=VLOOKUP(id,planets,2,0) // original =VLOOKUP(id&"",planets,2,0) // revised

Và công thức đã sửa đổi sẽ xử lý lỗi:

Bạn cũng có thể làm điều tương tự với một công thức dài hơn sử dụng hàm TEXT để chuyển số thành văn bản:

=VLOOKUP(TEXT(id,"@"),planets,2,0)

Cả số và văn bản

Nếu bạn không thể chắc chắn khi nào bạn sẽ có số và khi nào bạn sẽ có văn bản, bạn có thể đáp ứng cả hai tùy chọn bằng cách đặt hàm VLOOKUP trong hàm IFERROR và sử dụng công thức xử lý cả hai trường hợp:

=IFERROR(VLOOKUP(id,planets,3,0),VLOOKUP(id&"",planets,3,0))

Ở đây, trước tiên chúng ta thử một công thức VLOOKUP bình thường giả định cả giá trị tra cứu và cột đầu tiên trong bảng đều là số. Nếu điều đó xảy ra lỗi, chúng tôi thử lại với công thức đã sửa đổi. Nếu công thức đó cũng không thành công, hàm VLOOKUP sẽ trả về lỗi # N / A như mọi khi.

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