Hàm If lồng hàm Vlookup

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

LuuAnh980

Thành viên tiêu biểu
Tham gia
28/9/22
Bài viết
461
Được thích
106
Giới tính
Nữ
Chào các anh chị, mong các anh chi làm cho em công thức sau:
Diễn giải : Nếu A10=3193, thì lấy giá trị G10 dò trong Bảng B, lấy cột số 3, nếu A10=3160, thì lấy giá trị G10, dò trong Bảng C, lấy cột số 2, ngược lại (A10 không = 3193 và 3160 thì lấy giá trị G10 dò trong Bảng A, lấy cột số 3.
Em có lập công thức sau, mà kết quả sai.
Mã:
=IFERROR(IF($A10=3193,VLOOKUP($G10,'BangB'!$I$37:$K$44,3,0),IF($A10=3160,VLOOKUP($G110,'BangC'!$J$46:$K$48,2,0),VLOOKUP($G10,'Bâng'!$I$3:$K$35,3,0)),"")
 
1GPE1
95​
1GPE01151123
2GPE3
90​
2GPE02202234
3GPE5
85​
3GPE03253345
4GPE7
80​
4GPE04304456
5GPE9
75​
5GPE05355567
6GPE11
70​
6GPE06406678
7GPE13
65​
7GPE07457789
8GPE15
60​
8GPE08508900
9GPE17
55​
9GPE095591011
3177608




=IF(A10=3193,VLOOKUP(G10,BangB,3,FALSE),IF(A10=3160,VLOOKUP(G10,BangC,2,FALSE),VLOOKUP(G10,BangA,3,FALSE)))
 
G110 kìa cô nàng ơi
1700315019323.png
Lại còn Sheet "Bâng"

1700315115522.png
 
Dạ em cám ơn anh @SA_DQ nhiều ạ. Đúng rồi ạ. À mà sao phải là "False" vậy anh @SA_DQ ???
Tới Thầy Mỹ: cái đó em gõ vào sai thôi Thầy ơi.
 
Anh @SA_DQ và Thầy Mỹ cho em hỏi thêm tý, ngoài dùng If và Vlookup, còn dùng hàm nào cho gọn được không ạ.
 
Có, Lookup và If gọn hơn

=IFERROR(VLOOKUP(G10,IF(A10=3193,'BangB'!$I$37:$K$44,IF(A10=3160,'BangC'!$J$46:$K$48,'BangA'!$I$3:$K$35)),IF(A10=3160,2,3),0),"")
Bài này khá rắc rối ở cái chỗ bảng C. Nếu muốn đồng bộ hơn (chưa chắc gọn hơn) thì có thể sửa bảng C bằng cách tạo thêm cột giữa:

ở vị trí BangC : Choose({1,2,3}, 'BangC'!$J$46:$J$48, 'BangC'!$L$46:$L$48, 'BangC'!$K$46:$K$48)

Đồng bộ thì sẽ được cái lợi tránh A10 bị tính nhiều lần (nếu là một con toán thay vì chỉ truy cập trị). Đương nhiên với phiên bản 365 thì việc tránh tính nhiều lần không thành vấn đề.
 
Vậy em chèn cho Bảng C cột giữa, thì công thức sao vậy anh @VetMini ??
 
Vậy em chèn cho Bảng C cột giữa, thì công thức sao vậy anh @VetMini ??
Nếu bảng C chèn thêm 1 cột giữa J và K thì cột mới ấy là K, cột dữ liệu trở thành L.
(để ý những chỗ tô đỏ.

=IFERROR(VLOOKUP(G10,IF(A10=3193, 'BangB'!$I$37:$K$44,IF(A10=3160, 'BangC'!$J$46:$L$48, 'BangA'!$I$3:$K$35)), 3, 0),"")

Nếu chèn cột bằng công thức như tôi nói ở bài #9 thì:

=IFERROR(VLOOKUP(G10,IF(A10=3193, 'BangB'!$I$37:$K$44,IF(A10=3160, Choose({1,2,3}, 'BangC'!$J$46:$J$48, 'BangC'!$L$46:$L$48, 'BangC'!$K$46:$K$48), 'BangA'!$I$3:$K$35)), 3, 0),"")

Hàm IF tuy trông rườm rà nhưng thực tế nó rất hiệu quả. Nó tính theo kiểu cần đâu tính đấy. Khác với nhiều hàm trông gọn nhưng làm việc theo kiểu có là tính, không cần biết gọn hay không.

Bài này muốn công thức trông gọn, đẹp thì dùng Names:
DULIEU_A = 'BangA'!$I$3:$K$35
DULIEU_B = 'BangB'!$I$37:$K$44
DULIEU_C = Choose({1,2,3}, 'BangC'!$J$46:$J$48, 'BangC'!$L$46:$L$48, 'BangC'!$K$46:$K$48)

=IFERROR(VLOOKUP(G10,IF(A10=3193, DULIEU_B, IF(A10=3160, DULIEU_C, DULIEU_A)), 3,0),"")
 
Web KT

Bài viết mới nhất

Back
Top Bottom