検索
連載

コピペではうまくいかないWebページやPDFファイル内の表をExcelに正しく読み込むTech TIPS

さまざまなWebサイトで公開されている表をMicrosoft Excelに読み込んで活用する際、コピー&ペーストではうまく表形式で読み込めないことがある。このような場合、1つずつセルをコピーしてExcelに貼り付けたり、テキストエディタなどにコピーして整形したりしなくても、簡単にExcelへの読み込みが可能だ。その方法を紹介しよう。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「Tech TIPS」のインデックス

連載目次

対象:Excel 2016/2019/2021/365


WebページやPDFファイルにある表をExcelに読み込む
WebページやPDFファイルにある表をExcelに読み込む
各省庁の統計データや企業が公開している決算データなどをMicrosoft Excelに読み込んで活用したいと思ったことはないだろうか。その際、コピー&ペーストでは表が正しく読み込まないことがある。実は、Webブラウザで開いたWebページやPDFファイルの表は、Excelで簡単に読み込むことが可能だ。その方法を紹介しよう(画面は総務省統計局の「家計調査報告 ―月・四半期・年―」)。

 政府が各省庁などの統計データを総合窓口「e-Stat」で公開したり、企業も決算などのさまざまなデータを自社のWebサイトで提供したりしている。こうしたデータをマーケティングなどに利用することも多いのではないだろうか(利用規約や著作権に注意して利用する必要はあるが)。

 ただ、Webページ上の表をコピーして、「Microsoft Excel(エクセル)」に貼り付けると、表が乱れてしまうことがある。このような場合、1つずつセルをコピーしてExcelに貼り付けたり、テキストエディタなどにコピーして整形したりしていないだろうか。

コピーでは正しく貼り付けられない表もある(1)
コピーでは正しく貼り付けられない表もある(1)
表をコピーして、Excelに貼り付けるのが簡単なのだが、うまくいかないこともある(画面の表は、総務省が公開している統計ダッシュボードの「総人口(総数)の時系列表」)。
コピーでは正しく貼り付けられない表もある(2)
コピーでは正しく貼り付けられない表もある(2)
Excelに貼り付けると、全ての値が1つの列に入力されてしまい、元の表通りにならない。

 実はWebブラウザで開いたWebページやPDFファイルの表は、Excelで簡単に読み込むことが可能だ。その方法を紹介しよう。

WebページやPDFファイルにある表をExcelに読み込む

 読み込ませたい表があるWebページやPDFファイルをWebブラウザで開き、Excelの[データ]タブの[データの取得と変換]グループにある[データの取得]をクリックし、表示されたメニューで[その他のデータソースから]−[Webから]を選択する。

 [Webから]ダイアログが表示されるので、WebブラウザのアドレスバーからURLをコピーして、ここの「URL」欄に貼り付ける。[OK]ボタンをクリックすると、「Webコンテンツへのアクセス」というダイアログが表示されるので、[接続]ボタンをクリックする。これでWebサイトに接続され、データが読み取られる。

 しばらくすると[ナビゲーター]ダイアログが表示され、Webページ内の表が確認できるようになる。[ナビゲーター]ダイアログの左ペインで「テーブル1」や「テーブル2」などを選択すると、右ペインの[テーブルビュー]タブに読み取った表が表示される。元のWebページを確認したい場合は、[Webビュー]タブに切り替えればよい。

 なお、[テーブルビュー]タブに表示された表中に「null」と書かれたセルは、セル内にデータがないことを示しており、Excelに読み込んだ際には「データが空のセル」になる(「null」という文字列が入力されるわけではない)。

 読み取りたい表を選択したら、[読み込み]ボタンをクリックすればよい。Excelに「テーブル」として表が読み込まれる。

 なお、セルが結合されていたり、見栄えを良くするために余計なセルが挿入されていたりすると、元の表と読み込んだ表のセルの位置がずれてしまうこともある。このような場合は、Excelに表を読み込んだ後に、セルの値を移動するなどして体裁を整えればよい。

 また[Webから]ダイアログに入力するURLが長いと、エラーになってWebページが直接読み込めないことがある。このような場合は、後述するように一度、WebページをWebブラウザの[名前を付けてページを保存]などでWebページを適当なフォルダに保存して、HTML名を変更してからWebブラウザで開いて読み取りを実行するとよい。

