Hàm VLOOKUP() dò tìm 1 giá trị trong 1 cột nào đó trong excel

Ngược với hàm HLOOKUP() thì hàm VLOOKUP() dùng để tìm kiếm một giá trị a nào đó của một cột k (column k) nào đó, tính từ hàng/dòng thứ n (row n)  đến hàng/dòng thứ m (row m)  (trong đó n < m). Hàm VLOOKUP() rất có ích và được sử dụng rất phổ biến, rộng rãi.

Cú pháp:

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

Trong đó:

  • lookup_value: giá trị cần dò tìm
  • table_array: một vùng để dò tìm lookup_value, cột đầu tiên trong table_array sẽ dùng để dò tìm giá trị lookup_value, table_array có thể cùng sheet hoặc khác sheet với lookup_value, đồng thời table_array có thể cùng file hoặc khác file với lookup_value.
  • col_index_num: dùng để chỉ định thứ tự cột trong table_array để trả về giá trị tương ứng, nếu tìm thấy, cột đầu tiên được tính là 1
  • range_lookup: có hay không vẫn được, thông người người ta dùng 3 tham số đầu tiên là đủ. Chú ý: những tham số được để trong dấu ngoặc vuông [] thì có hay không vẫn không sao (có thể bỏ qua). range_lookup có 2 giá trị như bên dưới:
    • TRUE: những giá trị trong cột đầu tiên của table_array phải được sắp xếp theo thứ tự tăng dần.
    • FALSE: VLOOKUP sẽ chỉ tìm những giá trị trùng khớp nhau hoàn toàn

Chú ý, nếu bạn bỏ không dùng giá trị range_lookup, hoặc được thiết lập TRUE thì cột đầu tiên của của table_array phải được sắp xếp theo thứ tự tăng, nếu không thì hàm VLOOKUP của bạn sẽ chạy không đúng.

Ví dụ:

Giả giử bạn có 2 sheet có tên lần lượt là “Sheet1” và “Sheet2”, chứa dữ liệu bên dưới:

Sheet1:

A B C D
1 MCC Họ tên Năm sinh Giới tính
2 00001 Nguyễn Khánh Hưng 1984 Nam
3 00002 Đoàn Thanh Thúy 1983 Nữ
4 00003 Trần Xuân Vũ 1986 Nam
5 00004 Đoàn Văn Đảm 1986 Nữ

Sheet2:

A B C D
1 MCC Nguyên quán Học Vấn Năm sinh
2 00001 Hồ Chí Minh Đại học
3 00002 Tiền Giang Đại học
4 00003 Đồng Tháp Đại học
5 00004 Tiền Giang Cao Đẳng

Giá trị cột “Năm sinh” của Sheet2 được lấy từ Sheet1 thông qua hàm VLOOKUP và giá trị dò tìm & cột dò tìm là cột MCC (mã chấm công) của 2 sheet.

Hàm VLOOKUP được đặt ở cột “Năm sinh” của Sheet2 như sau:

Dòng 2 –> 5 lần lược như sau:

=VLOOKUP(A2,Sheet1!A2:C5,3)

=VLOOKUP(A3,Sheet1!A2:C5,3)

=VLOOKUP(A4,Sheet1!A2:C5,3)

=VLOOKUP(A5,Sheet1!A2:C5,3)

Kết quả trả về của Sheet2 như bên dưới

A B C D
1 MCC Nguyên quán Học Vấn Năm sinh
2 00001 Hồ Chí Minh Đại học 1984
3 00002 Tiền Giang Đại học 1983
4 00003 Đồng Tháp Đại học 1986
5 00004 Tiền Giang Cao Đẳng 1986

Giải thích:

Công thức dòng 2:

=VLOOKUP(A2,Sheet1!A2:C5,3)

Dò tìm giá trị A2 (00001) của Sheet 2, trong vùng chọn từ A2 đến A5 (từ 00001 đến 00005) của Sheet1, nếu tìm thấy thì trả về giá trị năm sinh tức cột thứ 3, tức cột “Năm sinh” (thứ tự dòng/hàng tương ứng với dòng/hàng có mã 00001 được tìm thấy)

Tương tự cho các dòng còn lại, từ 3 đến 5.

Chúc các  bạn thành công!


