Bài viết: Một cách VLOOKUP từ phải qua trái (1 người xem)

  • Thread starter Thread starter kyo
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

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,717
MỘT CÁCH VLOOKUP TỪ PHẢI QUA TRÁI


Làm thế nào để có thể sử dụng hàm VLOOKUP khi giá trị tra cứu nằm ở cột bên phải của bảng dữ liệu? Ai trong chúng ta ít nhất 1 lần đã từng gặp phải vấn đề này - muốn sử dụng VLOOKUP nhưng dữ liệu lại là 'vòng luẩn quẩn':

36728593841_08bde11006_o.jpg


Bạn có Mã, bạn muốn trả kết quả về Tên. Một VLOOKUP bình thường sẽ không làm việc cũng như bạn không thể sử dụng số cột âm:

36728593751_13c538c6ab_o.jpg


Có 1 cách khác để có thể tra cứu, đó là sử dụng INDEX/MATCH:

36728593521_c496ca2d5f_o.jpg


Nhưng cách này lại không có hàm VLOOKUP trong công thức. Và đôi khi, bạn cảm thấy hàm INDEX và MATCH khá phức tạp để sử dụng. Bạn tin là vẫn còn cách không?

Chắc chắn bạn vẫn có thể sử dụng hàm VLOOKUP, nếu sử dụng thêm hàm CHOOSE.

Hàm CHOOSE hoạt động như thế nào? CHOOSE trả về thứ tự đúng cho 2 "cột", dựa vào thứ tự mà bạn chuyển các cột vào trong hàm CHOOSE. Điều này tạo ra một mảng theo hướng từ trái sang phải cách chính xác để VLOOKUP có thể làm việc.

36472094320_441e64da45_o.jpg


Hy vọng từ bài viết này bạn sẽ có thêm một cách để sử dụng hàm VLOOKUP được hiệu quả hơn.

Nguyễn Bảo Khanh.

Một số bài viết có liên quan:
1/ 23 điều bổ ích về VLOOKUP có thể bạn muốn biết (phần 1)
2/ 6 thói quen cá nhân khi làm việc với dữ liệu và Excel
3/ Chiêu số 23: Bật, tắt chức năng Conditional Formatting bằng 1 checkbox
4/ 29 cách tiết kiệm thời gian với các công thức Excel (phần 1)
5/ Sử dụng hàm Subtotal
6/ Cách viết hàm hiệu quả
7/ 5 phương pháp học Excel cơ bản hiệu quả nhất
8/ Ebook: Dữ liệu & Báo cáo trong Excel 2013
9/ Ebook: Công thức và hàm Excel 97-2013
10/ Ebook: "Một số chuyên đề Excel mừng sinh nhật GPE lần 7"
 
Lần chỉnh sửa cuối:
Upvote 0
Chào Anh Nguyễn Bảo Khanh!

Cám ơn anh về bài viết nhưng em không thao tác được từ hàm choose, anh nói rõ hơn được ko ạ. Ngay chỗ choose({2,1}...
 
Lần chỉnh sửa cuối:
Thân gửi: Anh Bảo Khanh!

Cám ơn bài viết của anh.
 
Lần chỉnh sửa cuối:
Tôi đã kiểm tra lại, sử dụng công thức này bình thường mà
 
Lần chỉnh sửa cuối:
Mình cũng không làm được công thức như trên, và cũng không hiểu chỗ Choose({2,1}...).
Nhờ các bạn hướng dẫn thêm.
 
Chắc là công thức mảng, nên cần nhấn phím tổ hợp Clrt + Alt + enter
 
Hàm CHOOSE sử dụng ra sao, bạn có thể tìm trên Google.

Về cơ bản, tôi tạm cho v
í dụ như sau :

- CHOOSE(3,"Chó","Mèo","Chuột") sẽ cho bạn giá trị là Chuột

Nếu bạn có data gồm 1 mảng 3 cột từ $A$2:$C$7 như trên hình vẽ, bạn sử dụng hàm CHOOSE thì :-

CHOOSE(2,$A$2:$A$7,$C$2:$C$7) sẽ cho bạn giá trị của cột $C$2:$C$7

Trong bài viết trên, bạn sử dụng hàm CHOOSE như sau :

- CHOOSE({2,1},$A$2:$A$7,$C$2:$C$7) sẽ trả giá trị gồm cả 2 cột A và C, nhưng sẽ sắp xếp lại cột C dứng trước cột A

Sau khi sắp xếp xong, bạn sẽ có thể kết hợp với công thức dò tìm VLOOKUP để cho bạn kết quả theo ý muốn
 
Lần chỉnh sửa cuối:
Không cần nhấn tổ hợp phím đâu bạn à, nhưng đúng là có máy sử dụng được công thức như trên, có máy bị lỗi. Riêng việc này tôi cũng không hiểu tại sao

Cặp {2,1} trong hàm Choose như trong bài, các bạn có thể hiểu là chọn cả 2 cột, và cột 2 đứng trước cột 1. Bạn sẽ kết hợp được với hàm dò tìm Vlookup từ bên phải qua trái nhờ đảo ngược cột 2 đứng trước cột 1 qua hàm Choose
 
Lần chỉnh sửa cuối:
OK, sorry các bạn. Mình rất quan tâm đến vấn đề này. Cảm ơn
 
Lần chỉnh sửa cuối:
Ra #REF!. Không biết tác giả có chụp hình kết quả rồi sửa #REF! thành chữ " Hoa" up lên không nữa

Tôi đề nghị bạn thận trọng trong lời nói nhé, tôi đã kiểm chứng lại ngay khi đăng bài.

Trong nhà tôi có 3 máy, 2 máy cho kết quả đúng, còn laptop lại không cho ra kết quả như vậy, tôi đang tìm hiểu và mong ai đó có thể cho biết ý kiến

1 bài viết khi đăng lên là mong cùng nhau trao đổi, để tìm hiểu sâu thêm. Mỗi người có thể có nhiều giải pháp cho vấn đề này, không nhất thiết phải dùng Vlookup. Tuy vậy, việc kết hợp hàm cũng đem lại nhiều kiến thức bổ ích cho những ai thích tìm tòi và sáng tạo
 
Tôi đề nghị bạn thận trọng trong lời nói nhé, tôi đã kiểm chứng lại ngay khi đăng bài.

Trong nhà tôi có 3 máy, 2 máy cho kết quả đúng, còn laptop lại không cho ra kết quả như vậy, tôi đang tìm hiểu và mong ai đó có thể cho biết ý kiến

1 bài viết khi đăng lên là mong cùng nhau trao đổi, để tìm hiểu sâu thêm. Mỗi người có thể có nhiều giải pháp cho vấn đề này, không nhất thiết phải dùng Vlookup. Tuy vậy, việc kết hợp hàm cũng đem lại nhiều kiến thức bổ ích cho những ai thích tìm tòi và sáng tạo
Cảm ơn bạn & sorry tác giả. Mình sẽ để ý hơn. Hy vọng cùng tìm ra nguyên nhân cho việc này.
 
Cho mình hỏi, vậy thì có gì khác với HLookup
 
Cảm ơn bạn bk.2707 đã giải thích công thức, nhưng mình làm như hình thì vẫn bị lỗi.
Không biết bạn handung107 đã tìm ra cách khắc phục chưa vậy bạn?
 
Cho mình hỏi, vậy thì có gì khác với HLookup

HLOOKUP là hàm dò tìm theo dòng, sẽ trả về giá trị của 1 ô nằm trên 1 dòng nào đó nếu thỏa mãn điều kiện dò tìm

VLOOKUP là hàm dò tìm theo cột từ trái qua, sẽ trả về giá trị của 1 ô nằm trên 1 cột nào đó nếu thỏa mãn điều kiện dò tìm

Hàm CHOOSE được đưa ra trong bài viết này vì tình huống là cột chứa giá trị dò tìm nằm bên phải ngoài cùng, như vậy VLOOKUP sẽ không thể chạy và cho ra kết quả. Như vậy hàm CHOOSE sẽ giúp đảo cột, và VLOOKUP sẽ chạy theo vị trí cột mới

Hàm CHOOSE trong bài trên không hề đảo dòng, thì làm sao sử dụng HLOOKUP được?

Bạn có thể đọc lại bài trả lời của mình phía trên để hiểu hơn về hàm CHOOSE nhé.
 
Choose của bạn: CHOOSE({2;1},$A$2:$A$7,$C$2:$C$7) có các tham số ngăn cách bằng dấu ; trên thanh công thức bạn bôi đen phần này và nhấn F9, sẽ thấy trả về dãy là: {"HHH";"Mèo";#N/A;#N/A;#N/A;#N/A}

Đúng ra phải là:

CHOOSE({2,1},$A$2:$A$7,$C$2:$C$7)

các tham số ngăn cách bằng dấu "," trên thanh công thức bạn bôi đen phần này và nhấn F9, sẽ thấy trả về dãy là:{"HHH","Chó";"BBB","Mèo";"KKK","Ngựa";"TTT","Hoa";"LLL","Cỏ";"OOO","Dừa"}
mới ra kết quả đúng.
 
Choose của bạn: CHOOSE({2;1},$A$2:$A$7,$C$2:$C$7) có các tham số ngăn cách bằng dấu ; trên thanh công thức bạn bôi đen phần này và nhấn F9, sẽ thấy trả về dãy là: {"HHH";"Mèo";#N/A;#N/A;#N/A;#N/A}

Đúng ra phải là:

CHOOSE({2,1},$A$2:$A$7,$C$2:$C$7)

các tham số ngăn cách bằng dấu "," trên thanh công thức bạn bôi đen phần này và nhấn F9, sẽ thấy trả về dãy là:{"HHH","Chó";"BBB","Mèo";"KKK","Ngựa";"TTT","Hoa";"LLL","Cỏ";"OOO","Dừa"}
mới ra kết quả đúng.
Bạn ơi, tham số ngăn nhau bởi "," hay ";" là do định dạng của máy tui chỉnh về như vậy và tui cũng thử lại nhưng ko đc bạn à. Tui thấy nếu trường hợp đó tui sẽ thử trên 1 máy khác xem sao.
Có thể máy nào mà các tham số trong công thức ngăn nhau bằng "," thì được, còn ngăn nhau bằng ";" thì không được. Bạn thử cùng làm xem sao nhé.
 
Theo quan sát của kyo thì có vẻ như máy thiết lập dấu ; sẽ không dùng được thì phải.
 
Theo quan sát của kyo thì có vẻ như máy thiết lập dấu ; sẽ không dùng được thì phải.
Chào anh Kyo, cũng không hẵn là vậy, em đã reset lại các thiết lập máy laptop em đang sử dụng cũng không được anh à. Nếu vậy em càng nghi ngờ tuỳ theo file nguồn cài đặt office nữa anh à. Tại em đang xài office crack.
Thân.
 
Bạn ơi, tham số ngăn nhau bởi "," hay ";" là do định dạng của máy tui chỉnh về như vậy và tui cũng thử lại nhưng ko đc bạn à. Tui thấy nếu trường hợp đó tui sẽ thử trên 1 máy khác xem sao.
Có thể máy nào mà các tham số trong công thức ngăn nhau bằng "," thì được, còn ngăn nhau bằng ";" thì không được. Bạn thử cùng làm xem sao nhé.
Dấu "," hay ";" ở đây không mang nghĩa dấu phân cách thập phân. Dùng ở trong hàm CHOOSE có nghĩa là chỉ đường cho excel duyệt theo hàng trước hay cột trước. Nếu ";" nghĩa là duyệt theo cột của mảng 1 trước, sau đó đến mảng 2, còn "," là duyệt dòng 1 mảng 1, dòng 1 mảng 2 mới tạo ra vùng tham chiếu đúng.
 
Qúa hay lại đơn giản, em cảm ơn diễn đàn nhé
 
Theo quan sát của kyo thì có vẻ như máy thiết lập dấu ; sẽ không dùng được thì phải.

Theo dự đoán của tôi thì bạn nhập 1 mảng vào cells, sau đó gõ =A1:D10 => Ctrl + Shift + Enter chẳng hạn. Sau đó bấm F2 => F9.

Tiến hành xem chuỗi thu được để biết phân cách hàng và cột trong mảng quy định như thế nào => Dấu phân cách đó chính là dấu trong ngoặc {} của hàm Choose
 
Tôi trích lại đây 1 Comment của bạn Yeudoi - Hồ Quang Hường giải đáp cho 1 bạn trong Group "Diễn đàn Giải Pháp Ễxcel". Các bạn nào bị lỗi có thể tham khảo nhé

https://www.facebook.com/groups/797...d=963520283703890&notif_t=group_comment_reply

Trường hợp này chỉ xảy ra ở 1 vài công thức thôi bạn nha và thường xảy ra ở dấu {} đó. Tùy từng máy có thể {1/2} hoặc {1,2} đấy.

Mình cũng chưa hiểu tại sao nhưng không phải bao giờ cũng dấu ( ,) nha đôi lúc là dấu ( /) hoặc ( \ ) đấy

Các bạn xem thử và cho ý kiến nhá
 
SemicolonOrComma.jpg

Theo hình:
1. Dấu separator của system 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 separator của system 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 phân cách của vlookup là phẩy, thì dấu phân cách của mảng là {2,1}
Nếu dấu phân cách của vlookup là chấm phẩy, thì dấu phân cách của mảng là {2\1}

Dấu / sẽ bị hiểu là chia và sẽ bị báo lỗi vì 2/1 = 1 => {2/1} = {2}. Choose trả về chỉ 1 cột và không vlookup cột 2 được
 
Lần chỉnh sửa cuối:
Cảm ơn cách làm mới của bạn
Theo mình làm thử thì Choose{1,2} hay Choose{2,1} đều được.
Dùng Choose{1,2} thì dễ nhớ hơn:
=vlookup(giá trị dò tìm,Choose({1,2},vùng dò tìm,vùng kết quả),2,0)


VLOOLUP.jpg
 
Gõ dư lày thì máy lào cũng đạc nhé: VLOOKUP(F2;CHOOSE({2\1};$A$2:$A$7;$C$2:$C$7);2;0) --=0
 
=VLOOKUP(F2;CHOOSE({2\1};$A$2:$A$7;$C$2:$C$7);2;0), 100% là đc nhé
 
Mình tìm ra 1 cách cực nhanh, không biết OFFICE 2003 có không, đó là hàm LOOKUP. cực đơn giản, dễ hiểu luôn, mình xin sửa lại vd của ban KYO 1 chút nhé
=Lookup(F2;$C$2:$C$7;$B$2:$B$7) Enter là xong, đảm bảo không bị lỗi trên bất cứ máy nào
 
Lần chỉnh sửa cuối:
Mình tìm ra 1 cách cực nhanh, không biết OFFICE 2003 có không, đó là hàm LOOKUP. cực đơn giản, dễ hiểu luôn, mình xin sửa lại vd của ban KYO 1 chút nhé
=Lookup(F2;$C$2:$C$7;$B$2:$B$7) Enter là xong, đảm bảo không bị lỗi trên bất cứ máy nào

Dữ liệu $C$2:$C$7 phải được sắp xếp theo thứ tự tăng dần, nếu không công thức trả về kết quả không chính xác. Thân!
 

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

Back
Top Bottom