Bài viết: VLOOKUP 2 điều kiệ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,715
VLOOKUP 2 điều kiện


VLOOKUP là một hàm rất phổ biến đối với những người học Excel dù cho là những người mới học hay là các cao thủ. Tuy nhiên, vì là một hàm cơ bản nên VLOOKUP cũng có nhiều hạn chế nhất định mà một trong những hạn chế của nó chính là VLOOKUP 2 điều kiện.

Như bạn đã biết, VLOOKUP chỉ có thể tìm 1 điều kiện mà thôi, cũng như cái cách mà cú pháp của hàm cho thấy. Tuy nhiên, trên thực tế, sẽ có rất nhiều lúc bạn cần tìm hai điều kiện, vậy có cách nào để làm được điều này?

Giả sử kyo có dữ liệu như thế này.

wR4R6_bzejF2wQ2GJI2ofHxmKQ97VivC8nglkpsXYlCmbl784CUIypzjLcZdziLNIm06RdVR0CL7xpRrEVsBvfbcc73enwu7M5DRW7HzfdL1rZyxYDO6En5CKb62KRzqu_ghuLKwAFMsdK6qQNYDMaGhhmpvbAAW8Tk2dU_EQSwQrddDigw9k5RK_tYDolUNC7hDb8KQyk8akFg6vsVsCITOzGU9UJ8chFqOPvU3JM97QZGomrNgeh3iA4Er2iEqExaUrVMUFznX8ts9yVRk1oIP8rFaI4wqH0Wrfanst9wvDlEgLai00bQ56MBMiv9nKlGXqmab-9Nl-QLQyp_r4KuLxyupoX8AzCywSU4zVkFVX3aLQd_azfc34dN6HbAi01n-YRSO__un9lROQkE0gv38Tv1wSEOM28J4W-1rErkW2etOzsu5lmR6q_1QOkLPWAFLjMCPAl0i6GHsV7vFqwiqwE5-UJd8xJwYZZBMioR5owDDzZsW33GcrNMNwqDTvnpm5MKtyoJzLLzCos3fnwqhfe9hVwD_qCiA1Ee2KJFHNwG9BQrsshWzVe0mlHZIJGj-puokYBdtBWo7l9XhvOrYIr5k99eXzb5_S9FzLa6LjahuN6IM=w824-h507-no


Và bài toán đặt ra là, làm cách nào biết được số lượng Tổng tương ứng với điều kiện 1 là C code và điều kiện 2 là HU?

Cách 1: Dùng cột phụ

Đừng ngại dùng cột phụ, nếu cần thiết, bạn cứ xài. Thật sự Excel có rất nhiều cột, nhiều đến nỗi thật sự thì bạn chẳng bao giờ dùng hết. Vậy tại sao lại tiếc nuối 1 cột phụ?

Như hình dưới đây, kyo tạo thêm 1 cột phụ và nối chúng với 2 điều kiện kyo cần. Ví dụ ở đây là =B2&E2 và kéo xuống, kyo sẽ có kết quả như sau:

4N-nvpIUCjLzuWTHlmCeBpvyiMDLuxFVrS7jQUN5M3nxb1L86VNMcOGVrWqTK8ctnuvutByjrPRS5evOWdWXiyXulMtNbbvCbogBgdO2QgMykoIGsG1V9Qm9Lqo13OXmOk8OaaU_vbEOi0_ClynegtlL7eTUi1zM2wzPXJQ4GwutJQ--21nmVioG_CtQYT8Xk9n1SFk3WqQkx95WL8LjzCzgnEZuq6AgVPe1iTtrb2MyF6sV-PmM6kApCj0ZS7zFebH_DBTt86tmAyIuDrmkTKg5YtnAmSYHUoEa2PijvCfPxi1-Ei-a5dAn5Ig_ZuIZ2x3Lzp1aM3O5HnYafPHDReKI41yxmaMrGCdnPpKLanf3zfWGbCtrHKc6Xh5XKgpqrXqLZ2JZrkARpPM9vncYH0BtOzQ6HDC_AKNGPDnZCLh1VusWawEaCErJVblGMavm64SnDiSmxGG5rGXfhScg9QsPokAPf74LxGKi4trjCXiicXPCizGKHk_8JLS_gk6pQw2FqM6e1fG-nK1gzE1niOEp15YuWTu0yldIxr2exmMJ5QIa1wR1lgTtMaA_aBCrPdCB0-DLc04yjGU077AiK8_gcOg5xT53-8MuOkwKXkLNu48zGU7q=w1168-h520-no


