臟數(shù)據(jù)源,數(shù)據(jù)透視表不能搞定,就用萬金油函數(shù)搞定!
?
作者:E圖表述來源:部落窩教育發(fā)布時(shí)間:2021-05-08 10:36:08點(diǎn)擊:2826
編按:
在日常工作中,數(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^9(9的9次冪,一個絕對大的數(shù),目的是不會在后面的運(yùn)算中用到);返回值為FALSE時(shí),使用ROW函數(shù)返回對應(yīng)的行號。依然用“公式求值”功能,可知結(jié)果如下圖下劃線部分。
STEP3:
再使用SMALL+COLUMN函數(shù),在數(shù)列中“逐個”提取第N小的值吧。例如E2單元格,COLUMN函數(shù)引用的是A1(A1單元格的列號),返回值是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:
相關(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)系部落窩教育。
最熱教程
- 像綠皮火車一樣長像珠穆拉瑪峰一樣高的Excel表怎么操作才方便?
- Power Query實(shí)戰(zhàn):按指定次數(shù)遞增數(shù)據(jù)
- 2019年全網(wǎng)最全—excel提取身份證信息合集?。ńㄗh收藏)-下篇
- 明明沒有重復(fù),Excel卻判定數(shù)據(jù)重復(fù),這是怎么回事?
- 文本格式的求和,及求和中最容易出現(xiàn)的問題解疑
- 致命缺陷:不懂一維表!
- 函數(shù)組合思維,你有嗎?
- 學(xué)會這2個公式,整理考勤數(shù)據(jù)只要一分鐘
- 就算被說是拍馬屁也成,今天你應(yīng)該這樣發(fā)Excel報(bào)表……
- 如何計(jì)算Excel單元格中的算式,四種求和方法請收好!