Cách kết hợp hàm IF và VLOOKUP trong Excel qua ví dụ cụ thể

Nội dung được viết bởi Linh Mai

Hàm IFhàm VLOOKUP là 2 hàm cơ bản, quan trọng và có nhiều công dụng trong quá trình học Excel. Vậy nếu chúng ta kết hợp hàm IF và VLOOKUP với nhau thì sẽ được kết quả gì? Hãy cùng chúng mình tìm hiểu qua các ví dụ cụ thể dưới đây nhé.

4 ví dụ về hàm IF kết hợp VLOOKUP

Như các bạn đã biết, hàm IF là hàm điều kiện còn hàm VLOOKUP là hàm dò tìm của Excel. Khi dùng hàm IF kết hợp VLOOKUP thì chúng ta có thể tìm kiếm theo điều kiện tùy chọn. Điều này sẽ giúp việc tìm kiếm trở nên đơn giản và hiệu quả hơn.

Công thức chung khi chúng ta dùng VLOOKUP kết hợp IF sẽ có dạng như sau:

IF (VLOOKUP (…) = sample_value , TRUE, FALSE)

Kết quả trả về sẽ có dạng True/False. Trong đó True là kết quả tìm kiếm thỏa mãn điều kiện, còn False là không thỏa mãn điều kiện. Những trường hợp thực tế khi hàm IF kết hợp VLOOKUP thì các bạn xem trong ví dụ dưới đây:

Ví dụ 1: So sánh kết quả VLOOKUP với một giá trị cụ thể

Giả sử chúng ta có một bảng dữ liệu như sau:

Trong cột A chúng ta có tên các mặt hàng, trong cột B thì có số lượng hàng đang có. Bây giờ yêu cầu đặt ra là kiểm tra số lượng hàng tồn kho của từng loại. Nếu còn hàng thì là Yes, còn hết hàng thì No. Kết quả cần được điền vào cột E.

bài tập hàm vlookup kết hợp hàm if
Bài tập hàm vlookup kết hợp hàm if

Khi đó chúng ta sẽ có công thức tìm kiếm theo điều kiện như sau:

=IF(VLOOKUP(E1,$A$2:$B$10,2,FALSE)=0,"Không","Có")

Giải thích công thức: 

VLOOKUP(E1,$A$2:$B$10,2,FALSE):

  • Hàm VLOOKUP tìm kiếm giá trị trong ô E1 trong phạm vi dữ liệu từ cột A2 đến B10.
  • ($A$2:$B$10) là phạm vi dữ liệu mà bạn muốn tìm kiếm.
  • (2) chỉ định cột trong phạm vi dữ liệu mà bạn muốn trả về kết quả tương ứng (ở đây 2 tương ứng với cột B).
  • (FALSE) đảm bảo tìm kiếm chính xác (không sử dụng tìm kiếm xấp xỉ).

=0,"Không","Có":

  • Sau khi hàm VLOOKUP tìm kiếm xong, nếu kết quả trả về bằng 0 (không tìm thấy giá trị), công thức trả về chuỗi "Không".
  • Nếu kết quả khác 0 (tìm thấy giá trị), công thức trả về chuỗi "Có".

Kết quả thu được sẽ như sau:

Sử dụng hàm vlookup có điều kiện IF
Sử dụng hàm vlookup có điều kiện IF

Ngoài cách đặt công thức trả về kết quả là Có/Không thì chúng ta có thể thay đổi thành Đúng/Sai hoặc Hết hàng/Tồn kho đều được. Công thức cụ thể như sau:

=IF(VLOOKUP(E1,$A$2:$B$10,2)=0,"Hết hàng","Tồn kho")
hoặc
=IF(VLOOKUP(E1,$A$2:$B$10,2)=0,"Sai","Đúng")

Để hiểu và nắm được các cách sử dụng hàm trong Excel từ cơ bản đến nâng cao, bạn có thể đăng ký học Excel online với khóa sau tại Gitiho:

Ví dụ 2: So sánh kết quả VLOOKUP với một ô khác

Chúng ta có thể dùng hàm IF kết hợp VLOOKUP để so sánh kết quả tìm kiếm của hàm VLOOKUP với một giá trị ô khác. Chẳng hạn, chúng ta có thể kiểm tra giá trị tìm được với con số nằm ở ô G2 như sau:

Cách kết hợp hàm vlookup if
Cách kết hợp hàm vlookup if

Công thức cụ thể là:

=IF(VLOOKUP(E1,$A$2:$B$10,2,FALSE)>=G2,"Có","Không")

Giải thích công thức:

VLOOKUP(E1,$A$2:$B$10,2,FALSE)

