IFS 函數會檢查是否符合一或多個條件,並傳回對應至第一個 TRUE 條件的值。 IFS 可代替多重巢狀 IF 陳述式,並能使多個條件更容易閱讀。
附註: 如果您有 Office 2019,或如果您有 Microsoft 365 訂閱,就可以在 Windows 或 Mac 上使用此功能。 如果您是Microsoft 365 訂閱者, 請確定您有最新版本。
簡單的語法
一般而言,IFS 函數的語法為:
=IFS ([專案為 True1,若 True1 時為值,若 True2 則為值,若 True2 則為值,若為 True3 則為 True3,若為 True3 則為值)請注意,IFS 函數可讓您測試多達 127 種不同的條件。 不過,我們不建議使用 IF 或 IFS 語句巢狀處理太多條件。 這是因為需要以正確順序輸入多個條件,而且可能很難建置、測試及更新。
語法
-
IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], [logical_test3, value_if_true3],…)
引數 |
描述 |
logical_test1 (必要) |
評估為 TRUE 或 FALSE 的條件。 |
value_if_true1 (必要) |
如果 logical_test1 評估為 TRUE 時傳回的結果。 可以是空白。 |
logical_test2…logical_test127 (選用) |
評估為 TRUE 或 FALSE 的條件。 |
value_if_true2…value_if_true127 (選用) |
logical_testN 評估為 TRUE 時傳回的結果。 每個 value_if_trueN 都會對應到一個條件 logical_testN。 可以是空白。 |
範例 1
儲存格 A2:A6 的公式:
-
=IFS (A2>89,“A”,A2>79,“B”,A2>69,“C”,A2>59,“D”,TRUE,“F”)
這表示 IF(A2 大於 89,傳回 "A"、如果 A2 大於 79,傳回 "B",以此類推,任何小於 59 的值,則傳回 "F")。
範例 2
儲存格 G7 的公式為︰
-
=IFS (F2=1,D2,F2=2,D3,F2=3,D4,F2=4,D5,F2=5,D6,F2=6,D7,F2=7,D8)
這表示 IF(儲存格 F2 的值等於 1,傳回儲存格 D2 的值、如果儲存格 F2 的值等於 2,傳回儲存格 D3 的值,以此類推,最後如果沒有符合任何其他條件,則結尾傳回儲存格 D8 的值)。
備註
若要指定預設結果,請在最終的 logical_test 引數輸入 TRUE。 如果沒有符合任何其他條件,則會傳回對應的值。 在範例 1 中,列 6 和 7 (分數為 58) 就是這種情況。
-
如果 提供logical_test 自變數但不提供對應 的value_if_true,此函數會顯示「您為此函數輸入的自變數太少」錯誤訊息。
-
如果 評估logical_test 自變數並解析為 TRUE 或 FALSE 以外的值,此函數會傳回 #VALUE! 錯誤。
-
如果找不到 TRUE 條件,此函數會傳回 #N/A 錯誤。
需要更多協助嗎?
您可以隨時詢問 Excel 技術社群中的專家,或在社群中取得支援。
相關主題
IF 函數 進階 IF 函數 - 使用巢狀公式並避免易犯錯誤 訓練影片:進階 IF 函數 COUNTIF 函數會根據單一準則 計算值COUNTIFS 函數會根據多個準則 計算值SUMIF 函數會根據單一準則 加總值SUMIFS 函數會根據多個準則 加總值AND 函數OR 函數VLOOKUP 函數 Excel 公式概觀如何避免公式 出損偵測公式 中的錯誤邏輯函數依字母順序 () Excel 函數依類別) (Excel 函數