Kế đến, kyo chỉ việc VLOOKUP theo bảng giá trị ở cột A (cũng chính là cột phụ) là xong:
=VLOOKUP(B15&C15,$A$2:$F$9,6,FALSE)

LS2U3bZl0LZkQa4snND6WDGVohHgIWDLukKdmxDPKpsny-oyWjBm8KV6ZAjalyl-MD9OQKVxQzUpPdWHjZ7Es9wp5I0JNKEHYIbVFDpOyfnwbYHSdOL1HDEFZ_x7cOz54XyM3hN7IJw_KXM4nBZFTzsDsRjVovNnd89gQQPySTUP_hpKFGfvg5DReApKoG4GgWbmy_b8V2oKrhYJ14gC09UK799sYIGO2KwokVv4XaD_iRUG6uOP8lGSrBRlDAjW3H7c1Gja_eZZ0ei5zhQF_Z95Pw-v1-IymzAW-U6g6XDJce2q9qy4EnyMirOWH9r4Ld5Hx67Qw0v_jHYoZ6JYpgEJWvvoUfbA9cWrEmtz1ewztk-L9wfuPVYNBq0i8yLssvz8aFrV0giFy3_EotL3E-HeOBVNoqI0hI08X-EOW09FdUrShuA8FvsITU6klDi32etY3Q61bjDR7a2GOlQGZZ1I8LgpqjnRXpWF7xnI5nw9_SdRl9KgERwU8f0trzywlnZdbF0t7vRcDGQU97d3_IcyFvFuaL6NGgMcxk775AcuuLEg8XNcyrq6aNQBARvm4PIoerqQMEM7trIDXBBFoXcx9E0Bef3W7Ku_aXtC5VDqXCcWzorI=w1259-h497-no


Bạn để ý rằng giá trị tìm kiếm kyo sử dụng trực tiếp phép nối & để tạo thành giá trị tìm kiếm mới luôn.

Khá dễ phải không?

Cách 2: Không dùng cột phụ, dùng hàm CHOOSE và hàm mảng

Nếu bạn đã biết hàm CHOOSE và thậm chí đã từng thực hành nó với bài VLOOKUP từ phải qua trái của GPE đã từng đăng trước đây, bạn sẽ hiểu công dụng của hàm CHOOSE trong trường hợp này là thế nào.

Bạn hãy dùng công thức sau: {=VLOOKUP(B16&C16,CHOOSE({1,2},B2:B9&E2:E9,F2:F9),2,FALSE)}

h7LTm6iaB1ldvzTGT3UdFzvxPWNmEaj1Kbi5puYmhHjgngBT4JMr_W-sp2YbLNgwOfYWgYlSojvsidQ8AVqlNqzGOIPEJv8izeptEN4h_jOdRObw7aN-9ZG8_xRQMCAsY9k2No67dDKq1v9Veu47szQoZsPOybQdpT7AX4Fxwvw0Ps8nFPCYjpkctcuAouER7xob53mZG-5UE91tS2iaVg3K5x-J8WHFIo12-Qpq_fzibTCny5iBS9AAIpQNS5XTaMRYHA-_IACDQGfV-wHIeG4v3otuxcjkhMQCUAbEgxEJFGWRHcpNnskpeOVndBzHXXCEhlznHi1d0yY2rHmqX-4xmF1w-y6XizTknPGlc9WP0E0Z3R1MkTJgb_hgyv90kCSCnYUlunM08eLJA1_vOw8UnX9liS5fQ5fPblH6lHmBwytGcHoo-OrJueKFspXP9U18LgW3iKEWbJhOYlwT3scy5rWu91UhOEeUbJzXxMGMn9fcrE7FdWZl0vmtF5dP_JX5jHbtfnkuqq76ri5XI1MqWg2d-gAjdGeUFXYoaJ1uFa8T7k5XpvmULYGitYZp9YbHdxjcAAGCmRU8eCzl8zp8d8VTy3QvcDhxn1c7Ufbz5lPAEnJ3=w1157-h503-no


