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