...
Hàm nào cũng được anh, em thấy hướng dẫn là Vlookup + choose, nhưng em không hiểu.
Nên em muốn tìm nhiều giải pháp hơn, để dễ hiểu và áp dụng........
VLookup và Choose là đúng lý thuyết rồi. Hàm Choose có khả năng gộp mảng.
Ở GPE này người ta thích dùng Index/Match hơn vì người ta tin rằng nó nhanh hơn.
Choose( { 1, 2 }, $B$16:$B$26, $A$16:$A$26 )
Tham thứ nhất:
{ 1, 2 } -> bảo Excel nối 2 cột ở hai tham kế tiếp (tham 2 và 3) thành một mảng 2 cột.
Tham thứ nhì: $B$16:$B$26 -> 1 cột 11 dòng
Tham thứ ba: $A$16:$A$26 -> 1 cột 11 dòng
Như vậy, kết quả của hàm trên là mảng 11 dòng 2 cột, cột thứ nhất là $B$16:$B$26 và cột thứ hai là $A$16:$C$26.
VLooup có thể dò cột thứ nhất (B) và lấy kết quả từ cột thứ hai (A).
Nhưng ở đây, bạn muốn dò trị kép, và bạn cần ghép trị của hai cột A-B
Để ghép trị, bạn dùng toán tử &. Trên thực tế, người ta thường chèn thêm một ký tự đặc biệt vào giữa (ở đây tôi dùng "|") để bảo đảm an toàn, tránh bị lẫn chuỗi (đuôi chuỗi trước lẫn với đầu chuỗi sau).
$A$16:$A$26 & "|" & $B$16:$B$26
Choose( { 1, 2 }, $A$16:$A$26 & "|" & $B$16:$B$26, $C$16:$C$26 )
Kết quả là bạn được một mảng 11 dòng, 2 cột. Cột thứ nhất là ghép chuỗi cột A-B, cột thứ hai là trị cần lấy từ C.
Và VLookup như sau:
VLookup( $A2 & "|" & $B2, Choose( { 1, 2 }, $A$16:$A$26 & "|" & $B$16:$B$26, $C$16:$C$26 ), 2, 0)
Quan trọng:
Trong hàm Choose trên có một phép tính duyệt mảng để nối chuỗi. Vì Choose căn bản không phải là hàm mảng cho nên nó không tự duyệt mảng. Người dùng phải ép nó duyệt bằng cách Ctrl+Shift+Enter.
Túm lại, dùng hàm trên thì phải kết bằng CSE để ép thành công thức mảng.