Webページ上の表をExcelに読み込む(1)
Webページ上の表をExcelに読み込む(1)
Excelに読み込ませたい表があるWebページのURLを、Webブラウザのアドレスバーからコピーする。
Webページ上の表をExcelに読み込む(2)
Webページ上の表をExcelに読み込む(2)
[データ]タブの[データの取得と変換]グループにある[データの取得]をクリックし、表示されたメニューで[その他のデータソースから]−[Webから]を選択する。
Webページ上の表をExcelに読み込む(3)
Webページ上の表をExcelに読み込む(3)
[Webから]ダイアログが表示されるので、ここでコピーしたURLを貼り付けて、[OK]ボタンをクリックする。
Webページ上の表をExcelに読み込む(4)
Webページ上の表をExcelに読み込む(4)
[Webコンテンツへのアクセス]ダイアログが表示されるので、[接続]ボタンをクリックする。認証が必要なWebサイトに接続するような場合は、左メニューの[認証アカウント]で認証に使うアカウントを入力してから、[接続]ボタンをクリックする。
Webページ上の表をExcelに読み込む(5)
Webページ上の表をExcelに読み込む(5)
Webページ上の表が読み取られる。Webページ上に複数の表がある場合は、左ペインに「テーブル1」「テーブル2」といった具合に表示される。それぞれをクリックすると、右ペインの[テーブルビュー]タブにプレビューが表示されるので、Excelに読み込ませたい表を探し、[読み込み]ボタンをクリックする。
Webページ上の表をExcelに読み込む(6)
Webページ上の表をExcelに読み込む(6)
表が正しく読み取られているか確認したい場合は、[Webビュー]タブを開くと、Webページ上の表を見ることができる。
Webページ上の表をExcelに読み込む(7)
Webページ上の表をExcelに読み込む(7)
表が「テーブル」としてExcelに読み込まれる。セルの位置がずれていたり、余計な行や列が挿入されていたりする場合は、Excel上で編集する。

PDFファイルやローカルファイルもExcelで読み取り可能

 [データの取得]の[その他のデータソースから]−[Webから]では、Webサイトだけでなく、Webブラウザで表示したPDFファイルやローカルに保存したWebページでも読み取り可能だ。

 例えば、メールで送られてきたPDFファイルの見積書をMicrosoft EdgeやGoogle Chromeで表示して、アドレスバーに表示されたローカルファイルのパスを[Webから]ダイアログに貼り付ければよい。

PDFファイルやローカルファイルにある表をExcelに読み込む(1)
PDFファイルやローカルファイルにある表をExcelに読み込む(1)
Webページ上の表だけでなく、PDFファイルやWindows OS上に保存したWebページ上の表も、Excelで読み取り可能だ。例えば、Windows OS上に保存したPDFファイルを読み取りたい場合は、Webブラウザで開いて、アドレスバーに表示されているパスをコピーする。
PDFファイルやローカルファイルにある表をExcelに読み込む(2)
PDFファイルやローカルファイルにある表をExcelに読み込む(2)
[データ]タブの[データの取得と変換]グループにある[データの取得]をクリックし、表示されたメニューで[その他のデータソースから]−[Webから]を選択する。[Webから]ダイアログが表示されるので、ここでコピーしたファイルパスを貼り付けて、[OK]ボタンをクリックする。
PDFファイルやローカルファイルにある表をExcelに読み込む(3)
PDFファイルやローカルファイルにある表をExcelに読み込む(3)
[ナビゲーター]ダイアログが開き、読み取られた表の一覧が表示される。ここで目的の表を探し、[読み込み]ボタンをクリックする。
PDFファイルやローカルファイルにある表をExcelに読み込む(4)
PDFファイルやローカルファイルにある表をExcelに読み込む(4)
PDFファイル上の表がExcelに読み込まれた。メールで送られてきたPDFファイルの見積書や請求書などをExcelで処理する場合に使える。

テーブルを解除する

 「データの取得」機能で読み込んだ表は、Excelでは「テーブル」となる。これを通常の表形式にしたい場合もあるだろう。

 このような場合、テーブル内のセルを選択してから[テーブルデザイン]タブを開き、[ツール]グループの[範囲に変換]をクリックする。警告ダイアログが表示されるので、ここで[OK]ボタンをクリックすると、「テーブル」が通常の表形式になる。ただし、表の背景色はそのままなので、表全体を選択して、[Ctrl]+[1]キーを押して[セルの書式設定]ダイアログを開き、[塗りつぶし]タブの「背景色」欄で[色なし]を選択すれば、背景色がなくなる。

