Bài viết: Một cách khác VLOOKUP từ phải sang trái đơn giản hơn

Liên hệ QC

kyo

Nguyễn Khắc Duy
Thành viên danh dự
Tham gia
4/6/06
Bài viết
901
Được thích
2,714
Một cách khác VLOOKUP từ phải sang trái đơn giản hơn


Nhân bài viết Một cách VLOOKUP từ phải sang trái trước, một số người đã phản hồi với kyo rằng hàm CHOOSE còn mới lạ và không được thân thuộc. Do vậy, nhân đây kyo xin giới thiệu cách kết hợp hàm VLOOKUP và hàm IF (cực kỳ quen thuộc) để giải bài toán này.

Cũng với bài toán cũ từ bài trước ,làm cách nào để VLOOKUP mã để tìm tên?

25619405152_c66df41233_o.png


Bạn hãy dùng kết hợp như sau: =VLOOKUP(F2,IF({1,0},C2:C7,A2:A7),2,0)
Vì mảng của bạn đã nằm trong dấu {} nên không cần phải Ctrl + Shift + Enter nhé, chỉ cần Enter thôi. Và đây là kết quả:

25619405072_e70c467323_o.png


Một bổ sung quan trọng cho những bạn sử dụng thiết lập hệ thống ngăn cách là dấu chấm phẩy ";" thay vì dấu phẩy "," (cảm ơn chú Mỹ - ptm0412).

1. Dấu ngăn cách của Excel là phẩy:
- dấu phẩy ngăn cách các phần tử cùng dòng khác cột.
- dấu chấm phẩy ngăn cách các dòng .

2. Dấu ngăn cách của Excel là chấm phẩy:
- dấu \ ngăn cách các phần tử cùng dòng khác cột.
- dấu chấm phẩy ngăn cách các dòng.

Vậy, nếu dấu ngăn cách của VLOOKUP là phẩy, thì dấu phân cách của mảng là {1,0}. Nếu dấu ngăn cách của VLOOKUP là chấm phẩy, thì dấu phân cách của mảng là {1\0}.

Một số bài viết có liên quan:
1/ Sử dụng định dạng có điều kiện (Conditional Formatting) để làm nổi bật ngày tháng trong Excel
2/ 29 cách tiết kiệm thời gian với các công thức Excel (phần 1)
3/ Sử dụng hàm Subtotal
4/ Cách viết hàm hiệu quả
5/ Sử dụng hàm Subtotal
6/ [VIDEO] Hướng dẫn cách tạo PivotTable
7/ [VIDEO] Tạo Timeline trong Excel
8/ Thủ thuật sử dụng tên ở vùng giao nhau của hai dãy
9/ Tổng hợp dữ liệu trên nhiều bảng tính
10/ SUMPRODUCT và Công thức mảng - Phép tính có nhiều điều kiện
 
Lần chỉnh sửa cuối:
Upvote 0
Hi Anh,

Trong công thức: VLOOKUP(F2,IF({1,0},C2:C7,A2:A7),2,0) thì mảng {1,0} có ý nghĩa như thế nào? và tại sao côt tham chiếu lại là 2 ạ vì nếu tính từ trái sang thì sẽ là cột 3 ạ. Anh có thể diễn giải công thức này được không ạ?

Em cảm ơn nhiều ạ.
 
Hi Anh,

Trong công thức: VLOOKUP(F2,IF({1,0},C2:C7,A2:A7),2,0) thì mảng {1,0} có ý nghĩa như thế nào? và tại sao côt tham chiếu lại là 2 ạ vì nếu tính từ trái sang thì sẽ là cột 3 ạ. Anh có thể diễn giải công thức này được không ạ?

Em cảm ơn nhiều ạ.

Chào bạn,

Theo kyo hiểu thì mảng {1,0} của hàm IF trong trường hợp này nó có nghĩa là {TRUE,FALSE}. Điều này có nghĩa, công thức trên sẽ được diễn đạt theo từng bước như sau:

IF(TRUE, "AAA", "Chó") = AAA (vì là TRUE)
IF(FALSE, "AAA", "Chó") = Chó (vì là FALSE)

IF(TRUE, "DDD", "Mèo") = DDD (vì là TRUE)
IF(FALSE, "DDD", "Mèo") = Mèo (vì là FALSE)

Và tương tự,...

Như vậy, đến cuối, khi hàm IF kết thúc, chúng ta sẽ có một mảng tương ứng 1 bảng như sau:
AAA - Chó
DDD - Mèo
FFF - Ngựa
BBB - Hoa
CCC - Thỏ
RRR - Cà Rốt

Và theo nguyên tắc của VLOOKUP, dữ liệu nguồn với 1 bảng 2 cột và cột tham chiếu là cột 1, cột lấy dữ liệu col_index_num sẽ = 2.

Kyo.
 
Chào bạn,

Theo kyo hiểu thì mảng {1,0} của hàm IF trong trường hợp này nó có nghĩa là {TRUE,FALSE}. Điều này có nghĩa, công thức trên sẽ được diễn đạt theo từng bước như sau:

IF(TRUE, "AAA", "Chó") = AAA (vì là TRUE)
IF(FALSE, "AAA", "Chó") = Chó (vì là FALSE)

IF(TRUE, "DDD", "Mèo") = DDD (vì là TRUE)
IF(FALSE, "DDD", "Mèo") = Mèo (vì là FALSE)

Và tương tự,...

Như vậy, đến cuối, khi hàm IF kết thúc, chúng ta sẽ có một mảng tương ứng 1 bảng như sau:
AAA - Chó
DDD - Mèo
FFF - Ngựa
BBB - Hoa
CCC - Thỏ
RRR - Cà Rốt

Và theo nguyên tắc của VLOOKUP, dữ liệu nguồn với 1 bảng 2 cột và cột tham chiếu là cột 1, cột lấy dữ liệu col_index_num sẽ = 2.

Kyo.

Chào Anh Kyo,

Công thức dùng If này nó bị lỗi #N\A nếu trong bảng lấy dữ liệu ra có 2 lần mã AAA để tra cứu. ANh có cách nào khác không, trong khi dùng Choose thi không bị lỗi.

Cảm ơn Anh.

NgọcToan
 
Chào Anh Kyo,

Công thức dùng If này nó bị lỗi #N\A nếu trong bảng lấy dữ liệu ra có 2 lần mã AAA để tra cứu. ANh có cách nào khác không, trong khi dùng Choose thi không bị lỗi.

Cảm ơn Anh.

NgọcToan

Hi anh,

Kyo không bị như anh, anh có thể xem hình nhé. Anh xem lại hoặc gửi file lên để mọi người xem thử anh.

Kyo.
 

File đính kèm

  • test.jpg
    test.jpg
    16 KB · Đọc: 119
bài viết hay. cảm ơn bác, Mấy hôm nay toàn phải chỉnh lại bảng. copy cột mã lên cột 1 để tính.
 
Chào Anh Kyo,

Công thức dùng If này nó bị lỗi #N\A nếu trong bảng lấy dữ liệu ra có 2 lần mã AAA để tra cứu. ANh có cách nào khác không, trong khi dùng Choose thi không bị lỗi.

Cảm ơn Anh.

NgọcToan
Bạn kiểm tra mảng của bạn đi nhé, là {1\0} hay {1;0} {1,0}.mình lúc đầu cũng bị như bạn.Sau thì ok.
 
Mình thấy có thể ứng dụng hàm LOOKUP thay vì hàmVLOOKUP ở đây,
G2=LOOKUP(F2,C2:C7,A2:A7)
-\\/.
 
Cái này sử dụng hàm lookup tìm kiếm vector cũng ra mà. Dễ hiểu hơn
 
Web KT
Back
Top Bottom