さまざまなWebサイトで公開されている表をMicrosoft Excelに読み込んで活用する際、コピー&ペーストではうまく表形式で読み込めないことがある。このような場合、1つずつセルをコピーしてExcelに貼り付けたり、テキストエディタなどにコピーして整形したりしなくても、簡単にExcelへの読み込みが可能だ。その方法を紹介しよう。
対象:Excel 2016/2019/2021/365
政府が各省庁などの統計データを総合窓口「e-Stat」で公開したり、企業も決算などのさまざまなデータを自社のWebサイトで提供したりしている。こうしたデータをマーケティングなどに利用することも多いのではないだろうか(利用規約や著作権に注意して利用する必要はあるが)。
ただ、Webページ上の表をコピーして、「Microsoft Excel(エクセル)」に貼り付けると、表が乱れてしまうことがある。このような場合、1つずつセルをコピーしてExcelに貼り付けたり、テキストエディタなどにコピーして整形したりしていないだろうか。
実はWebブラウザで開いた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から]では、Webサイトだけでなく、Webブラウザで表示したPDFファイルやローカルに保存したWebページでも読み取り可能だ。
例えば、メールで送られてきたPDFファイルの見積書をMicrosoft EdgeやGoogle Chromeで表示して、アドレスバーに表示されたローカルファイルのパスを[Webから]ダイアログに貼り付ければよい。
「データの取得」機能で読み込んだ表は、Excelでは「テーブル」となる。これを通常の表形式にしたい場合もあるだろう。
このような場合、テーブル内のセルを選択してから[テーブルデザイン]タブを開き、[ツール]グループの[範囲に変換]をクリックする。警告ダイアログが表示されるので、ここで[OK]ボタンをクリックすると、「テーブル」が通常の表形式になる。ただし、表の背景色はそのままなので、表全体を選択して、[Ctrl]+[1]キーを押して[セルの書式設定]ダイアログを開き、[塗りつぶし]タブの「背景色」欄で[色なし]を選択すれば、背景色がなくなる。
WebページやPDFファイルの表が画像になっていたり、ユーザーインタフェースの操作後に表が動的に生成されたりしている場合、[データの取得]の[その他のデータソースから]−[Webから]で読み込みできない。
このような場合、少し工夫することでWebページやPDFファイルの表を読み込める可能性がある。
Excel 365ならば、表が画像になっている場合は、[データ]タブにある[データの取得]の[その他のデータソースから]−[画像から]−[クリップボードからの画像]が利用できる(詳細は、Tech TIPS「【Excel】画像からデータを取り込む3つの方法」を参照のこと)。ただし、[その他のデータソースから]−[画像から]に対応しているのはExcel 365のみで、永続版(パッケージ版やプリインストール版)では、この方法が利用できないので注意してほしい。
Webブラウザでなるべく表部分を大きく表示してから、「Snipping Tool」アプリなどのスクリーンショットアプリを使って表をクリップボードに保存、[その他のデータソースから]−[画像から]−[クリップボードからの画像]を選択すればよい。
画像の文字が小さいと正しく読み取れないことがあるので、画面いっぱいに表を表示してスクリーンショットを撮るとよい。
動的に生成されている表を[データの取得]の[その他のデータソースから]−[Webから]で読み込もうとすると、読み込みの際にリクエストが発生し、データが変わってしまったり、正しく表が表示されずに読み取れなかったりする。
このように動的に生成される表の場合、[名前を付けてページを保存]でWebページを保存し、それをWebブラウザで開くことで、[データの取得]の[その他のデータソースから]−[Webから]で読み込める可能性がある。
ただ、Webページによっては、[名前を付けてページを保存]でHTMLとして保存できなかったり、保存できても保存後のWebページを開くと正しくページが表示されなかったりすることもある。動的に生成されている表の場合は、まず表全体をコピーして、Excelに貼り付ける従来の方法を試してみるとよいだろう。Excel 365の場合は、表部分のスクリーンショットを撮って、上述の方法を試してみるという方法もある。
Copyright© Digital Advantage Corp. All Rights Reserved.