Hàm VLOOKUP tìm kiếm giá trị trong ô E1 chính xác trong phạm vi dữ liệu từ cột A2 đến B10.

>=G2,"Có","Không":

  • Sau khi hàm VLOOKUP tìm kiếm xong, nếu kết quả trả về lớn hơn hoặc bằng giá trị trong ô G2, công thức trả về chuỗi "".
  • Nếu kết quả nhỏ hơn giá trị trong ô G2, công thức trả về chuỗi "Không".

Ví dụ 3: Các giá trị VLOOKUP trong danh sách ngắn hơn

Nếu muốn so sánh từng ô trong cột mục tiêu với danh sách khác thì chúng ta dùng công thức IF ISNA VLOOKUP. Trong đó, chúng ta sẽ đặt điều kiện là kết quả phù hợp được trả về là Đúng hoặc , ngược lại thì là Sai hoặc Không.

hàm if vlookup để tạo danh sách tra cứu
hàm if vlookup và ISNA để tạo danh sách tra cứu

Công thức cụ thể như sau:

=IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)),"Không","Có")

Giải thích công thức:

Đây là một hàm IF sử dụng hàm ISNA và hàm VLOOKUP để thực hiện kiểm tra dựa trên kết quả tìm kiếm.

VLOOKUP(A2,$D$2:$D$4,1,FALSE):

  • Hàm VLOOKUP tìm kiếm giá trị trong ô A2 chính xác trong phạm vi dữ liệu từ cột D2 đến D4.

ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)):

  • Hàm ISNA kiểm tra xem kết quả trả về từ hàm VLOOKUP có phải là lỗi “#N/A” không?
  • Nếu kết quả trả về là lỗi "#N/A" của hàm VLOOKUP, hàm ISNA trả về TRUE. Ngược lại, nếu không có lỗi, hàm ISNA trả về FALSE.

,"Không","Có":

  • Sau khi kiểm tra bằng hàm ISNA và hàm VLOOKUP, nếu kết quả là TRUE (có lỗi), công thức trả về chuỗi "Không".
  • Nếu kết quả là FALSE (không có lỗi), công thức trả về chuỗi "".

Nếu công việc của bạn yêu cầu kiểm tra xem trong bảng có những sản phẩm nào còn tồn kho khi so sánh với danh sách đã hết hàng thì công thức của chúng ta sẽ có dạng như sau:

=IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)),"Có","Không")
hàm if kết hợp vlookup và ISNA
hàm if kết hợp vlookup và ISNA

Xem thêm: Cách dùng hàm IF ELSE trong VBA Excel tự động kiểm tra điều kiện

Ví dụ 4: Hàm IF kết hợp VLOOKUP để thực hiện các phép tính khác nhau

Chúng ta có thể dùng hàm IF kết hợp VLOOKUP để thực hiện các phép tính khác nhau theo tiêu chí mà chúng ta đặt ra.

Ví dụ: Công ty có một đội ngũ bán hàng được thưởng hoa hồng theo hiệu quả kinh doanh. Trong đó, người có doanh số từ 200$ sẽ nhận được 20% hoa hồng, còn người những người khác nhận 10%. Lúc này, điều kiện mà chúng ta cần đặt ra cho hàm VLOOKUP sẽ là: Tìm các giá trị lớn hơn hoặc bằng 200$, nếu có thì nhân nó với 20%, nếu không thì nhân với 10%.

Như vậy, chúng ta cần viết 3 hàm VLOOKUP lồng nhau rồi đặt hàm IF ở ngoài cùng thành công thức có dạng như sau:

=IF(VLOOKUP(F1,$A$2:$C$10,3,FALSE)>=200,VLOOKUP(F1,$A$2:$C$10,3,FALSE)*20%,VLOOKUP(F1,$A$2:$C$10,3,FALSE)*10%)

Trong đó A2:C10 là vùng dữ liệu chứ tên người bán, còn C2:C10 là doanh số bán hàng của từng người.

hàm vlookup kết hợp hàm if nhiều điều kiện
hàm vlookup kết hợp hàm if nhiều điều kiện

Công thức IF ISNA VLOOKUP và IFNA VLOOKUP

Cách ẩn lỗi #N/A bằng công thức IF ISNA VLOOKUP 

Có thể bạn chưa biết khi Excel hiện lỗi #N/A thì không hẳn là công thức của bạn sai. Nếu VLOOKUP không tìm thấy một giá trị được chỉ định thì cũng sẽ hiện lỗi #N/A. Để ẩn lỗi này đi và thay nó thành văn bản riêng thì chúng ta có thể dùng hàm IF kết hợp VLOOKUP, và hàm ISNA theo công thức như sau:

