1. 概述
在進行資料分析時,使用者經常會使用到 IF 判斷條件,來對已有的資料進行資料清理和處理。
2. 處理特殊值
2.1 範例一:欄位中值為空
使用者在進行資料處理時,可能會遇到欄位有空的情況,此時如果在此基礎上需要對非 0 資料進行公式計算或者處理,就需要只處理非空的資料即可,可使用 IF 函式進行判斷。
範例資料:互聯網_訪問統計表.xlsx
例如「互網路連結_存取統計表」中的「統計日期」有為空的資料,需要將非空的「統計日期」資料處理為當前時間後十天,由於空值會被處理成 1970 年,因此需要在公式外再巢一個 IF 和 ISNULL 組合的函式,確定處理後的結果正確性。
建立分析主題,上傳下載的範例資料「互網路連結_存取統計表」,新增「新增公式列」並使用公式 IF(ISNULL(統計日期)=1,null,DATEDELTA(統計日期,10)),如下圖所示:
注:DATEDELTA 函式可以傳回指定日期後的具體日期。
2.2 範例二:保證除法結果的正確性
若出現需要對欄位進行除法計算,被除數或者除數為 0 ,此時也可以使用 IF 函式。
詳情參見:無窮/負數/空值顯示為0 。
3. 進行條件指派
使用者需要需要根據某些條件對資料進行分類指派處理,此時 IF 函式是一個比較好的選擇。
通常會 IF 函式會與 AND、OR、FIND等巢使用。
3.1 範例一:多個 IF 巢使用
範例資料:地區數據分析.xlsx
如果「客戶名稱」這個列中包含「有限公司」欄位的就等於「有限公司」,如果包含「大學」欄位的就等於「教育行業」,否則就為「其他」。
建立分析主題,上傳公共資料「地區資料分析」,新增「新增公式列」並輸入公式:IF(FIND("有限公司",客戶名稱)!=0,"有限公司",IF(FIND("大學",客戶名稱)!=0,"教育行業","其他")),如下圖所示:
注:欄位需要從公式框左側選擇,不能手動輸入。
公式說明:
公式 | 說明 |
---|---|
FIND("有限公司",客戶名稱)!=0 | 在「客戶名稱」欄位中尋找包含「有限公司」內容,則匯出為真,否則為 FALSE |
IF(FIND("有限公司",客戶名稱)!=0,"有限公司",IF(FIND("大學",客戶名稱)!=0,"教育行業","其他")) | 如果「客戶名稱」這個列中包含「有限公司」欄位的就等於「有限公司」,如果包含「大學」欄位的就等於「教育行業」,否則就為「其他」 |
3.2 範例二:與邏輯函式一起使用
仍然使用该資料集,如果只要滿足「合同金額>500000」、「省份屬於浙江省」中的一個,即指派為「指定合同」,否則為其他。
輸入公式:IF(OR(合同金額>500000,FIND("浙江省",省份)!=0),"指定合同","其他"),如下圖所示:
公式 | 說明 |
---|---|
FIND("浙江省",省份)!=0 | 若省份為浙江省,傳回 TRUE,否則傳回 FALSE |
OR(合同金額>500000,FIND("浙江省",省份)!=0) | 滿足兩個條件中的一個則為真 |
也可將 OR 更換成 ||:IF(合同金額>500000||FIND("浙江省",省份)!=0,"指定合同","其他")
4. 處理邏輯錯誤值
範例資料:互聯網_訪問統計表.xlsx
在進行資料處理時,使用者經常遇到資料「邏輯值錯誤」的問題,例如有一張資料表,總停留時間是有負數的資料,明顯這些資料是錯誤的,此時就需要進行資料處理,將「總停留時間」為負數的都改成「報錯」進行標識。
4.1 操作步驟
建立分析主題,上傳下載的範例資料「互網路連結存取統計表」,新增「新增公式欄」,命名為「總停留時間校對」並使用公式 IF(總停留時間>=0,總停留時間,"報錯"),如下圖所示:
公式 | 說明 |
---|---|
IF(總停留時間>=0,總停留時間,"報錯") | 如果總停留時間欄位>=0,則按照原內容匯出,否則指派為「報錯」 |
注1:「總停留時間」欄位需要從左側的欄位選擇框中點選新增進公式框。
注2:由於「報錯」為正文資料,因此需要使用雙引號。