編按: 如果單位還沒有采用電子發(fā)票系統(tǒng),就無法直接導(dǎo)出發(fā)票明細(xì),需要對收到的PDF電子發(fā)票人工錄入發(fā)票明細(xì)表中。本教程提供一種快速將PDF電子發(fā)票數(shù)據(jù)提取到Excel發(fā)票明細(xì)登記表中的方法。 財務(wù)人員會收到很多PDF格式的電子發(fā)票,今天為大家介紹如何使用Excel自動提取電子發(fā)票中的明細(xì)數(shù)據(jù)。 比如,需要將每張PDF發(fā)票紅色框選區(qū)中的數(shù)據(jù)提取出來,按下方形式排列,方便登記到發(fā)票明細(xì)表。下面筆者以Excel 2021為例介紹具體的操作。提取出以上明細(xì)數(shù)后,再加上發(fā)票號碼、開票日期、發(fā)票類型、銷方信息等,即可登記入發(fā)票明細(xì)表中。一、導(dǎo)入PDF電子發(fā)票數(shù)據(jù)把收到的PDF電子發(fā)票都保存在一個文件夾中備用。啟動Excel后點擊“數(shù)據(jù)/來自文件/從PDF文件”(舊版Excel需要選擇“從文件夾”)。導(dǎo)入發(fā)票文件后選擇“page001”,點擊“轉(zhuǎn)換數(shù)據(jù)”。在加載界面點擊“保留行的范圍”,選擇僅保留發(fā)票名稱欄到合計欄界面的數(shù)據(jù)(具體行數(shù)可能不同發(fā)票有所不同),方便后續(xù)公式對數(shù)據(jù)的引用。最后點擊“關(guān)閉并上載/關(guān)閉并上載至”,在數(shù)據(jù)的放置位置選擇“現(xiàn)有工作表的A1”。返回Excel中,可以看到發(fā)票數(shù)據(jù)有三個明顯的問題:問題1:大多項目名稱(貨物或應(yīng)稅勞務(wù)、服務(wù)名稱)是多行的一個項目名稱應(yīng)當(dāng)記錄在一個單元格中,但當(dāng)前以“*”開頭的項目名稱記錄在多個單元格中。各明細(xì)數(shù)據(jù),如項目名稱、規(guī)格型號、單位等各列之間不應(yīng)有多余的空列。譬如當(dāng)前D列是“規(guī)格型號”,但實際的規(guī)格型號數(shù)據(jù)“25208”登記在C列。下面我們進(jìn)行數(shù)據(jù)提取。名稱數(shù)據(jù)統(tǒng)一以“*“開頭,一個名稱可能是一行數(shù)據(jù),也可能是多行數(shù)據(jù)。=TEXTSPLIT(CONCAT(IF(LEFT(B3:B13,1)="*",CHAR(10)&B3:B13,B3:B13&"")),,CHAR(10),TRUE) 使用IF函數(shù)判斷分行數(shù)據(jù)開頭是否有“*”。如有,就在前面連接一個分行符(CHAR(10));如沒有,就在其后連接一個空值(用于屏蔽多余值導(dǎo)致的“0”字符)。再使用CONCAT將這兩個類型數(shù)據(jù)連接起來,最后用TEXTSPLIT函數(shù)以分行符CHAR(10)分行得到正確的名稱數(shù)據(jù)。并非所有項目都有規(guī)格型號、單位、數(shù)量、單價數(shù)據(jù)因此,最好的方式是整行提取項目名稱后各列數(shù)據(jù),然后去掉空值,再從右往左分別取數(shù)據(jù)賦給稅額、稅率、金額、單價等。=IFERROR(TAKE(DROP(DROP(UNIQUE(VSTACK(IF($C$3:$Z$3<>"",COLUMN($C$3:$Z$3),""),FILTER($C$3:$Z$13,LEFT($B$3:$B$13)="*")),1,1),1)&"",,(COLUMN(A1)-7)),,-1),"")接著將公式向右拖到到I16,同時定位到需要轉(zhuǎn)化為數(shù)字的列(如金額列),將公式中的“take”更改為“--take”,完成格式的轉(zhuǎn)換。上方主要介紹了單張發(fā)票中明細(xì)數(shù)據(jù)的提取思路和方法。但是每張發(fā)票的行數(shù),以及項目名稱所在列數(shù)可能都不一樣,因此,在實際處理的時候可能需要經(jīng)常按實際修改公式。如果你不想修改公式,則需要設(shè)法查找出項目名稱的開始位置和結(jié)束位置,然后在今天的公式中引用單元格的位置即可做成模板。 教程中其他數(shù)據(jù)的提取思路是正確的,但如果要想適應(yīng)所有電子發(fā)票的提取,則還需要修改公式。譬如當(dāng)前公式就不適合規(guī)格型號是多行的,或者單個產(chǎn)品有規(guī)格型號但沒有單位的發(fā)票的處理。這些不足,都需要在模板中避免。
|