1. トップ
  2. 新着ニュース
  3. IT
  4. IT総合

Excelをノーコードで自動化しよう! パワークエリの教科書 第22回 PDF文書に掲載されている「表」からデータを取得

マイナビニュース / 2024年10月7日 11時0分

この作業は“表の形式”に応じてケース by ケースになるため、もう一つ例を紹介しておこう。今度は、先ほど示したPDFの“21枚目”にあるデータ表をパワークエリで取得してみよう。

今度は、以下の図に示したような形でデータが取得された。データ表の上に記載されている「概要」の文字までデータとして取得されてしまっている。

ひとつずつ順番に整理していこう。表の“見出し”となる部分の大半は、2行目のデータとして取得されている。よって、上から1行のデータを削除し、その後「1行目をヘッダーとして使用」を適用する。

これで各列の「列名」を指定できたことになるが、一部、不具合が残っている。取得元のデータ表で“見出し”が少し下に配置されていたり、“見出し”が2行になっていたりしていた部分は、正しい「列名」になっていない。これらの列は、手作業で「列名」を入力しなおす必要がある。

「列名」を正しく修正できたら、上から2行のデータは不要になる。これらの行を削除し、各列に適切な「データ型」を指定する。

以上で、データ表の整理は完了。「年度」のデータが「昭和45」や「46」、「平成元」などになっており、表記が統一されていないことが少し気になるが、これを「Power Query エディター」で修正するのは難しい。よって、現状のままExcelに出力する。

各列に適切な「表示形式」を指定すると、以下の図に示したようなデータ表(テーブル)を得ることができる。

ただし、「年度」のデータが“文字列”として扱われており、その表記も統一されていないため、このままでは「並べ替え」などの操作を正しく行えなくなってしまう。この修正はExcelで作業していこう。

新しい列を挿入し、列名に「西暦」と入力する。続いて、「昭和45年」と「昭和46年」に対応する西暦を入力する。その後、これらのセルを選択して、オートフィルで連番の数値をコピーする。

「年度」のデータは1年刻みで変化しているので、これで各年度に対応する「西暦」を追加できたことになる。「並べ替え」などの操作も問題なく行えるはずだ。

このように、すべてを「Power Query エディター」で処理するのではなく、Excelに出力した後に“修正”や“補完”を行うのも効果的な手法といえる。

PDFからのデータ取得は何回も繰り返す作業ではないため、すべてを「Power Query エディター」で処理する必要はない。むしろ、「適当なところまで整理できたら、後はExcelで処理する」と考えた方が効率よく作業を進められるだろう。
普通にコピペした場合は?

最後に、PDFに掲載されているデータ表を普通にコピー&ペーストした例を紹介しておこう。データ表の部分をドラッグして選択し、「Ctrl」+「C」キーを押してデータをコピーする。

その後、Excelを起動して「Ctrl」+「V」キーでデータを貼り付けると、以下の図のような結果になった。

この例のように、コピー&ペーストでは正しくデータを取り込めないケースも多い。コピー&ペーストが思った通りに機能してくれるケースもあるが、そうならない場合に備えて、パワークエリでPDFからデータを取得する方法も覚えておくと、いずれ役に立つだろう。
(相澤裕介)



この記事に関連するニュース

トピックスRSS

ランキング

記事ミッション中・・・

10秒滞在

記事にリアクションする

記事ミッション中・・・

10秒滞在

記事にリアクションする

デイリー: 参加する
ウィークリー: 参加する
マンスリー: 参加する
10秒滞在

記事にリアクションする

次の記事を探す

エラーが発生しました

ページを再読み込みして
ください