【Power Pivot技巧】使用安全除法函數DIVIDE避免除數為0的報錯
我們在建立Power Pivot數據模型的時候,經常要寫關於除法的度量值,尤其是計算類似任務額完成度,銷售佔比等情況。如果遇到分母是0的情況,則Excel會返回一個錯誤值N/A,我們需要用IF或者IFERROR來規避這種情況。今天我們給大家介紹PowerPivot里的DIVIDE函數,也叫安全除法函數,可以非常簡單的避免這種情況。
我們先來看一下DIVIDE函數的輸入要求:
=DIVIDE(分子,分母,[替換結果])
其中[替換結果]默認不需要輸入即為空白(BLANK),如需替換成其它結果,則直接輸入即可。
接下來我們看一下下面的這個例子:
在我們的模型里,員工表分別關聯銷售表和任務額表,我們需要計算員工的任務額完成度。我們先來看一下各個寫法:
常規寫法:
任務額完成度:=銷售表[銷售金額]/任務額[任務總額]
用IF的寫法:
任務額完成度IF:=if(任務額[任務總額]=0,blank(),銷售表[銷售金額]/任務額[任務總額])
用DIVIDE的寫法:
任務額完成度Divide:=DIVIDE(銷售表[銷售金額],任務額[任務總額])
用IFERROR的寫法:
任務額完成度IFERROR:=IFERROR(銷售表[銷售金額]/任務額[任務總額],BLANK())
下面是生成的數據透視表報告:
我們看到,由於「趙六」沒有任務總額,所有常規寫法的任務額完成度是報錯的 – 「#NUM!「.而後面用IF,DIVIDE和IFERROR的都沒有報錯,顯示空白值,所以用這三種寫法都可以規避這種報錯的情況,那麼哪個寫法最快最簡單呢?我們從下面兩個角度來比較:
輸入簡單性 – DIVIE更簡單,它不需要指定BLANK()函數,默認即可。
從公式所需運算 – IF要先判斷所有計算是否為BLANK(),然後再執行計算。而DIVIDE和IFERROR一樣,先執行計算,只針對報錯的部分賦予替代值,所以DIVIDE和IFERROR所需運算更少。
建議大家在今後的模型中多使用DIVIDE,不僅簡單還可以幫助大家更多的避免出錯的發生。
*PowerPivot工坊原創文章,歡迎轉載,請註明出處
-----------------------------------------------------------------------------------------------------------------------
延伸閱讀:
在Power Pivot中使用DATEDIFF函數計算日期時間間隔
使用USERELATIONSHIP實現兩表之間多個關係的調用
在Power Pivot中計算父行匯總百分比
圖解Earlier函數
Power Pivot時間智能之YTD(年初至今累計)
一張圖看懂微軟Power BI系列組件
當Power BI遇上歐冠決賽
-----------------------------------------------------------------------------------------------------------------------
如果您想深入學習微軟Power BI,歡迎登錄網易雲課堂試聽學習我們的「從Excel到Power BI數據分析可視化」系列課程。或者關注我們的公眾號(PowerPivot工坊)後猛戳」在線學習」
推薦閱讀:
※如何快速刪除excel中的所有空行或空列?
※當?Power?BI?遇上洪災
※[E1-08]單元格合併
※是時候展現真正的技術了——動態人口結構金字塔變化圖(R語言+Excel)
※Excel如何篩選連續重複的數據
TAG:PowerBI | MicrosoftExcel | 数据分析 |