IF (ISNA (VLOOKUP (…)), “Not found”, VLOOKUP (…))

Lưu ý: Phần “Not found” có thể được thay thế bằng bất kỳ văn bản nào khác mà bạn thấy phù hợp để thông báo về việc không tìm thấy một giá trị.

Ví dụ: Chúng ta có bảng chứa thông gồm tên người bán, doanh thu bán hàng. Yêu cầu đặt ra là tìm ra số tiền tương ứng với tên người bán nhập vào F1. Vậy công thức cụ thể của chúng ta sẽ là:

=IF(ISNA(VLOOKUP(F1,$A$2:$C$10,3,FALSE)),"Notfound",VLOOKUP(F1,$A$2:$C$10,3,FALSE))
ẩn lỗi #N/A bằng công thức IF ISNA VLOOKUP
ẩn lỗi #N/A bằng công thức IF ISNA VLOOKUP

Khi đó, nếu tên được nhập vào F1 có nằm trong bảng dữ liệu bên trái thì số tiền chính xác cũng sẽ hiện ra. Nếu tên được nhập vào ô F1 không thuộc bảng bên trái thì sẽ có thông báo Not found (nghĩa là: Không tìm thấy) thay vì lỗi #N/A:

hàm if kết hợp vlookup và ISNA để ẩn lỗi #NA
hàm if kết hợp vlookup và ISNA để ẩn lỗi #NA

Chú ý: Cũng là trường hợp nêu trên nhưng trong các phiên bản Excel mới (2013, 2016, 2019, Office 365) thì bạn sẽ có thêm một hàm khác để kiểm tra logic và ẩn lỗi #N/AIFNA. Hàm này sẽ có dạng thức cơ bản như sau:

IFNA (VLOOKUP (…),"NOT FOUND")

Áp dụng cụ thể vào trường hợp này thì công thức hàm sẽ là:

=IFNA(VLOOKUP(F1,$A$2:$C$10,3, FALSE),"Not found")

Nếu bạn muốn tìm thấy tất cả các lỗi thì chúng ta có thể kết hợp hàm VLOOKUP với hàm IFERROR nhé.

Công thức đặt điều kiện nếu không tìm thấy trả về 0

Nếu bạn muốn đặt điều kiện là không tìm thấy kết quả thì trả về 0 thì chúng ta vẫn sẽ dùng hàm IF kết hợp VLOOKUP, và ISNA theo công thức như sau:

IF (ISNA (VLOOKUP (…)), 0, VLOOKUP (…))

Trong đó, phần value_if_true chúng ta sẽ điền số 0 thay vì một đoạn văn bản.

Áp dụng vào bảng dữ liệu nêu trên thì công thức cụ thể là:

=IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)),0, VLOOKUP(F2,$A$2:$C$10,3,FALSE))

Công thức khác có thể dùng để thay thế nếu bạn đang sử dụng Excel từ bản 2013 trở lên là:

=IFNA(VLOOKUP(I2,$A$2:$C$10,3, FALSE), 0)

Công thức đặt điều kiện nếu không tìm thấy, hãy trả về ô trống

Đây là kiểu viết khác của câu lệnh “Vlookup if then”, chúng ta sẽ nhập công thức vào chuỗi trống ("") thay vì lỗi #N/A:

IF (ISNA (VLOOKUP (…)), "", VLOOKUP (…))

Áp dụng vào bảng dữ liệu nêu trên thì công thức cụ thể sẽ như sau:

=IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)),"", VLOOKUP(F2,$A$2:$C$10,3,FALSE))
hàm if kết hợp vlookup và ISNA tìm giá trị
hàm if kết hợp vlookup và ISNA tìm giá trị

Nếu bạn dùng Excel từ bản 2013 trở lên thì chúng ta có thêm một công thức khác để thay thế là: 

=IFNA(VLOOKUP(F2,$A$2:$C$10,3, FALSE),"").

Xem thêm: CÁCH XỬ LÝ LỖI HÀM VLOOKUP TRONG EXCEL KHÔNG CHẠY 

Kết luận

Như vậy, chúng mình đã hướng dẫn cho các bạn về cách dùng hàm IF kết hợp VLOOKUP trong Excel qua các ví dụ cụ thể. Hy vọng các bạn có thể áp dụng được kiến thức trong bài viết này vào công việc thực tế. 

Chúc các bạn luôn học tập hiệu quả!

KHÓA HỌC EXCEL ONLINE HOÀN TOÀN MIỄN PHÍ

Khóa học với hơn 14000 HỌC VIÊN đang học và đánh giá trung bình 4.76 SAO

5/5 - (1 bình chọn)

5/5 - (1 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông