首頁 > 軟體

彙總100個PDF表格,用Excel就夠了,可以自動匹配標題欄位

2021-05-28 13:30:07

彙總100個表頭順序不同的PDF表格。職場中遇到這樣的問題會讓很多人感到頭皮發麻,即使是 「職場老鳥」也不例外。很多人都能想到的方法就是利用付費軟體將PDF一個一個的轉換為Excel,然後再彙總但是它們的表頭順序是不同的只能一個一個表格的調整順序再複製貼上,有一個粉絲表示需要彙總100個這樣的檔案,已經做了1天了還沒搞定,有沒有什麼快速的方法呢?其實我們不必捨近求遠,利用Excel中的power query這個功能只需要幾分鐘就能輕鬆解決這樣的。操作也並不難,只需利用2個M函數就能輕鬆搞定,下面就讓我們來一起操作下吧!

一、所需M函數

1. Pdf.Tables:獲取Pdf中的表格資料

語法:=Pdf.Tables(pdf as binary) as table

這個M函數的可選參數非常多,我們可以不做設定,它的必須參數是:pdf as binary意思就說:pdf檔案必須要轉換為binary(二進位制檔案)才能放在第一參數中。as table是說函數返回的類型是表格

2. Table.PromoteHeaders:將第一行用作標題

語法:= Table.PromoteHeaders(table as table) as table

table as table它的意思是說這個函數的參數必須是一個table格式的資料,as table是說函數返回的類型是表格

對於這類的函數可能大家都比較陌生感覺看不懂。今天的操作其實非常的簡單,這兩個函數我們都是僅僅為其添加了一個參數,下面我們就來著手彙總下PDF

二、彙總PDF

1.獲取資料

首先我們需要將想要彙總的pdf檔案都放在一個資料夾中,然後新建一個Excel點選【資料】功能組,在左側找到【獲取資料】→【來自檔案】→【從資料夾】。跳出一個檔案選擇的視窗後我們找到存放PDF的資料夾然後點選開啟,power query就會載入獲取資料,獲取資料後會跳出介面,我們直接點選【轉換資料】就會進入power query的編輯介面

2.整理資料

進入PQ後我們僅僅保留前兩列資料,將其餘的資料都刪掉。Name這一列是pdf檔案的名稱,Content這一列是每個pdf對應的二進位制檔案。然後將name這一列放在最前面,緊接著我們【轉換】找到【替換值】將字尾名.pdf替換掉。最後將name更改為檔名

3.獲取PDF中的表格

上一步PQ已經將pdf檔案轉換為了binary,我們就可以使用Pdf.Tables來獲取pdf檔案中的表格了。需要點選【新增列】找到【自定義列】就會跳出新增自定義列的介面,隨後我們在自定義公式這個輸入:Pdf.Tables([Content])然後點選確定,這樣的話就會多出一列自定義列,並且資料都是table

隨後我們點選自定義右上角的左右箭頭來展開資料,在這裡我們僅僅選擇kind和date這兩類資料,再把使用原始列明作為字首的對勾去掉點選確定即可,這樣的話在一個pdf檔案就會對應2個kind分別是page和table,這兩個類型中的資料是一模一樣的我們只需要任選一個作為資料即可,在這裡我們選擇table為資料,可以在kind欄位中篩選table然後點選確定即可,隨後我們就可以將kind和content這兩個欄位都刪掉了,在這裡data欄位中的table對應的就是每個pdf檔案中的表格,我們可以點選看一下

4.提升標題

現在我們雖然獲取了pdf中的表格,但是它的標題是預設的,想要達到自動匹配表頭的效果,我們就必須要將表格中的標題放在PQ中標題的位置,這個時候我們就需要用到Table.PromoteHeaders這個函數,也是新增一個自定義列,然後將公式設定為:Table.PromoteHeaders([Data])然後將data這一列資料刪除掉,我們點選table可以看下錶格中的標題已經放在標題行了

5.展開資料

隨後我們還是點選下自定右上角的左右箭頭來展開資料,選擇全部欄位不要勾選使用原始列名,然後點選確定,這樣的話就彙總完畢了,最後只需要點選【主頁】找到【關閉並上載】將數載入回excel即可

使用這個方法當我們向資料夾中放置新的pdf表格檔案,只需要回到彙總的Excel表格中,點選滑鼠右鍵選擇重新整理,新放置的pdf檔案就能自動重新整理進來,非常的方便

以上就是今天分享的全部內容,你學會了嗎?

我是Excel從零到一,關注我,持續分享更多Excel技巧


IT145.com E-mail:sddin#qq.com