テーブルを解除する(1)
テーブルを解除する(1)
「データの取得」機能で表をExcelに読み込むと、「テーブル」となる。「テーブル」を解除したい場合は、テーブル内のセルを選択してから[データデザイン]タブを開き、[範囲に変換]をクリックする。
テーブルを解除する(2)
テーブルを解除する(2)
警告ダイアログが表示されるので、[OK]ボタンをクリックする。
テーブルを解除する(3)
テーブルを解除する(3)
「テーブル」が解除され、通常の表形式(標準の範囲)になる。
テーブルを解除する(4)
テーブルを解除する(4)
「テーブル」で設定された背景色を解除したい場合は、表またはシートを選択してから、[Ctrl]+[1]キーを押して[セルの書式設定]ダイアログを開き、[塗りつぶし]タブの[色なし]をクリックする。
テーブルを解除する(5)
テーブルを解除する(5)
背景色が「色なし」になる。あとは、表を編集して、利用しやすい形にすればよい。

画像になっている表や動的に生成される表は別の手順が必要

 WebページやPDFファイルの表が画像になっていたり、ユーザーインタフェースの操作後に表が動的に生成されたりしている場合、[データの取得]の[その他のデータソースから]−[Webから]で読み込みできない。

動的に生成される表は単純に読み込めない(1)
動的に生成される表は単純に読み込めない(1)
テスト用の住所データを作成してくれる「テストデータ・ジェネレータ」のように、ユーザーインタフェースを操作することで動的に作成されるWebページでは、「データの取得」機能でExcelに読み込めないことがある。
動的に生成される表は単純に読み込めない(2)
動的に生成される表は単純に読み込めない(2)
「データの取得」機能で読み込むと、このように文字化けが起きる上、性別や血液型など、余計な列も読み取られてしまう。

 このような場合、少し工夫することでWebページやPDFファイルの表を読み込める可能性がある。

画像になっている表を読み込む

 Excel 365ならば、表が画像になっている場合は、[データ]タブにある[データの取得]の[その他のデータソースから]−[画像から]−[クリップボードからの画像]が利用できる(詳細は、Tech TIPS「【Excel】画像からデータを取り込む3つの方法」を参照のこと)。ただし、[その他のデータソースから]−[画像から]に対応しているのはExcel 365のみで、永続版(パッケージ版やプリインストール版)では、この方法が利用できないので注意してほしい。

 Webブラウザでなるべく表部分を大きく表示してから、「Snipping Tool」アプリなどのスクリーンショットアプリを使って表をクリップボードに保存、[その他のデータソースから]−[画像から]−[クリップボードからの画像]を選択すればよい。

画像になっている表を読み込む(1)
画像になっている表を読み込む(1)
画面の時刻表は、愛知県刈谷市の公共施設連絡バス「かりまる」の「公共施設連絡バス時刻表(1系統東境線)」。PDFファイルで提供されているが、時刻表は画像となっており、コピー&ペーストではExcelに読み込むことができない。Excel 365の場合、このように表が画像になっていても読み込める可能性がある。WebページやPDFファイル上の表をなるべく大きく表示して、Snipping Toolなどでスクリーンショットを撮る。表のサイズが大きいような場合は、複数に分割するなどするとよい。
画像になっている表を読み込む(2)
画像になっている表を読み込む(2)
[データ]タブにある[データの取得]の[その他のデータソースから]−[画像から]−[クリップボードからの画像]を選択する。
画像になっている表を読み込む(3)
画像になっている表を読み込む(3)
サイドパネルが開き、画像認識が実行される。読み取られたデータを確認し、修正可能なレベルならば、[データを挿入]ボタンをクリックする。確認ダイアログが表示されるので、[データを挿入]ボタンをクリックしてデータを読み込む。
画像になっている表を読み込む(4)
画像になっている表を読み込む(4)
正しく読めていないセルや余計な行などは、Excel上で編集する。全角と半角が混じっている場合もあるので、各セルの値を確認して修正していく。

 画像の文字が小さいと正しく読み取れないことがあるので、画面いっぱいに表を表示してスクリーンショットを撮るとよい。

動的に生成されている表を読み込む

 動的に生成されている表を[データの取得]の[その他のデータソースから]−[Webから]で読み込もうとすると、読み込みの際にリクエストが発生し、データが変わってしまったり、正しく表が表示されずに読み取れなかったりする。

 このように動的に生成される表の場合、[名前を付けてページを保存]でWebページを保存し、それをWebブラウザで開くことで、[データの取得]の[その他のデータソースから]−[Webから]で読み込める可能性がある。

 ただ、Webページによっては、[名前を付けてページを保存]でHTMLとして保存できなかったり、保存できても保存後のWebページを開くと正しくページが表示されなかったりすることもある。動的に生成されている表の場合は、まず表全体をコピーして、Excelに貼り付ける従来の方法を試してみるとよいだろう。Excel 365の場合は、表部分のスクリーンショットを撮って、上述の方法を試してみるという方法もある。

Copyright© Digital Advantage Corp. All Rights Reserved.

ページトップに戻る