社外のある機関が作成しているPDFファイルのデータを、エクセルに取り込む必要があり、コピーペーストでも良いのですが上手く出来ないときがあります。他の方法はないのでしょうか?また、この作業が定期的に発生する場合、何か自動化する方法はありますでしょうか?
隠れトランプ
2021.04.17 13:16:44
1108
「社外のある機関」を仮に取引先などと想定し、そこから毎月以下のような請求書が届く場合を考えてみます。
この請求書の中から、請求明細の表部分をエクセルに抽出したい場合は、毎回ファイルを開いてコピー&貼り付けでもできますが、今回はPowerQueryを使ったらどうでしょうか?そうすると、毎回自動的に請求明細の表部分を取り込むことができます。
まず、エクセルを開き、PDFファイルを取り込みます。
データタブから、データの取得、ファイルから、PDFからの順番で選択します。
PDFファイルを選択して取り込むと、「ナビゲーター」画面が開き、PDFファイルの中に入っている表形式のデータを全部自動的に抽出してくれます。「請求明細の表」部分は、Page001という名前が付けられています。
余分な表を取り除いてから、エクセルに取り込みたいので、「データの変換」をクリックします。
そうすると、次のようなPower Queryエディターの画面が開きます。
ここから不必要な部分を削除していきます。
それでは、まず請求明細のテーブルは、16行目以降、28行目までなので「行の削除」機能を使って削除します。
「上位の行の削除」をクリックし、行数に16と入力、OKを押します。
同様に、「下位の行の削除」をクリックし、行数に12と入力、OKを押します。
そうすると、行のデータは綺麗に整ったことが確認できます。
今度は、列を整理します。以下の列は必要ないので、削除します。
また、1行目の名前がずれてしまっているので、2行目からのデータの位置と合わせるために、値の置換を使って、データを修正します。
最後に、1行目をヘッダーとして使用するように変換します。
データの修正はこれで完成です。「閉じて読み込む」を押すと、
綺麗に表形式で取り込みされるのがわかります。
以上です!私のノートでもPower Queryの他の便利な機能について紹介しているので、ご参考になればと思います。
Jetsetter
2021.05.08 13:35:41
(2021.05.08 14:10:52 更新)
![]()
ありがとうございました!Jetsetterさんのノートも拝見して感銘を受けました。私もPower Queryをしっかり勉強してみて、職場で活用してみようと思います。
|
コメントするには ログイン していただく必要があります。