Giải nghĩa của công thức này chính là, đầu tiên kyo lợi dụng hàm CHOOSE để thiết kế lại 1 bảng gồm 2 cột mới để VLOOKUP (không dùng bảng cũ nữa) với cột 1 là sự kết hợp giữa hai cột B và E và cột 2 là cột giá trị F. Tuy nhiên, vì chúng ta có kết hợp 2 cột với nhau nên nó đã trở thành hàm mảng, vì thế cần phải sử dụng Ctrl + Shift + Enter. Trong trường hợp bạn không biết hàm mảng, bạn có thể đọc thêm bài viết này.

Như vậy, bằng cách sử dụng hàm CHOOSE, chúng ta sẽ không cần phải tốn thêm một cột phụ nữa. Tuy nhiên, nhược điểm của cách này chính là hàm của bạn sẽ phức tạp hơn. Dù vậy, nếu bạn biết cách sử dụng hàm thì nó cũng không khó, phải không?

Chúc bạn thành công.

Một số bài viết có liên quan:
1/ Dùng hàm REPT tạo biểu đồ % ngay trong cell
2/ Tổng hợp hàm mảng
3/ Những cách tính ra ngày đầu tháng
4/ Một cách khác VLOOKUP từ phải sang trái đơn giản hơn
5/ 5 lỗi phổ biến khi dùng VLOOKUP và cách khắc phục
6/ Hãy cẩn thận với IFERROR
7/ VLOOKUP với các ký tự đặc biệt
8/ Một cách VLOOKUP từ phải qua trái
9/ Cẩn thận với mặc định của VLOOKUP
10/ Kết hợp các chữ ở nhiều ô thành 1 dòng chỉ trong tíc tắc
 
Lần chỉnh sửa cuối:
Upvote 0
Chào bạn Kyo
Mã HU có bắt buộc là duy nhất hay không ? Giả sử 1 C- code có 2 hoặc nhiều hơn 2 HU thì sao, có tính tổng được hay không ?
Xin cảm ơn !
 
Chào bạn Kyo
Mã HU có bắt buộc là duy nhất hay không ? Giả sử 1 C- code có 2 hoặc nhiều hơn 2 HU thì sao, có tính tổng được hay không ?
Xin cảm ơn !

Theo mình thấy, mã HU có thể không duy nhất. Nhưng khi kết hợp C-Code&HU thì mã này phải duy nhất.
 
Chào bạn Kyo
Mã HU có bắt buộc là duy nhất hay không ? Giả sử 1 C- code có 2 hoặc nhiều hơn 2 HU thì sao, có tính tổng được hay không ?
Xin cảm ơn !
Nếu để tính tổng bạn nên dùng Sumifs, Vlookup chỉ tìm giá trị đầu tiên trong vùng dữ liệu, tương ứng với điều kiện tìm thôi.
 
Cám ơn bạn, thông qua bài này mà mình biết cách dùng CHOOSE với công thức mảng,
Song với ô D15 mình có thể dùng công thức SUMIFS vì yêu cầu của bạn là 2 điều kiện đó phải tạo thành 1 mã duy nhất nên mình có thể dùng SUMIFS để cộng giá trị tổng bằng 2 điều kiện.
Và tương tự, 1 cách nữa là dùng công thức mảng với SUM và IF cho ô D16
D15 gõ =SUMIFS(F2:F9,B2:B9,B15,E2:E9,C15)
D16 gõ {=SUM(IF((B2:B9=B16)*(E2:E9=C16),F2:F9))}
:-=
 
Mình chưa hiểu chỗ này CHOOSE({1,2}.
Các bác chỉ giúp em với!!!

Về làm thử không thể nào ra được :((

 

File đính kèm

  • 2016-07-29_14-37-30.jpg
    2016-07-29_14-37-30.jpg
    15.5 KB · Đọc: 18
Lần chỉnh sửa cuối:
Mình chưa hiểu chỗ này CHOOSE({1,2}.
Các bác chỉ giúp em với!!!

Về làm thử không thể nào ra được :((


Nếu bạn xài dấu ; thay vì dấu , thì trong công thức CHOOSE, chỗ { } bạn nên viết là {1\2} thay vì {1,2} nhé
 
Web KT
Back
Top Bottom