在 Excel、Google Sheets 或其他類似電子表格軟件中,使用 IF 函數(shù)處理多個(gè)條件通常有以下幾種方法:
核心概念:
標(biāo)準(zhǔn)的 IF 函數(shù)結(jié)構(gòu)是:IF(logical_test, value_if_true, value_if_false)
意思是:如果 logical_test (邏輯測(cè)試) 為真,則返回 value_if_true,否則返回 value_if_false。
當(dāng)涉及多個(gè)條件時(shí),我們需要擴(kuò)展這個(gè)結(jié)構(gòu)。
方法一:嵌套 IF 函數(shù) (Nested IFs)
這是最傳統(tǒng)的方法,將一個(gè) IF 函數(shù)放在另一個(gè) IF 函數(shù)的 value_if_false 參數(shù)中,形成鏈?zhǔn)脚袛唷?/p>
結(jié)構(gòu):
IF(條件1, 結(jié)果1, IF(條件2, 結(jié)果2, IF(條件3, 結(jié)果3, ... , 默認(rèn)結(jié)果)))
解釋:
先判斷 條件1 是否為真。
如果是,則返回 結(jié)果1。
如果否,則進(jìn)入第二個(gè) IF,判斷 條件2 是否為真。
如果是,則返回 結(jié)果2。
如果否,則繼續(xù)判斷下一個(gè)條件...
如果所有前面的條件都不滿足,則返回最后的 默認(rèn)結(jié)果 (放在最內(nèi)層 IF 的 value_if_false 位置)。
示例: 根據(jù)分?jǐn)?shù)評(píng)定等級(jí) (A, B, C, D)
假設(shè)分?jǐn)?shù)在 A1 單元格:
= 90 為 A
= 80 且 < 90 為 B
= 60 且 < 80 為 C
< 60 為 D
公式:
=IF(A1>=90, "A", IF(A1>=80, "B", IF(A1>=60, "C", "D")))
優(yōu)點(diǎn):
兼容性好,在幾乎所有版本的 Excel 和 Google Sheets 中都可用。
邏輯直接,按順序判斷。
缺點(diǎn):
當(dāng)條件很多時(shí),括號(hào)層層嵌套,公式會(huì)變得非常長(zhǎng),難以閱讀、理解和修改。
容易出錯(cuò)(比如括號(hào)匹配錯(cuò)誤)。
舊版 Excel 對(duì)嵌套層數(shù)有限制(盡管新版已大大放寬)。
方法二:使用 IFS 函數(shù) (適用于較新版本的 Excel 和 Google Sheets)
IFS 函數(shù)是專門為處理多個(gè)并列條件而設(shè)計(jì)的,避免了深度嵌套。
結(jié)構(gòu):
IFS(條件1, 結(jié)果1, 條件2, 結(jié)果2, 條件3, 結(jié)果3, ... , [TRUE, 默認(rèn)結(jié)果])
解釋:
函數(shù)會(huì)按順序檢查 條件1, 條件2, 條件3...
一旦遇到第一個(gè)為真的條件,就返回其對(duì)應(yīng)的結(jié)果 (結(jié)果1, 結(jié)果2, 結(jié)果3...),并停止后續(xù)判斷。
[TRUE, 默認(rèn)結(jié)果] 是可選的,通常放在最后。TRUE 作為一個(gè)永遠(yuǎn)為真的條件,確保如果前面的條件都不滿足時(shí),會(huì)返回這個(gè) 默認(rèn)結(jié)果。
示例: 同樣是根據(jù)分?jǐn)?shù)評(píng)定等級(jí)
公式:
=IFS(A1>=90, "A", A1>=80, "B", A1>=60, "C", TRUE, "D")
或者,如果明確知道小于60是唯一剩下的情況:
=IFS(A1>=90, "A", A1>=80, "B", A1<60, "D", A1>=60, "C") (注意順序,通常把最嚴(yán)格或最可能先滿足的放前面,或者像第一個(gè)例子那樣用 TRUE 保底)
優(yōu)點(diǎn):
比嵌套 IF 更簡(jiǎn)潔、易讀、易維護(hù)。
結(jié)構(gòu)扁平,沒有層層嵌套的括號(hào)。
缺點(diǎn):
只在較新版本的 Excel (Office 2019, Microsoft 365) 和 Google Sheets 中可用。舊版本 Excel 不支持。
方法三:IF 函數(shù)結(jié)合 AND / OR 函數(shù)
當(dāng)需要同時(shí)滿足 多個(gè)條件(AND)或滿足其中任意一個(gè) 條件(OR)時(shí),可以將 AND 或 OR 函數(shù)用作 IF 函數(shù)的 logical_test。
1. IF + AND (所有條件必須同時(shí)為真)
結(jié)構(gòu):
IF(AND(條件1, 條件2, ...), value_if_true, value_if_false)
示例: 只有當(dāng)分?jǐn)?shù) (A1) 大于等于 60 并且 出勤率 (B1) 大于等于 80% 時(shí),才算“合格”,否則“不合格”。
公式:
=IF(AND(A1>=60, B1>=0.8), "合格", "不合格")
2. IF + OR (至少一個(gè)條件為真即可)
結(jié)構(gòu):
IF(OR(條件1, 條件2, ...), value_if_true, value_if_false)
示例: 如果產(chǎn)品類別 (C1) 是 "水果" 或者 促銷狀態(tài) (D1) 是 "是",則折扣為 10%,否則為 0%。
公式:
=IF(OR(C1="水果", D1="是"), 0.1, 0)
組合使用: 你甚至可以在嵌套 IF 或 IFS 中結(jié)合 AND/OR 來處理更復(fù)雜的邏輯。
示例 (IFS + AND):
分?jǐn)?shù)>=90 且 出勤率>=95% 為 "優(yōu)秀"
分?jǐn)?shù)>=80 且 出勤率>=80% 為 "良好"
其他為 "需努力"
公式:
=IFS(AND(A1>=90, B1>=0.95), "優(yōu)秀", AND(A1>=80, B1>=0.8), "良好", TRUE, "需努力")
選擇哪種方法?
如果你使用的是支持 IFS 的新版 Excel 或 Google Sheets,強(qiáng)烈推薦使用 IFS ,因?yàn)樗钋逦?/p>
如果需要兼容舊版本,或者邏輯確實(shí)是嚴(yán)格的逐步判斷,嵌套 IF 是可行的,但注意保持簡(jiǎn)潔,條件別太多。
當(dāng)需要基于“所有條件滿足”或“任一條件滿足”來返回同一個(gè) 結(jié)果時(shí),使用 IF + AND 或 IF + OR 。
對(duì)于非常復(fù)雜的、涉及多個(gè) AND/OR 組合并需要不同結(jié)果的場(chǎng)景,可能需要混合使用嵌套 IF/IFS 和 AND/OR 。
使用技巧:
明確邏輯順序: 在使用嵌套 IF 或 IFS 時(shí),條件的判斷順序很重要,確保邏輯覆蓋所有情況且沒有重疊或遺漏。通常將最嚴(yán)格或最獨(dú)特的條件放在前面。
考慮默認(rèn)情況: 總是思考如果所有指定條件都不滿足時(shí),應(yīng)該返回什么結(jié)果,并確保公式能處理這種情況(用嵌套 IF 的最后一個(gè) value_if_false 或 IFS 的 TRUE 條件)。
測(cè)試: 寫完公式后,用各種可能的數(shù)據(jù)組合進(jìn)行測(cè)試,確保結(jié)果符合預(yù)期。
如果你能提供一個(gè)具體的例子(你想根據(jù)哪些條件得到什么結(jié)果),我可以幫你寫出更具體的公式。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.