49 comments

  1. cách giải thích hay và dễ hiểu lắm ạ.cám ơn nhiều nhá!

  2. Trong trường hợp thứ tự của MCC trong sheet 1 và sheet 2 khác nhau, dùng hàm gì để tìm giá trị mình cần tìm? mình thử thay đổi thứ tự MCC của 2 sheet, áp dụng hàm vlookup thì kết quả hoàn toàn sai.

    1. Góc Kinh Nghiệm chào bạn Xuân! :)
      Hàm VLOOKUP() không phân biệt thứ tự của MCC ở sheet1 và sheet2 đâu bạn, bạn thử kiểm kỹ lại một lần nữa hàm của bạn viết xem sao!

      1. + Nếu Range_lookup=1 (true): Cột đầu tiên của table_array phải được sắp xếp theo thứ tự tăng dần (… -2, -1, 0, 1, 2 hoặc A, B, …Z hoặc False, True), ngược lại có thể hàm Vlookup sẽ cho giá trị không đúng.Nếu không chỉ định range_lookup thì mặc nhiên là 1 hay true.
        + Nếu range_lookup=0 (false): Cột đầu tiên trong table_array không cần sắp xếp theo thứ tự nào cả
        Trong trường hợp của bạn,Range_lookup bạn nhập = 0 sẽ cho ra kết quả.

      2. ban cho mình ví dụ về hai sheet khac nhau được không vây minh lam các sheel khác nhau mà có sheel được sheel không đó mình khonh biets sao nua. cám on ban nha

  3. toi co may mo ham vlookup, nhung ket qua khong ra nhu y muon, anh/chi co the check giup toi duoc khong. cac o^ toi can tinh toan duoc to mau do.
    Y tuong la chi can go~ ten 1 nguoi, se ra so tien nguoi do duoc li~nh.
    Nhung so tien linh ra duco lai sai, cac anh co the lam giup duoc khong?
    http://www.mediafire.com/?9ir38cfuf4fl466
    Xin chan thanh cam on

    1. Chào bạn @tetekh
      Bạn thêm đối số FALSE vào cuối cùng của công thức như bên dưới, kết quả sẽ như bạn mong muốn

      =VLOOKUP(H4,$K$10:$R$86,I4,FALSE)

      1. Tôi link dữ liệu bằng lệnh vlookup, ở hai sheet khác nhau, nhưng khi tôi sum kết quả lại bị lệch, xin hỏi tôi phải khắc phục bằng cách nào?

  4. Mình có trong tay 400 KH mình đang quản lý
    Tổng số KH của cty mình 1500
    Vấn đề mình cần hỏi là :
    có cách nào sắp xếp Tổng số KH của cty tương ứng với KH mình đang quản lý ko ?( cùng dòng )
    nếu ko thì có cách nào để xem công nợ của KH mình quản lý thông qua tổng số KH của cty mình ko

    http://www.mediafire.com/?0tvuvfmc6z5x4v0

    Mail ratladeptraj@yahoo.com
    mình chờ reply của bạn >”<

  5. cam on phan huong dan rat chi tiet cua ban! minh se ghe tham thuong xuyen blog cua ban de hoc hoi them kinh nghiem! :d

  6. Ví dụ như mình tìm theo mã số nhân viên để lấy cột quà tặng, mà 1 nhân viên có thể nhận nhiều quà tặng thì sao? mình truy xuất hoài mà chỉ toàn lấy được món quà đầu tiên không hà…
    MSNV Ngaysinh Queqan Quatang …….. Ghichu
    00125 ………… ………. Áo mưa ……..
    00125 ………… ……….. Máy ST ……..
    00126 ……….. ……….. Cafe ……..
    00127 ……….. ……….. Bánh ngọt ……..

    Kết quả:
    MSNV Tên NV Bộ phận Quatang …….. Ghichu
    00125 ………… ………. Áo mưa ……..
    00125 ………… ……….. Áo mưa ……..
    00126 ……….. ……….. Cafe
    00127 ……….. ……….. Bánh ngọt ……..

    Có ai biết chỉ mình với nha!!!

  7. Chào bạn, mình có 1 vấn đề nhờ bạn giúp đỡ. Mình đang làm bảng số liệu nhưng số thứ tự các cột không theo thứ tự, ví dụ:
    TT Kí hiệu 1 Ngày sử dụng Giờ sử dụng Xu hướng
    56 THTL1004 1 1 120 2
    57 THTL10392 1 1 120 2
    58 THTL10398 1
    59 THTL10394 1 1 90 2

    nếu mình muốn chuyển kí hiệu theo thứ tự từ nhỏ tới lớn (THTL1004 -> THTL10398) mà các cột còn lại cũng đi theo thì sử dụng hàm như thế nào?! Rất mong nhận được sự giúp đỡ của bạn. Cảm ơn rất nhiều!

    1. Giả sử dữ liệu bạn đưa từ A1:F4, và cột bạn cần chuyển là cột B. Giả sử bạn đang dùng MS Excel 2007, bạn làm như sau:
      – Quét khối từ ô A1:F4
      – Trên thanh menu chọn menu tên ‘Data’ -> bạn nhìn ở khoản giữa có biểu tượng để chữ sort có các ký tự A và Z, bạn nhấn vào đó thì xuất hiện hộp thoại
      – Bạn chọn các giá trị: sort by là cột B, Order là A to Z

  8. Bạn ơi có hàm nào mà mình có thể tìm kiếm giá trị của ô thứ 4 khi thỏa mãn điều kiện của 3 ô trước đó không ?

  9. Ban co the ket hop ham If & VLOOKUP

    =if((A1=B1 and A2=B2 and A3=B3), Vlookup(,,,,))

  10. tôi kg thể gõ được giữ liệu vào bảng tính như ví dụ trên, tôi đánh lại 2 bản như ví dụ mẫu, đưa hàm VLOOKUP và cột D của sheet 2 để làm theo như hướng dẫn nhưng kg ra kết quả, giúp tôi với

    1. Bạn kiểm tra lại xem, cột A có phải là kiểu text không? và cột D có phải là kiểu general không!

  11. Cho em hỏi có một số hàm như thế này vlookup(left(B4,1)…), hay vlook(right(B4,1)…), hoặc vlookup(left(B4,1)&right(B4,2)….). Khi nào mới dùng left , khi nào dùng right hoặc khi nào dùng cả hai vậy?

    1. Hàm left() dùng để lấy tổng số ký tự tính từ bên trái qua phải
      Ngược lại, hàm right() dùng để lấy tổng số ký tự tính từ bên phải qua trái

      Ví dụ bạn có chuỗi “Góc Kinh Nghiệm” ở ô A1

      =LEFT(A1,3)
      Kết quả là “Góc” (lấy 3 ký tự trong ô A1 từ vị trí bên trái)

      =RIGHT(A1,6)
      Kết quả là “Nghiệm” (lấy 6 ký tự trong ô A1 từ bên phải)

  12. Than chao Goc kinh nghiem,
    Toi co vai van de ve Excel muon nho GKN tu van giup. Toi co 1 bang tinh voi rat nhieu dong va cot. Trong do co 1 cot la ngay-thang-nam. Cot nay quyet dinh den cach phan bo so lieu cua cac cot khac. Toi muon tinh tong cua mot so khac ma co nam la 2010 va toi da dung ham sumif nhung phan criteria khong cho phep long ham right vao. Xin hoi Goc kinh nghiem co cach nao giup toi khong?
    Xin cam on.

    Bao Ha

    1. Bước 1: insert một cột mới bên cạnh cột ngay-thang-nam.
      Bước 2: ở cột vừa insert ở bước 1 -> dùng hàm year() để lấy năm ra, khi đó bạn sẽ được một danh sách các năm như sau
      2010
      2011
      1903
      ……

      Bạn dễ dàng dùng hàm sumif() với criteria của cột ở bước 2 (bạn không cần dùng hàm right())

  13. EM TINH LUONG THEO NGAY TU NGAY 27 TANG MOI NGAY 5 NGAN 28 TANG 10 NGAN VA CU THE DEN NGAY 31 EM DUNG HAM NAO CHO NHANH GON

  14. Mình đang có một số vấn đề cần bạn giúp đỡ. Mình đang muốn tìm tổng số tiền lương của một người trong rất nhiều tổ đội thi công. Vậy bây giờ mình phải làm thế nào. Tìm hoài mà nó cứ báo lỗi giá trị hoặc là lỗi. Bạn bày cho mình cách tìm với

  15. Than chao goc kinh nghiem
    Toi co 1 bang danh sach
    Sheet1
    Bien lai. Ho ten. Lop. Tien. Gv
    0001. Nguyen. 11. 100. Anh
    0002. Thuy. 12. 59. Tam
    0003. Thanh. 11. 67. Tuan
    0004. Ha. 10. 55. Tam

    Ban giup gium minh lam sao lien ket voi sheet2 de trong sheet2 lọc ra nhung hoc sinh dong tien cho giao vien nao. Co nghia la ben sheet2 cot gv se chi co ten 1 gv
    Vd:
    Bien lai. Ho ten. Lop. Tien. Gv
    0002. Thuy. 12. 59. Tam
    0004. Ha. 10. 55. Tam

    Gap lam. Ban giup gium minh vi danh sach toi hon 500, ma ngoi kiem tung hoc sinh nao dong cho gv nao chac chet wa, ban lam on gui wa email cho minh dc khong, hoaanhtuc81@yahoo.com.
    Thankssssss

  16. to vua moi biet cavh tinh vlookup.thay rat thu vi.hi(có 2 lúa hok các bạn)

  17. Bạn ơi cho tớ hỏi tớ có 1 file A gồm 1000 kh thân thiết, 1 file B gồm 200 kh thân thiết đã được tặng quà bây giờ tớ muốn trên file A hiển thị những kh nào có quà rồi thì sẽ được hiển thị ra thì làm thế nào, bạn giúp tớ với

    1. :) hàm vlookup() hoàn toàn giải quyết được vấn đề của bạn. Với dữ liệu bạn mô tả trên mình hoàn toàn hiểu ý bạn, nhưng không thể đưa công thức cụ thể cho bạn được. Ví dụ, bạn muốn đánh dấu x ở cột bên cạnh cột ‘Tên khách hàng’ trong file A, hay bạn muốn hiển thị bất cứ giá trị gì bạn muốn…

  18. may ban lam giup minh cai nay voi:
    Ngày …….
    Stt ten hang SL Thục thu
    1 cá 1 5262
    2 khô 2 5464
    3 tôm 3 2131
    sử dụng hàm Vlookup dựa vào ngày…. làm sao để ra theo thứ tự 1 2 3 ở ? dưới đây được cần thêm yếu tố nào, cám ơn mấy bạn trước.
    Ngày …….
    Stt ten hang SL Thục thu
    1 ? 1 5262
    2 ? 2 5464
    3 ? 3 2131

  19. Mình đang làm trang tính thuế thu nhập cá nhân, Mình dùng hàm Vlookup, đúng theo trình tự xong có tháng trả về đúng giá trị, có tháng trả giá trị #N/A, Mình vẫn ko hiều là nguyên nhân nằm ở đâu, bạn đã gặp tình trạng giống mình thì chia sẻ kinh nghiệm cho mình với. Thân !

    1. Bạn kiểm tra thử xem giá trị bạn đang Vlookup có tồn tại không? hoặc là bạn mang giá trị đó đi tính toán mà giá trị đó không hợp lệ, …

  20. Bạn cho mình hỏi cách cố định một bảng khi mình dùng hàm, mình tự học thấy các bài viết $B$5:$C$9 chẳng hạn, phím tắt để có được kí hiệu như trên là gi. Thanhks

  21. Mình cần lập công thức dò tìm từ hai điều kiện trở lên nhưng không biết loay hoay mãi mà chỉ lấy được 1 điều kiện thôi, nhờ bạn tư vấn giúp mình với. Thanks.

  22. chào mọi người
    mình không biết gửi bài thế nào nên cho mình ké chủ đề này nha
    mình có bài tập excel mình mới làm được một phần mong mọi người giúp đỡ

    thanks

    NGÀY NHÂN VIÊN CỬA HÀNG SẢN PHẨM TIỀN THƯỞNG
    20/08/1998 HƯƠNG SỐ 1 KẸO 200 4
    03/09/1998 NGA SỐ 2 KẸO 200 4
    29/08/1998 LAN SỐ 1 BÁNH 100 0
    04/09/1998 VÂN SỐ 2 BÁNH 350 17.5
    30/08/1998 CHI SỐ 1 BÁNH 400 20
    30/08/1998 NGA SỐ 2 MỨT 150 1.5
    30/08/1998 VÂN SỐ 2 KẸO 250 5
    03/09/1998 CHI SỐ 1 BÁNH 300 15
    03/09/1998 LAN SỐ 1 KẸO 450 22.5
    03/09/1998 CHI SỐ 1 MỨT 150 1.5

    dùng công thưc điền vào bảng sau:
    CỬA HÀNG THƯỞNG THÁNG 8 THƯỞNG THÁNG 9
    SỐ 1
    SỐ 2

    LOẠI HÀNG TIỀN THÁNG 8 TIỀN THÁNG 9
    BÁNH
    MỨT
    KẸO

    mình không biết gửi file đính kèm thế nào nữa
    mọi người giúp mình nha

    1. chào Trang
      bạn thêm 1 cột tháng để dể làm công thức:
      – ví dụ thức tự của các ô như bên dưới (bắt đầu từ C6 đến I17)
      – công thức ở cột tháng : =month(D7)

      C D E F G H I
      THÁNG NGÀY NHÂN VIÊN CỬA HÀNG SẢN PHẨM TIỀN THƯỞNG
      8 20/08/1998 HƯƠNG SỐ 1 KẸO 200 4
      9 03/09/1998 NGA SỐ 2 KẸO 200 4
      8 29/08/1998 LAN SỐ 1 BÁNH 100 0
      9 04/09/1998 VÂN SỐ 2 BÁNH 350 17.5
      8 30/08/1998 CHI SỐ 1 BÁNH 400 20
      8 30/08/1998 NGA SỐ 2 MỨT 150 1.5
      8 30/08/1998 VÂN SỐ 2 KẸO 250 5
      9 03/09/1998 CHI SỐ 1 BÁNH 300 15
      9 03/09/1998 LAN SỐ 1 KẸO 450 22.5
      9 03/09/1998 CHI SỐ 1 MỨT 150 1.5
      tổng cộng 2550 91

      bắt đầu từ ô D19 đến G22
      D E F G
      CỬA HÀNG THƯỞNG THẮNG 8 THƯỞNG THẮNG 9 tổng
      SỐ 1 24.00 39.00 63.00
      SỐ 2 6.50 21.50 28.00
      tổng 30.50 60.50 91.00

      – công thức tính thưởng tháng 8 của cửa hàng SỐ 1:
      =SUMPRODUCT(($C$7:$C$16=8)*($F$7:$F$16=D20)*($I$7:$I$16))
      – công thức tính thưởng tháng 8 của cửa hàng SỐ 2:
      =SUMPRODUCT(($C$7:$C$16=8)*($F$7:$F$16=D21)*($I$7:$I$16))
      – công thức tính thưởng tháng 9 của cửa hàng SỐ 1:
      =SUMPRODUCT(($C$7:$C$16=9)*($F$7:$F$16=D20)*($I$7:$I$16))
      – công thức tính thưởng tháng 9 của cửa hàng SỐ 2:
      =SUMPRODUCT(($C$7:$C$16=9)*($F$7:$F$16=D21)*($I$7:$I$16))

      bắt đầu từ ô D24 đến G28
      D E F G
      LOẠI HÀNG TIỀN THẮNG 8 TIỀN THẮNG 9 tổng
      BÁNH 500.00 650.00 1,150.00
      MỨT 150.00 150.00 300.00
      KẸO 450.00 650.00 1,100.00
      tổng 1,100.00 1,450.00 2,550.00

      – công thức tính tiền tháng 8 của BÁNH:
      =SUMPRODUCT(($C$7:$C$16=8)*($G$7:$G$16=D25)*($H$7:$H$16))
      – công thức tính tiền tháng 8 của MỨT:
      =SUMPRODUCT(($C$7:$C$16=8)*($G$7:$G$16=D26)*($H$7:$H$16))
      – công thức tính tiền tháng 8 của KẸO:
      =SUMPRODUCT(($C$7:$C$16=8)*($G$7:$G$16=D27)*($H$7:$H$16))
      – công thức tính tiền tháng 9 của BÁNH:
      =SUMPRODUCT(($C$7:$C$16=9)*($G$7:$G$16=D25)*($H$7:$H$16))
      – công thức tính tiền tháng 9 của MỨT:
      =SUMPRODUCT(($C$7:$C$16=9)*($G$7:$G$16=D26)*($H$7:$H$16))
      – công thức tính tiền tháng 9 của KẸO:
      =SUMPRODUCT(($C$7:$C$16=9)*($G$7:$G$16=D27)*($H$7:$H$16))

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

Comments are closed.