從2016版開(kāi)始,Excel自帶的Power Query功能讓很多小伙伴為之傾倒,用Power Query來(lái)匹配字段(合并查詢比VLOOKUP快很多),合并同一個(gè)文件夾下的大量工作簿等,效率那是一個(gè)高。 但是有很多小伙伴會(huì)遇到合并工作簿出錯(cuò)的問(wèn)題:明明都是字段名字相同的工作簿,合并文件以后,卻只顯示一個(gè)工作簿的明細(xì),其他工作簿的內(nèi)容都不見(jiàn)了。 文件內(nèi)容如截圖所示: 咱們先來(lái)回憶一下用PQ合并多個(gè)工作簿的方法。 數(shù)據(jù)選項(xiàng)卡—新建查詢—從文件—從文件夾—瀏覽(選擇工作簿所在的路徑)—確定—組合和編輯—選擇一個(gè)示例文件,點(diǎn)確定—關(guān)閉并上載。 通常,這樣一套操作下來(lái),保存好的多個(gè)工作簿,就乖乖的并到一個(gè)表里了。但這次給出了錯(cuò)誤提示:[Expression.Error] 該鍵與表中的任何行均不匹配。 讓我們一起來(lái)查一查是哪里出了問(wèn)題吧。Power Query有一個(gè)很優(yōu)秀的特性,就是會(huì)在右側(cè)“應(yīng)用的步驟”中記錄下來(lái)每一步的操作,并起一個(gè)名字。只要點(diǎn)擊名字,就可以在界面中間預(yù)覽這一步操作的結(jié)果。 我們從“更改的類型”開(kāi)始往回找,看看是從哪一步開(kāi)始出現(xiàn)Error的。最終找到了“調(diào)用自定義函數(shù)1”。再往前一步,就沒(méi)有產(chǎn)生錯(cuò)誤了。所以我們來(lái)看一看,這個(gè)調(diào)用自定義函數(shù)1,到底出了什么問(wèn)題。 點(diǎn)開(kāi)左上角的高級(jí)編輯器,我們看到這一步使用了Table.AddColumn這個(gè)函數(shù)。 這個(gè)函數(shù)的功能是在表“篩選的隱藏文件1”中新增一列,新增的列名為“從 新建文件夾 轉(zhuǎn)換文件”,第三個(gè)參數(shù)就是each后邊調(diào)用的函數(shù)了。 這時(shí)候,我們基本可以斷定,問(wèn)題出在這個(gè)自定義的函數(shù)上了。 我們回過(guò)頭來(lái),看左邊界面的查詢,由兩個(gè)文件夾狀的標(biāo)記組成: 下邊一個(gè)叫其他查詢[2],也就是我們最終的查詢結(jié)果;上邊一個(gè)叫“從 新建文件夾 轉(zhuǎn)換文件[3]”,就是自定義的函數(shù)了。 經(jīng)過(guò)對(duì)這個(gè)函數(shù)下每一個(gè)查詢的篩查,我們發(fā)現(xiàn)其中一個(gè)查詢,叫做“從新建文件夾 轉(zhuǎn)換示例文件”。 打開(kāi)這個(gè)查詢的高級(jí)編輯器。從第二行可以看出,獲取數(shù)據(jù)的規(guī)則是,sheet名為“1”,類型為“sheet”的數(shù)據(jù)。 由此,我們可以推測(cè),Power Query把這個(gè)規(guī)則固定下來(lái)作為示例,作用在每一個(gè)要合并的文件上。 由于第二個(gè)工作簿的sheet名為“20161222153959”,第三個(gè)工作簿的sheet名為“20180111094717”,很明顯不在示例規(guī)則的取數(shù)范圍內(nèi),難怪合并不到其他工作簿的數(shù)據(jù)呢。 問(wèn)題找到了,要怎么解決呢? 其實(shí)解決方法很簡(jiǎn)單,把限制條件刪掉就可以了,即刪掉Item='1',,尤其注意要?jiǎng)h掉逗號(hào)。改完后,點(diǎn)擊確定就可以了。 這個(gè)問(wèn)題主要適用這樣的情況: 1.自己喜歡用不同的sheet名,來(lái)保存不同的數(shù)據(jù)。 2.數(shù)據(jù)來(lái)源是公司系統(tǒng),但系統(tǒng)每次升級(jí),都會(huì)給你個(gè)新的默認(rèn)sheet名。 如果要一個(gè)個(gè)的打開(kāi)工作簿,人工把sheet名改成一致的,工作量簡(jiǎn)直不可想象,所以咱們還是選擇改代碼吧。 圖文制作:北京市朝陽(yáng)區(qū) 吳浩 |
|
來(lái)自: 勁哥酷歌 > 《Excl函數(shù)》