二維碼 購物車
部落窩在線教育歡迎您!

臟數(shù)據(jù)源,數(shù)據(jù)透視表不能搞定,就用萬金油函數(shù)搞定!

?

作者:E圖表述來源:部落窩教育發(fā)布時(shí)間:2021-05-08 10:36:08點(diǎn)擊:2826

分享到:
0
收藏    收藏人氣:0人
版權(quán)說明: 原創(chuàng)作品,禁止轉(zhuǎn)載。

編按:

在日常工作中,數(shù)據(jù)透視表已經(jīng)成為每個EXCELER最重要工作伙伴之一,在每個EXCEL的工作戰(zhàn)場幾乎都留下了它戰(zhàn)無不勝的身影??墒?,當(dāng)遇到臟數(shù)據(jù)的時(shí)候,透視表卻無能為力,萬金油函數(shù)成為替代它的最佳選擇!所以,小E今天給大家?guī)淼木褪侨f金油函數(shù)和數(shù)據(jù)透視表雙重技能,幫你搞定工作中80%的難題,只需1分鐘!

 

【前言】

數(shù)據(jù)透視表有不可承受之重!在EXCEL交流群里,筆者(E圖表述)為大家解答關(guān)于數(shù)據(jù)處理類問題的時(shí)候,往往都會使用函數(shù)或者VBA。這時(shí),筆者就會被大家“友善的提(抨)醒(擊)”——有沒有更簡單的方法?因?yàn)榇蠹叶剂?xí)慣使用那種信手拈來的方法,例如數(shù)據(jù)透視表。

 

不容置疑,數(shù)據(jù)透視表是EXCEL中一個很重要的版塊,即便現(xiàn)下比較流行的POWERQUERY或者BI,其實(shí)也都是在數(shù)據(jù)透視表上的一個延伸。在合適的時(shí)候使用合適的方法,這永遠(yuǎn)是我們處理任何問題時(shí)應(yīng)該秉承的原則。

 

【正文】

您好,這是您的開胃菜:

 

 

需求如下:

A1:B13單元格區(qū)域中數(shù)據(jù),填寫到D1:I6單元格區(qū)域中。

 

 

這是一個模擬數(shù)據(jù)透視表的問題,將一維表轉(zhuǎn)為二維表,典型的“數(shù)透工作內(nèi)容”,但是這A列的倉庫名稱寫的也太……太太……了。

PS:這不是為了模擬而模擬的數(shù)據(jù),現(xiàn)實(shí)工作中確實(shí)就有人把數(shù)據(jù)錄成這樣,這是和自己有多大仇,才能把EXCEL用成這樣?。。?/span>

 

這樣的數(shù)據(jù)用數(shù)據(jù)透視表來做,基本無望了,即使是PQ的清洗數(shù)據(jù)也是無從下手。那么大家要么就收工將A列內(nèi)容“清洗干凈”,要么就只能燒腦想函數(shù)或者VBA解決了。

 

【萬金油函數(shù)處理“臟數(shù)據(jù)”】

E2單元格輸入函數(shù):

{=IFERROR(INDEX($B$2:$B$13,SMALL(IF(ISERROR(FIND($D2,$A$2:$A$13)),9^9,ROW($1:$12)),COLUMN(A1))),"")}

 

點(diǎn)擊E2單元格后,選擇選項(xiàng)卡中的“公式求值”,可逐一驗(yàn)證公式內(nèi)各嵌套函數(shù)分別的結(jié)果。

 

 

函數(shù)解析:

STEP1

使用ISERROR+FIND函數(shù),判斷A列內(nèi)容中是否包含了D2單元格的值。在公式求值對話框中,可得出這部分的結(jié)果,如下圖橫線部分。

 

 

在這里要說明一下,ISERROR函數(shù)是判斷是否報(bào)錯的函數(shù)。如果FIND找到值的時(shí)候,ISERROR返回的是FALSE;如果FIND沒找到值,是#VALUE時(shí),反而ISERROR返回TRUE。切記不要弄混!

 

STEP2

使用IF函數(shù)判斷,如果返回值為TRUE,就返回9^999次冪,一個絕對大的數(shù),目的是不會在后面的運(yùn)算中用到);返回值為FALSE時(shí),使用ROW函數(shù)返回對應(yīng)的行號。依然用“公式求值”功能,可知結(jié)果如下圖下劃線部分。

 

 

STEP3

再使用SMALL+COLUMN函數(shù),在數(shù)列中“逐個”提取第N小的值吧。例如E2單元格,COLUMN函數(shù)引用的是A1A1單元格的列號),返回值是1,那么數(shù)列中第1小的值是1。如果函數(shù)變動位置,那么列號就會變動,原因是COLUMN函數(shù)的相對引用。

 

STEP4

使用INDEX函數(shù),結(jié)合第三步引出的值,就可以提取B2:B13單元格區(qū)域的值了。

 

STEP5

使用IFERROR函數(shù)將沒有引出內(nèi)容的錯誤值,容錯為“空值”。

 

STEP6

最關(guān)鍵的一步,使用CTRL+SHIFT+ENTER組合鍵,將函數(shù)轉(zhuǎn)為數(shù)組函數(shù),及此,整個處理過程完畢。

 

【標(biāo)準(zhǔn)數(shù)據(jù)用數(shù)據(jù)透視表】

 

上面是一個工作上的實(shí)例,雖然筆者給出了解決的辦法,但是真心不希望大家的工作表也是這樣的“臟數(shù)據(jù)”。

 

如果是下面的數(shù)據(jù),你會如何做呢?

 

 

加一列輔助列,同學(xué)們就可以使用數(shù)據(jù)透視表來做了,如下:

 

STEP1

 

C列做輔助列“入庫批次”

C2單元格輸入函數(shù)=COUNTIF($A$2:A2,A2),下拉至C13單元格填充。

 

STEP2

選中A1:C13單元格區(qū)域,再在工具欄中點(diǎn)擊插入——數(shù)據(jù)透視表。

 

 

在彈出的“創(chuàng)建數(shù)據(jù)透視表”窗口中,/區(qū)域”的文本框中已經(jīng)自動添加上了(因?yàn)榇蠹掖饲斑x中了該單元格區(qū)域)。然后,選擇“現(xiàn)有工作表”,位置為F1單元格。最后,點(diǎn)擊“確定”按鈕。

 

STEP3

在布局窗口中,按下圖拖拽標(biāo)簽。

 

 

及此,大家就得到了一個入庫批次及庫存位置的統(tǒng)計(jì)表了,而且還有合計(jì)數(shù)。

 

 

不要只看,一起動手試一下吧!

 

本文配套的練習(xí)課件請加入QQ群:902294808下載。

Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班》直播課全心為你!

掃下方二維碼關(guān)注公眾號,可隨時(shí)隨地學(xué)習(xí)Excel

IMG_256

相關(guān)推薦:

Excel數(shù)據(jù)透視表入門教程1:按需匯總數(shù)據(jù)和工作表拆分

Excel數(shù)據(jù)透視表入門教程2:常見疑難雜癥的處理方法

Excel數(shù)據(jù)透視表入門教程3:透視表排序的4種方法和插入公式

Excel數(shù)據(jù)透視表系列教程第四節(jié):篩選技巧

版權(quán)申明:

本文作者E圖表述;同時(shí)部落窩教育享有專有使用權(quán)。若需轉(zhuǎn)載請聯(lián)系部落窩教育。