Excel、LibreOffice Calc 函式 IFS 教學

Excel 是我們拿來做資料分析的一個好幫手,在傳統的的 IF 函式,我們必須寫很多判斷式,才會達到巢狀 IF (Nested IF) 的目的,而現在 ExcelLibreOffice Calc 都有了新的函式 IFS,讓你更容易使用巢狀 IF 囉!

excel-ifs

 

假設,我們要依學生的分數,產生不同的學生等第。

成績等第
100分
90~99
80~89
70-79
60-69
60以下不及格

 

在寫東西之前,我們要先掌握到邏輯,以這範例的邏輯,我們會希望是下面。

if (grade == 100) 
    print ("優")
else if (grade >= 90) 
    print ("甲")
else if (grade >= 80) 
    print ("乙")
else if (grade >= 70) 
    print ("丙")
else if (grade >= 60) 
    print ("丁")
else
    print ("不及格")

 

有了邏輯之後,我們就可以使用 IF 來建立我們的函式,我們先來看一下傳統的 IF 函式的規格。

IF(條件, 條件成立時, 條件不成立時)

 

也就是說,在這一個範例中,你就要寫了這麼長,才能達到這個目的。

=IF(A2=100,"優",IF(A2>=90, "甲", IF(A2>=80, "乙", IF(A2>=70, "丙", IF(A2>=60, "丁", IF(A2<60, "不及格"))))))

excel-ifs-3

 

再來看看新的函式 IFS 的描述。

IFS( 條件1, 結果1[, 條件2, 結果2][, …] )

 

所以,以這個範例來說,我們只要寫成這樣就好,是不是變得超級簡單呢?

=IFS(
    A3 = 100,
    "優",
    A3 >= 90,
    "甲",
    A3 >= 80,
    "乙",
    A3 >= 70,
    "丙",
    A3 >= 60,
    "丁",
    A3 < 60,
    "不及格"
)

excel-ifs-4

 

再搭配 Excel 的公式編輯器,簡直是超級好用的啦!

excel-ifs-1

 

而新的 IFS 在 Office 2016 以上的版本才會有,因為 LibreOffice  是免費的,所以只要下載最新的 LibreOffice 就有有這個函式了。