Hàm IF trong Excel với nhiều điều kiện

  • Chia Sẻ Cái Này
Michael Brown

Hướng dẫn chỉ ra cách tạo nhiều câu lệnh IF trong Excel với logic AND cũng như OR. Ngoài ra, bạn sẽ tìm hiểu cách sử dụng hàm IF cùng với các hàm Excel khác.

Trong phần đầu tiên của hướng dẫn hàm IF trong Excel, chúng ta đã xem xét cách tạo câu lệnh IF đơn giản với một điều kiện cho văn bản, số, ngày, khoảng trống và không trống. Tuy nhiên, để phân tích dữ liệu mạnh mẽ, bạn có thể thường cần đánh giá nhiều điều kiện cùng một lúc. Các ví dụ về công thức dưới đây sẽ chỉ cho bạn những cách hiệu quả nhất để làm điều này.

    Cách sử dụng hàm IF với nhiều điều kiện

    Về bản chất, có hai loại công thức Công thức IF với nhiều tiêu chí dựa trên logic AND / OR . Do đó, trong bài kiểm tra logic của công thức IF, bạn nên sử dụng một trong các hàm sau:

    • Hàm AND - trả về TRUE nếu tất cả các điều kiện được đáp ứng; FALSE ngược lại.
    • Hàm OR - trả về TRUE nếu bất kỳ điều kiện nào được đáp ứng; FALSE ngược lại.

    Để minh họa rõ hơn vấn đề này, hãy tìm hiểu một số ví dụ về công thức thực tế.

    Câu lệnh IF trong Excel với nhiều điều kiện (logic AND)

    Câu lệnh IF công thức chung của Excel IF với hai điều kiện trở lên là:

    IF(AND( condition1, condition2, …), value_if_true, value_if_false)

    Được dịch thành người ngôn ngữ, công thức cho biết: Nếu điều kiện 1 là đúng VÀ điều kiện 2 là đúng, hãy trả về value_if_true ; other return value_if_false .

    Giả sử bạn có một bảng liệt kê điểm của hai bài kiểm tra ở cột B và C. Để vượt qua bài kiểm tra cuối kỳ, học sinh phải có cả hai điểm lớn hơn 50.

    Đối với bài kiểm tra logic, bạn sử dụng câu lệnh AND sau: AND(B2>50, C2>50)

    Nếu cả hai điều kiện đều đúng, công thức sẽ trả về "Đạt"; nếu bất kỳ điều kiện nào sai - "Không đạt".

    =IF(AND(B2>50, B2>50), "Pass", "Fail")

    Dễ thôi phải không? Ảnh chụp màn hình bên dưới chứng minh rằng công thức IF /AND trong Excel của chúng tôi hoạt động chính xác:

    Theo cách tương tự, bạn có thể sử dụng hàm IF trong Excel với nhiều điều kiện văn bản .

    Đối với ví dụ, để xuất "Tốt" nếu cả B2 và C2 đều lớn hơn 50, "Xấu" nếu không, công thức là:

    =IF(AND(B2="pass", C2="pass"), "Good!", "Bad")

    Lưu ý quan trọng! Hàm AND kiểm tra tất cả các điều kiện , ngay cả khi (các) điều kiện đã kiểm tra được đánh giá là SAI. Hành vi như vậy hơi bất thường vì trong hầu hết các ngôn ngữ lập trình, các điều kiện tiếp theo sẽ không được kiểm tra nếu bất kỳ kiểm tra nào trước đó trả về SAI.

    Trong thực tế, một câu lệnh IF có vẻ đúng có thể dẫn đến lỗi vì điều này tính cụ thể. Ví dụ, công thức dưới đây sẽ trả về lỗi #DIV/0! (lỗi "chia cho 0") nếu ô A2 bằng 0:

    =IF(AND(A20, (1/A2)>0.5),"Good", "Bad")

    Để tránh điều này, bạn nên sử dụng hàm IF lồng nhau:

    =IF(A20, IF((1/A2)>0.5, "Good", "Bad"), "Bad")

    Để biết thêm thông tin, vui lòng xem công thức IF AND trong Excel.

    Hàm IF trong Excel có nhiềuđiều kiện (logic OR)

    Để thực hiện một việc nếu bất kỳ điều kiện nào được đáp ứng, nếu không thì làm việc khác, hãy sử dụng tổ hợp hàm IF và OR sau:

    IF(OR( điều kiện1 , điều kiện2 , …), value_if_true, value_if_false)

    Sự khác biệt so với công thức IF / AND đã thảo luận ở trên là Excel trả về TRUE nếu bất kỳ điều kiện nào được chỉ định là đúng.

    Vì vậy, nếu trong công thức trước, chúng ta sử dụng OR thay vì AND:

    =IF(OR(B2>50, B2>50), "Pass", "Fail")

    Sau đó, bất kỳ ai có hơn 50 điểm trong một trong hai bài kiểm tra sẽ nhận được "Đạt" trong cột D. Với những điều kiện như vậy, học sinh của chúng ta có cơ hội tốt hơn để vượt qua kỳ thi cuối kỳ (Yvette đặc biệt xui xẻo khi trượt chỉ 1 điểm :)

    Lời khuyên. Trong trường hợp bạn đang tạo nhiều câu lệnh IF có văn bản và kiểm tra một giá trị trong một ô bằng logic OR (nghĩa là một ô có thể là "cái này" hoặc "cái kia"), thì bạn có thể xây dựng một câu lệnh nhỏ gọn hơn công thức sử dụng hằng số mảng.

    Ví dụ: để đánh dấu một đợt giảm giá là "đã đóng" nếu ô B2 là "đã giao" hoặc "đã thanh toán", công thức là:

    =IF(OR(B2={"delivered", "paid"}), "Closed", "")

    Bạn có thể tìm thấy nhiều ví dụ về công thức khác trong hàm IF OR của Excel.

    IF có nhiều hàm AND & Câu lệnh OR

    Nếu nhiệm vụ của bạn yêu cầu đánh giá một số tập hợp nhiều điều kiện, bạn sẽ phải sử dụng cả AND & OR hoạt động tại một thời điểm.

    Trong bảng mẫu của chúng tôi, giả sử bạn có các tiêu chí sau để kiểm tra kết quả kiểm tra:

    • Điều kiện 1:kỳ thi1>50 và kỳ thi2>50
    • Điều kiện 2: kỳ thi1>40 và kỳ thi2>60

    Nếu một trong hai điều kiện được đáp ứng, kỳ thi cuối cùng được coi là đã đạt.

    Thoạt nhìn, công thức có vẻ hơi phức tạp, nhưng thực tế không phải vậy! Bạn chỉ cần biểu thị từng điều kiện ở trên dưới dạng câu lệnh AND và lồng chúng vào hàm OR (vì không nhất thiết phải đáp ứng cả hai điều kiện nên chọn một trong hai điều kiện là đủ):

    OR(AND(B2>50, C2>50), AND(B2>40, C2>60)

    Sau đó, hãy sử dụng hàm OR để kiểm tra logic của IF và cung cấp các giá trị value_if_true value_if_false mong muốn. Kết quả là bạn nhận được công thức IF sau với nhiều điều kiện AND/OR:

    =IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")

    Ảnh chụp màn hình bên dưới cho biết rằng chúng ta đã thực hiện đúng công thức:

    Đương nhiên , bạn không bị giới hạn chỉ sử dụng hai hàm AND/OR trong công thức IF của mình. Bạn có thể sử dụng bao nhiêu trong số chúng tùy theo logic kinh doanh của mình yêu cầu, miễn là:

    • Trong Excel 2007 trở lên, bạn có không quá 255 đối số và tổng độ dài của công thức IF không vượt quá 8.192 ký tự.
    • Trong Excel 2003 trở xuống, không có nhiều hơn 30 đối số và tổng độ dài của công thức IF không vượt quá 1.024 ký tự.

    Câu lệnh IF lồng nhau để kiểm tra nhiều bài kiểm tra logic

    Nếu bạn muốn đánh giá nhiều bài kiểm tra logic trong một công thức, thì bạn có thể lồng nhiều chức năng này vào một chức năng khác. Các chức năng như vậy được gọi là lồng nhauCác hàm IF . Chúng tỏ ra đặc biệt hữu ích khi bạn muốn trả về các giá trị khác nhau tùy thuộc vào kết quả của các bài kiểm tra logic.

    Đây là một ví dụ điển hình: giả sử bạn muốn đánh giá thành tích của học viên là " Tốt ", " Đạt yêu cầu " và " Kém " dựa trên các điểm sau:

    • Tốt: 60 trở lên (>=60)
    • Đạt yêu cầu: từ 40 đến 60 (>40 và <60)
    • Kém: từ 40 trở xuống (<=40)

    Trước khi viết công thức, hãy xem xét thứ tự của các chức năng bạn sẽ lồng vào. Excel sẽ đánh giá các bài kiểm tra logic theo thứ tự chúng xuất hiện trong công thức. Khi một điều kiện được đánh giá là TRUE, các điều kiện tiếp theo sẽ không được kiểm tra, nghĩa là công thức sẽ dừng sau kết quả TRUE đầu tiên.

    Trong trường hợp của chúng tôi, các hàm được sắp xếp từ lớn nhất đến nhỏ nhất:

    =IF(B2>=60, "Good", IF(B2>40, "Satisfactory", "Poor"))

    Đương nhiên, bạn có thể lồng nhiều hàm hơn nếu cần (tối đa 64 trong các phiên bản hiện đại).

    Để biết thêm thông tin, vui lòng xem Cách sử dụng nhiều câu lệnh IF lồng nhau trong Excel.

    Công thức mảng Excel IF với nhiều điều kiện

    Một cách khác để lấy IF Excel để kiểm tra nhiều điều kiện bằng cách sử dụng công thức mảng.

    Để đánh giá các điều kiện bằng logic AND, hãy sử dụng dấu hoa thị:

    IF( condition1 ) * ( condition2 ) * …, value_if_true, value_if_false)

    Để kiểm tra các điều kiện với logic OR, hãy sử dụng dấu cộng:

    IF( condition1 ) + ( condition2 ) + …,value_if_true, value_if_false)

    Để hoàn thành công thức mảng một cách chính xác, hãy nhấn đồng thời các phím Ctrl + Shift + Enter. Trong Excel 365 và Excel 2021, công thức này cũng hoạt động như một công thức thông thường do hỗ trợ mảng động.

    Ví dụ: để đạt "Đạt" nếu cả B2 và C2 đều lớn hơn 50, công thức là:

    =IF((B2>50) * (C2>50), "Pass", "Fail")

    Trong Excel 365 của tôi, một công thức bình thường hoạt động tốt (như bạn có thể thấy trong ảnh chụp màn hình ở trên). Trong Excel 2019 trở xuống, hãy nhớ biến nó thành công thức mảng bằng cách sử dụng phím tắt Ctrl + Shift + Enter.

    Để đánh giá nhiều điều kiện bằng logic OR, công thức là:

    =IF((B2>50) + (C2>50), "Pass", "Fail")

    Sử dụng IF cùng với các hàm khác

    Phần này giải thích cách sử dụng IF kết hợp với các hàm khác của Excel và lợi ích mà điều này mang lại cho bạn.

    Ví dụ 1. If #N /Lỗi trong VLOOKUP

    Khi VLOOKUP hoặc chức năng tra cứu khác không thể tìm thấy thứ gì đó, nó sẽ trả về lỗi #N/A. Để làm cho bảng của bạn trông đẹp hơn, bạn có thể trả về số 0, giá trị trống hoặc văn bản cụ thể nếu #N/A. Đối với điều này, hãy sử dụng công thức chung sau:

    IF(ISNA(VLOOKUP(…)), value_if_na , VLOOKUP(…))

    Ví dụ:

    If #N/ Trả về 0:

    Nếu không tìm thấy giá trị tra cứu trong E1, công thức sẽ trả về 0.

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))

    Nếu #N/A trả về trống:

    Nếu không tìm thấy giá trị tra cứu, công thức sẽ không trả về gì (một chuỗi rỗng).

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))

    Nếu #N/A trả về văn bản nhất định:

    Nếu không tìm thấy giá trị tra cứu,công thức trả về văn bản cụ thể.

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Not found", VLOOKUP(E1, A2:B10, 2, FALSE))

    Để biết thêm ví dụ về công thức, vui lòng xem VLOOKUP với câu lệnh IF trong Excel.

    Ví dụ 2. IF với SUM, AVERAGE, MIN và MAX các hàm

    Để tính tổng các giá trị ô dựa trên các tiêu chí nhất định, Excel cung cấp các hàm SUMIF và SUMIFS.

    Trong một số trường hợp, logic công việc của bạn có thể yêu cầu đưa hàm SUM vào kiểm tra logic của IF. Ví dụ: để trả về các nhãn văn bản khác nhau tùy thuộc vào tổng giá trị trong B2 và C2, công thức là:

    =IF(SUM(B2:C2)>130, "Good", IF(SUM(B2:C2)>110, "Satisfactory", "Poor"))

    Nếu tổng lớn hơn 130, kết quả là "tốt “; nếu lớn hơn 110 – "đạt yêu cầu", nếu 110 hoặc thấp hơn - "kém".

    Theo cách tương tự, bạn có thể nhúng hàm AVERAGE vào kiểm tra logic của IF và trả về các nhãn khác nhau dựa trên điểm trung bình :

    =IF(AVERAGE(B2:C2)>65, "Good", IF(AVERAGE(B2:C2)>55, "Satisfactory", "Poor"))

    Giả sử tổng điểm nằm ở cột D, bạn có thể xác định giá trị cao nhất và thấp nhất với sự trợ giúp của hàm MAX và MIN:

    =IF(D2=MAX($D$2:$D$10), "Best result", "")

    =IF(D2=MAX($D$2:$D$10), "Best result", "")

    Để có cả hai nhãn trong một cột, hãy lồng các hàm trên vào một hàm khác:

    =IF(D2=MAX($D$2:$D$10), "Best result", IF(D2=MIN($D$2:$D$10), "Worst result", ""))

    Tương tự như vậy, bạn có thể sử dụng IF cùng với tùy chỉnh của mình Ví dụ: bạn có thể kết hợp nó với GetCellColor hoặc GetCellFontColor để trả về các kết quả khác nhau dựa trên màu của ô.

    Ngoài ra, Excel còn cung cấp một số hàm để tính toán dữ liệu dựa trên các điều kiện. Để biết ví dụ về công thức chi tiết, vui lòng kiểm tra những điều sau đâyhướng dẫn:

    • COUNTIF - đếm các ô đáp ứng một điều kiện
    • COUNTIFS - đếm các ô có nhiều tiêu chí
    • SUMIF - tính tổng các ô có điều kiện
    • SUMIFS - tính tổng các ô có nhiều tiêu chí

    Ví dụ 3. IF với ISNUMBER, ISTEXT và ISBLANK

    Để xác định văn bản, số và ô trống, Microsoft Excel cung cấp các hàm đặc biệt như ISTEXT, ISNUMBER và ISBLANK. Bằng cách đặt chúng vào các bài kiểm tra logic của ba câu lệnh IF lồng nhau, bạn có thể xác định tất cả các loại dữ liệu khác nhau trong một lần:

    =IF(ISTEXT(A2), "Text", IF(ISNUMBER(A2), "Number", IF(ISBLANK(A2), "Blank", "")))

    Ví dụ 4. IF và CONCATENATE

    To xuất kết quả của IF và một số văn bản vào một ô, sử dụng hàm CONCATENATE hoặc CONCAT (trong Excel 2016 - 365) và hàm IF cùng nhau. Ví dụ:

    =CONCATENATE("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))

    =CONCAT("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))

    Nhìn vào ảnh chụp màn hình bên dưới, bạn hầu như không cần bất kỳ lời giải thích nào về chức năng của công thức:

    IF ISERROR / Công thức ISNA trong Excel

    Các phiên bản Excel hiện đại có các chức năng đặc biệt để bẫy lỗi và thay thế chúng bằng một phép tính khác hoặc giá trị được xác định trước - IFERROR (trong Excel 2007 trở lên) và IFNA (trong Excel 2013 trở lên). Trong các phiên bản Excel trước, bạn có thể sử dụng kết hợp IF ISERROR và IF ISNA để thay thế.

    Sự khác biệt là IFERROR và ISERROR xử lý tất cả các lỗi Excel có thể xảy ra, bao gồm #VALUE!, #N/A, #NAME?, #REF!, #NUM!, #DIV/0!, và #NULL!. Mặc dù IFNA và ISNA chỉ chuyên về lỗi #N/A.

    Ví dụ: đểthay thế lỗi "chia cho 0" (#DIV/0!) bằng văn bản tùy chỉnh của bạn, bạn có thể sử dụng công thức sau:

    =IF(ISERROR(A2/B2), "N/A", A2/B2)

    Và đó là tất cả những gì tôi phải nói về việc sử dụng Hàm IF trong Excel. Tôi cảm ơn bạn đã đọc và hy vọng sẽ gặp bạn trên blog của chúng tôi vào tuần tới!

    Sách bài tập thực hành để tải xuống

    Excel IF nhiều tiêu chí - ví dụ (tệp .xlsx)

    Michael Brown là một người đam mê công nghệ chuyên dụng với niềm đam mê đơn giản hóa các quy trình phức tạp bằng các công cụ phần mềm. Với hơn một thập kỷ kinh nghiệm trong ngành công nghệ, anh ấy đã trau dồi kỹ năng của mình trong Microsoft Excel và Outlook, cũng như Google Trang tính và Tài liệu. Blog của Michael dành để chia sẻ kiến ​​thức và chuyên môn của anh ấy với những người khác, cung cấp các mẹo và hướng dẫn dễ thực hiện để cải thiện năng suất và hiệu quả. Cho dù bạn là một chuyên gia dày dạn kinh nghiệm hay người mới bắt đầu, blog của Michael đều cung cấp những hiểu biết có giá trị và lời khuyên thiết thực để tận dụng tối đa những công cụ phần mềm thiết yếu này.