Hàm IF là một trong những hàm phổ biến và quan trọng nhất trong excel. Bạn dùng hàm để yêu cầu Excel kiểm tra một điều kiện và trả về một giá trị nếu điều kiện được đáp ứng, hoặc trả về một giá trị khác nếu điều kiện đó không được đáp ứng.
Trong bài viết này, Blog Học Excel Online sẽ tìm hiểu về cú pháp và cách dùng hàm IF phổ biến trong Excel, sau đó sẽ có cái nhìn sâu hơn bằng các ví dụ về công thức mà hy vọng là sẽ bổ ích cho cả những người mới dùng Excel và những người có kinh nghiệm.
Hàm IF là một trong những hàm logic cho phép đánh giá một điều kiện nhất định và trả về giá trị mà bạn chỉ định nếu điều kiện là TRUE và trả về một giá trị khác nếu điều kiện là FALSE
Cú pháp cho hàm IF như sau:
IF (logical_test, [value_if_true], [value_if_false])
Như bạn thấy, hàm IF có 3 tham số, nhưng chỉ có tham số đầu tiên là bắt buộc phải có, còn 2 tham số còn lại là không bắt buộc
- logical_test: Là một giá trị hay biểu thức logic có giá trị TRUE (đúng) hoặc FALSE (sai). Bắt buộc phải có. Đối với tham số này, bạn có thể chỉ rõ đó là ký tự, ngày tháng, con số hay bất cứ biểu thức so sánh nào.
Ví dụ: Biểu thức logic của bạn có thể là hoặc B1=”sold”, B1<12/1/2014, B1=10 hoặc B1>10.
- Value_if_true: Là giá trị mà hàm sẽ trả về nếu biểu thức logic cho giá trị TRUE hay nói cách khác là điều kiện thỏa mãn. Không bắt buộc phải có.
Ví dụ: Công thức sau sẽ trả về từ “Good” nếu giá trị ở ô B1 lớn hơn 10: =IF(B1>10, “Good”)
- Value_if_false: là giá trị mà hàm sẽ trả về nếu biểu thức logic cho giá trị FALSE hay nói cách khác là điều kiện không thỏa mãn. Không bắt buộc phải có.
Ví dụ: Nếu bạn thêm biến thứ 3 là “Bad” vào công thức ở ví dụ trên, nó sẽ trả về từ “Good” nếu giá trị ở trong ô B1 lớn hơn 10, còn nếu ngược lại thì giá trị trả về sẽ là “Bad”:
=IF(B1>10, "Good", "Bad")
Những điều cần nhớ về hàm IF trong Excel:
Mặc dù hai biến cuối cùng trong hàm IF là không bắt buộc nhưng công thức có thể trả về những giá trị không mong đợi nếu như bạn không nắm vững những quy tắc cơ bản nhất
1. Nếu như value_if_true bị bỏ qua
Nếu value_if_true bị bỏ qua trong công thức IF (ví dụ chỉ có dấu phải sau logical_test), thì hàm IF sẽ trả về kết quả là 0 nếu điều kiện chính được đáp ứng. Đây là ví dụ:
=If(B1>10,,”Bad”)
Nếu bạn không muốn hàm If của mình không hiển thị bất cứ điều gì khi điều kiện thỏa, hãy nhập 2 lần dấu nhấy trong tham số thứ 2 như thế này:
=If(B1>10,””,”Bad”)
. Về cơ bản, trường hợp này hàm if sẽ trả về chuỗi trống.
2. Nếu như value_if_false bị bỏ qua
Nếu bạn không quan tâm đến điều gì sẽ xảy ra nếu điều kiện quy định không được đáp ứng, bạn có thể bỏ qua biến thứ 3 trong công thức hàm IF, điều này sẽ dẫn đến kết quả như sau
Nếu biểu thức logic được cho là FALSE và thông số value_if_false bị bỏ qua (chỉ có một giá trị duy nhất ứng với tham số value_if_false) thì hàm IF sẽ trả về giá trị FALSE. Đây quả là một điều không mong muốn phải không nào?
Đây là một ví dụ cho công thức
=IF(B1>10, "Good")
Nếu bạn đặt dấu phẩy sau tham số value_if_true thì hàm IF sẽ trả về giá trị bằng 0, điều này có nghĩa rằng giá trị trả về không tương thích với công thức =IF(B1>10, “Good”,).
Lần nữa, lý do thuyết phục nhất để đặt “” trong tham số thứ ba là bạn sẽ nhận giá trị rỗng nếu điều khiện không thỏa mãn =IF(B1>10, “Good”, “”).
3. Làm cho hàm IF hiện lên giá trị TRUE hoặc FALSE
Nếu như bạn muốn các công thức Excel có thể hiện lên các giá trị logic như TRUE hoặc FALSE khi một điều kiện nhất định được thỏa mãn thì bạn phải gõ TRUE trong ô tham số value_if_true. Ô value_if_false có thể điền vào là FALSE hoặc để trống. Đây là một ví dụ cho công thức trên:
=IF(B1>10, TRUE, FALSE)
hoặc
=IF(B1>10, TRUE)
Lưu ý. Nếu như bạn muốn hàm IF trả về giá trị TRUE và FALSE như giá trị logic (Boolean) mà công thức excel khác có thể nhận dạng thì bạn cần đảm bảo rằng không đặt chúng trong dấu ngoặc kép. Dấu hiệu của một Boolean trong một ô như bạn có thể thấy trong hình minh họa trên.
Nếu bạn muốn giá trị “TRUE” và “FALSE” là ký tự thì hãy đặt chúng trong dấu ngoặc kép. Trong trường hợp này, giá trị được trả về sẽ nằm bên trái và được định dạng là dạng General. Không có công thức Excel nào nhận dạng “TRUE” và “FALSE” là giá trị logic cả.
4. Làm cho hàm IF hiển thị một phép toán và trả về một kết quả
Thay vì trả về một gái trị nhất định thì bạn có thể làm cho công thức hàm IF kiểm tra điều kiện đưa ra, tính toán một công thức toán và trả về giá trị dựa trên kết quả của phép toán đó. Bạn thực hiện điều này bằng cách dử dụng các công thức sô học hoặc các hàm khác của Excel trong ô tham số value_if_true và /hoặc value_if_false. Dưới đây là một vài ví dụ điển hình:
Ví dụ 1:
=IF(A1>B1, C3*10, C3*5)
Công thức so sánh giá trị trong cột A1 và B1, và nếu giá trị trong cột A1 lớn hơn trong cột B1 thì kết quả sẽ là việc nhân giá trị trong ô C3 với C10, còn ngược lại sẽ nhân với 5
Ví dụ 2:
=IF(A1<>B1, SUM(A1:D1), "")
Công thức sẽ so sánh giá trị trong các ô A1 và B1, nếu giá trị trong ô A1 không bằng B1 thì công thức sẽ trả về giá trị là tổng của tất cả các giá trị từ ô A1 tới D1, ngược lại thì sẽ là một chuỗi ký tự rỗng.
Cách sử dụng hàm IF trong Excel và các ví dụ:
Bây giờ bạn đã quen thuộc với cú pháp của hàm IF, hãy xem xét một số ví dụ về công thức và tìm hiểu cách sử dụng hàm IF như là một hàm tính toán trong Excel
Công thức ví dụ về hàm IF cho phép so sánh số học như: lớn hơn, nhỏ hơn, bằng
Việc sử dụng hàm IF với các giá trị số dựa trên việc sử dụng các toán tử so sánh khác nhau để diễn tả các điều kiện của bạn. Bạn sẽ tìm thấy danh sách đầy đủ các toán tử logic được minh họa bằng các ví dụ về công thức trong bảng dưới đây.
Điều kiện | Toán tử | Ví dụ về công thức | Mô tả |
Lớn hơn | > | =IF(A2>5, “OK”,) | Nếu số trong ô A2 lớn hơn 5 thì công thức sẽ trả về giá trị là “OK”, ngược lại thì trả về 0 |
Nhỏ hơn | < | =IF(A2<5, “OK”, “”) | Nếu số trong ô A2 nhỏ hơn 5 thì công thức sẽ trả về giá trị là “OK”, ngược lại thì sẽ trả về chuỗi ký tự rỗng |
Bằng | = | =IF(A2=5, “OK”, “Wrong number”) | Nếu số trong ô A2 bằng 5 thì công thức sẽ trả về giá trị là “OK”, ngược lại thì sẽ hiển thị “Wrong Number” |
Khác | <> | =IF(A2<>5, “Wrong number”, “OK”) | Nếu số trong ô A2 khác 5 thì công thức sẽ trả về giá trị là “Wrong Number”, ngược lại thì sẽ hiển thị “OK” |
Lớn hơn hoặc bằng | >= | =IF(A2>=5, “OK”, “Poor”) | Nếu số trong ô A2 lớn hơn hoặc bằng 5 thì công thức sẽ trả về giá trị là “OK”, ngược lại thì sẽ hiển thị “Poor” |
Nhỏ hơn hoặc bằng | <= | =IF(A2<=5, “OK”, “”) | Nếu số trong ô A2 nhỏ hơn hoặc bằng 5 thì công thức sẽ trả về giá trị là “OK”, ngược lại thì là chuỗi ký tự rỗng |
Hình minh họa dưới đây thể hiện kết quả của việc so sánh “lớn hoăn hoặc bằng”
Hàm IF trong văn bản:
Nhìn chung, khi bạn viết công thức hàm IF cho các giá trị văn bản thay vì các toán tử “bằng” hoặc “không bằng” thì hãy theo dõi một vài ví dụ dưới đây.
Ví dụ 1. Công thức hàm IF không phân biệt chữ hoa hay chữ thường cho các ký tự
Giống như phần lớn các chức năng của Excel, hàm IF được mặc định không phân biệt chữ hoa hay chữ thường. Điều này có nghĩa rằng các biểu thức logic có chứa ký tự không thể phân biệt được kiểu chữ hoa hay thường trong công thức hàm IF
Ví dụ, Công thức hàm IF dưới đây trả về giá trị “Yes” hoặc “No” dựa trên trạng thái giao hàng (cột C)
=IF(C2="delivered", "No", "Yes")
Công thức này nói lên rằng Excel sẽ trả về “No” nếu một ô trong cột C bao gồm từ “Delivered”, còn ngược lại thì sẽ trả về “Yes”. Không quan trọng là bạn gõ từ “Delivered” như thế nào trong tham số biểu thức logic – “delivered”, “Delivered”, hay “DELIVERED”. Cũng không quan trọng liệu từ “Delivered” được viết hoa hay thường ở trong bảng, như minh họa trong hình dưới đây.
Một cách khác để có được một kết quả chính xác hơn đó là sử dụng phép so sánh “không bằng” và tráo đổi hai tham số value_if_true và value_if_false
=IF(C2<>"delivered", "Yes", "No")
Ví dụ 2. Công thức hàm IF phân biệt chữ hoa hay chữ thường cho các ký tự
Nếu như bạn muốn tạo một biểu thức logic có phân biệt kiểu chữ hoa hay thường thì dùng kết hợp hàm IF với hàm EXACT bằng cách so sánh hai chuỗi giá trị và trả về TRUE nếu xâu đúng, ngược lại thì trả về FALSE. Mặc dù hàm EXACT có sự phân biệt hoa hay thường nhưng vẫn bỏ qua sự khác biệt về định dạng.
Bạn sử dụng hàm EXACT bằng cách như sau:
=IF(EXACT(C2,"DELIVERED"), "No", "Yes")
Biểu thức logic bạn áp dụng và “DELIVERED” là giá trị văn bản in hoa mà bạn phải hiện thị một cách chính xác tương ứng với cột C.
Một cách dễ dàng hơn, bạn cũng có thể dùng cách tham chiếu ô thay vì tham số chứa ký tự thứ hai trong hàm EXACT nếu bạn muốn.
Lưu ý. Khi sử dụng văn bản như một biến trong hàm IF thì hãy nhớ luôn phải đi kèm với dấu ngoặc kép.
Ví dụ 3. Công thức IF cho giá trị văn bản với việc tham chiếu từng phần
Nếu bạn muốn điều kiện mà bạn đưa ra dựa trên việc tham chiếu từng phần hơn mà tham chiếu chính xác, một giải pháp tức thì cho điều này đó là sử dụng ký tự đại diện (hoặc) trong biểu thức logic. Tuy nhiên cách tiếp cận đơn giản và dễ dàng này sẽ không hoạt động. Rất nhiều hàm trong Excel chấp nhận ký tự đại diện nhưng hàm IF là ngoại lệ.
Một giải pháp khác đó là dùng hàm IF kết hợp với hàm ISNUMBER và SEARCH (không phân biệt chữ hoa chữ thường) hoặc hàm FIND (phân biệt chữ hoa chữ thường).
Ví dụ, nếu việc thực hiện điều kiện No là bắt buộc cho cả hai mục “Delivered” và “Out for delivery” thì công thức sau sẽ hiệu quả:
=IF(ISNUMBER(SEARCH("deliv",C2)), "No", "Yes")
Chúng tôi đã sử dụng hàm SEARCH cho công thức trên vì việc đối chiếu có phân biệt chữ hoa hay thường có vẻ hợp lý hơn với dữ liệu đưa ra. Nếu bạn muốn đối chiếu có phân biệt chữ hoa hay thường thì đơn giản chỉ cần thay thế hàm SEARCH bằng hàm FIND theo cách này:
=IF(ISNUMBER(FIND("ký tự", nơi để tìm kiếm)), value_if_true, value_if_false)
Ví dụ về công thức hàm IF cho ngày, tháng:
Thoạt nhìn thì công thức hàm IF đối với ngày tháng giống như đối với số và ký tự chúng ta vừa đề cập. Nhưng đáng tiếc là không phải như vậy.
Không giống như các hàm khác trong Excel, hàm IF không thể phân biệt được ngày tháng và diễn giải nó ra như một chuỗi ký tự được, điều này giải thích tại sao bạn không thể diễn tả một biểu thức logic đơn giản như >”11/19/2014″ hay >11/19/2014. Không có công thức nào là đúng cả!
Ví dụ 1. Công thức hàm IF cho ngày tháng với hàm DATEVALUE
Để hàm IF có thể nhận dạng được ngày tháng trong một biểu thức logic, bạn phải đặt nó trong hàm DATEVALUE như thế này: DATEVALUE(“11/19/2014”). Công thức hoàn chỉnh có dạng như sau:
=IF(C2<DATEVALUE("11/19/2014"), "Completed", "Coming soon")
Như minh họa của hình bên dưới, công thức hàm IF này đáng giá ngày tháng trong cột C và trả về giá trị “Completed” nếu như trò chơi này diễn tra trước ngày 11 tháng 11, còn ngược lại thì công thức sẽ trả về giá trị “Coming soon”.
Ví dụ 2. Công thức hàm IF với hàm TODAY()
Với điều kiện điều kiện bạn đưa ra phụ thuộc vào ngày tháng hiện tại, bạn có thể dùng hàm TODAY() trong biểu thức logic. Ví dụ như:
=IF(C2<DATEVALUE("11/19/2014"), "Completed", "Coming soon")
Hàm IF còn có thể hiểu những biểu thức logic phức tạp hơn như ví dụ tiếp theo:
Ví dụ 3. Công thức hàm IF mở rộng cho ngày tháng trong quá khứ và tương lai
Giả sử như bạn chỉ muốn đánh dấu trong khoảng hơn 30 ngày tính từ thời điểm hiện tại thì bạn có thể biểu diễn biểu thức logic như sau A2-TODAY()>30. Công thức hoàn chỉnh có dạng:
=IF(A2-TODAY()>30, "Future date", "")
Để chỉ ra những ngày đã diễn ra cách đây hơn 30 ngày, bạn có thể dùng công thức sau:
=IF(TODAY()-A2>30, "Past date", "")
Nếu bạn muốn có cả hai dấu hiệu trong cùng một cột bạn sẽ cần sử dụng đến hàm IF được lồng ghép như sau:
=IF(A2-TODAY()>30, "Future date", IF(TODAY()-A2>30, "Past date", ""))
Ví dụ về công thức hàm IF cho dữ liệu và ô trống:
Đôi khi bạn muốn đánh dấu ô dữ liệu hay ô trống nhất định thì bạn cần thực hiện một trong các cách sau:
- Sử dụng kết hợp hàm IF với ISBLANK
- Sử dụng các biểu thức logic =”” (bằng ô trống) hoặc <>”” (khác ô trống).
Bảng dưới đây sẽ giải thích rõ sự khác biệt giữa hai cách trên và đưa ra ví dụ
Biểu thức logic | Mô tả | Ví dụ | |
Ô trống | =”” | Được cho là TRUE nếu ô được chỉ định là ô trống, bao gồm cả các ô với độ dài xâu bằng 0.
Ngược lại thì là FALSE |
=IF(A1=””, 0, 1)
Trả về 0 nếu A1 là ô trống. Ngược lại thì trả về 1 Nếu A1 là một chuỗi giá trị rỗng thì trả về 0 |
ISBLANK() | Được cho là TRUE nếu ô được chỉ định là ô rông hoàn toàn – không có công thức, không có cả chuỗi giá trị rỗng được trả về từ công thức khác.
Ngược lại thì là FALSE |
=IF(ISBLANK(A1), 0, 1)
Trả lại kết quả giống với công thức trên nhưng xử lý các ô có độ dài chuỗi bằng 0 như các ô rỗng. Tức là, nếu A1 chứa một chuỗi giá trị rỗng, công thức sẽ trả về 1. |
|
Ô có chứa dữ liệu | <>”” | Được cho là TRUE nếu ô chỉ định có chứa dữ liệu. Ngược lại thì là FALSE
Những ô với độ dài chuỗi bằng 0 thì là ô trống |
=IF(A1<>””, 1, 0)
Trả về 1 nếu A1 ô có dữ liệu, ngược lại thì trả về 0 Nếu A1 có chuỗi giá trị rỗng thì công thức trả về 0 |
ISBLANK()=FALSE | Được cho là TRUE nếu ô ấn định không phải ô rỗng. Ngược lại thì là FALSE
Ô với độ dài chuỗi bằng o thì là ô không rỗng |
=IF(ISBLANK(A1)=FALSE, 0, 1)
Tương tự như các công thức trên, nhưng trả về 1 nếu A1 có bao gồm một chuỗi giá trị rỗng |
Ví dụ dưới đây sẽ biểu diễn biểu thức logic có chứa dữ liệu/ rỗng sẽ như thế nào.
Giả sử như dữ liệu trong cột C chỉ có được sau khi đã có dữ liệu trong cột B tương ứng với game đã diễn ra thì bạn có thể dùng công thức hàm IF sau để đánh dấu những game đã hoàn thành
=IF($C2<>"", "Completed", "")
=IF(ISBLANK($C2)=FALSE, “Completed”, “”)
Vì không có độ dài chuỗi bằng 0 trong bảng nên cả hai công thức đều trả về kết quả như nhau:
Nếu bạn muốn xem hướng dẫn cách sử dụng hàm IF trong Excel này dưới dạng video, thì mời bạn theo dõi video sau đây:
Ví dụ sử dụng hàm IF trong việc xếp loại theo điểm số
Trong trường hợp bạn có một yêu cầu sắp xếp điểm số như sau:
- Từ 5 đến 6.5: xếp loại trung bình
- Từ 6.5 đến 8: xếp loại khá
- Từ 8 trở lên: xếp loại giỏi
giả sử điểm số nằm trong ô A1, thì bạn có thể viết hàm IF lồng nhau như sau:
=IF(
AND(A1>=5,A1<6.5),"Trung bình",
IF(AND(A1>=6.5, A1<8), "Khá",
IF(A1>=8,"Giỏi","Không xếp loại")))
Trong trường hợp này, nếu bạn thấy việc viết hàm IF lồng nhau quá phức tạp và khó hiểu, thì bạn có thể tham khảo cách làm khác ngắn gọn và dễ hiểu hơn bằng cách sử dụng hàm VLOOKUP
Như vậy với bài viết này, nttexpress.vn đã chia sẻ cho các bạn cách dùng hàm IF trong Excel: Công thức cho số, ký tự, dữ liệu và ô trống và một số các ví dụ. Nếu có bất kỳ thắc mắc gì có thể comment ngay dưới bài viết này để chúng tôi có thể giải quyết mọi thắc mắc của bạn một cách sớm nhất.
Những kiến thức bạn đang xem thuộc khóa học: Excel từ cơ bản tới nâng cao của Học Excel Online. Khóa học này cung cấp cho bạn kiến thức một cách đầy đủ và có hệ thống về các hàm, các công cụ trong excel, ứng dụng excel trong công việc…