當前為5.1版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

巧用 IF 函式處理資料

1. 概述

在進行資料分析時,使用者經常會使用到 IF 判斷條件,來對已有的資料進行资料清理和處理。

2. 處理特殊值

2.1 範例一:欄位中值為空

使用者在進行資料處理時,可能會遇到欄位有空的情況,此時如果在此基礎上需要對非 0 資料進行公式計算或者處理,就需要只處理非空的資料即可,可使用 IF 函式進行判斷。

範例資料:網際網絡_存取統計表.xlsx

例如「網際網絡_存取統計表」中的「統計日期」有為空的資料,需要將非空的「統計日期」資料處理為當前時間後十天,由於空值會被處理成 1970 年,因此需要在公式外再巢一個 IF 和 ISNULL 組合的函式,確定處理後的結果正確性。

建立自助資料集,建立「新增列」並使用公式IF(ISNULL(統計日期)=1,null,DATEDELTA(統計日期,10)),如下圖所示:

注:DATEDELTA 函式可以傳回指定日期後的具體日期。

2.2 範例二:保證除法結果的正確性

若出現需要對欄位進行除法計算,被除數或者除數為 0 ,此時也可以使用 IF 函式。

詳情參見:無窮/負數/空值顯示為0  。

2. 進行條件指派

使用者需要需要根據某些條件對資料進行分類指派處理,此時 IF 函式是一個比較好的選擇。

通常會 IF 函式會與 AND、OR、FIND等巢使用。

2.1 範例一:多個 IF 巢使用

使用內建資料集「地區資料分析」。

如果「客戶名稱」這個列中包含「有限公司」欄位的就等於「有限公司」,如果包含「大學」欄位的就等於「教育行業」,否則就為「其他」。

建立自助資料集,建立新增列並輸入公式:IF(FIND("有限公司",客戶名稱)!=0,"有限公司",IF(FIND("大學",客戶名稱)!=0,"教育行業","其他")),如下圖所示:

注:欄位需要從公式框左側選擇,不能手動輸入。

公式說明:

公式
說明
FIND("有限公司",客戶名稱)!=0在「客戶名稱」欄位中尋找包含「有限公司」內容,則匯出為真,否則為 FALSE
IF(FIND("有限公司",客戶名稱)!=0,"有限公司",IF(FIND("大學",客戶名稱)!=0,"教育行業","其他"))如果「客戶名稱」這個列中包含「有限公司」欄位的就等於「有限公司」,如果包含「大學」欄位的就等於「教育行業」,否則就為「其他」

2.2 範例二:與邏輯函式一起使用

仍然使用內建資料集,如果只要滿足「合同金額>500000」、「省份屬於浙江省」中的一個,即指派為「指定合同」,否則為其他。

輸入公式:IF(OR(合同金額>500000,FIND("浙江省",省份)!=0),"指定合同","其他"),如下圖所示:

公式
說明
FIND("浙江省",省份)!=0若省份為浙江省,傳回 TRUE,否則傳回 FALSE
OR(合同金額>500000,FIND("浙江省",省份)!=0)滿足兩個條件中的一個則為真

也可將 OR 更換成 ||:IF(合同金額>500000||FIND("浙江省",省份)!=0,"指定合同","其他")

3. 處理邏輯錯誤值

在進行資料處理時,使用者經常遇到資料「邏輯值錯誤」的問題,例如有一張資料表,總停留時間是有負數的資料,明顯這些資料是錯誤的,此時就需要進行資料處理,將「總停留時間」為負數的都改成「報錯」進行標識。


3.1 操作步驟

建立自助資料集,建立「新增列」並使用公式IF(總停留時間>=0,總停留時間,"報錯"),如下圖所示:

公式
說明
IF(總停留時間>=0,總停留時間,"報錯")如果總停留時間欄位>=0,則按照原內容匯出,否則指派為「報錯」

注1:「總停留時間」欄位需要從左側的欄位選擇框中點選新增進公式框。

注2:由於「報錯」為正文資料,因此需要使用雙引號。

3.2 效果查看


附件列表


主題: 数据分析进阶
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 评价文档,奖励 1 ~ 100 随机 F 豆!