【Excel】画像からデータを取り込む3つの方法Tech TIPS

データとして活用したい表が画像でしかない場合、表を見ながら、手動でMicrosoft Excelに入力していないだろうか。Excelの画像認識機能を使ったり、オンラインツールを使ったりすると、簡単に画像から表データに変換できる。その手順を紹介する。

» 2024年08月05日 05時00分 公開
[小林章彦デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象:Excel 2016/2019/2021/365


画像でしかない表からデータを抽出する方法 画像でしかない表からデータを抽出する方法
データとして活用したい表が画像でしかない場合、表を見ながら、手動でMicrosoft Excelに入力していないだろうか。Excelの画像認識機能を使ったり、オンラインツールを使ったりすることで、データ抽出の手間を大幅に省くことが可能だ。その手順を紹介しよう。なお画面のデータは、東京都の統計「東京都世帯数の予測」ページの予測結果の概要(PDF)」をMicrosoft Edgeで表示させたもの。「予測結果の概要」は、PDFで配布されており、表のデータはテキストでコピー可能だが、ここでは画像で読み込む例として使っている。以下、同じデータを使って手順を紹介する。

 データとして活用したい表が画像でしかなく、仕方なく表を見ながら「Microsoft Excel(エクセル)」に手動で入力したことはいないだろうか。こうした作業は面倒だし、場合によっては入力ミスも起こりがちだ。何らかの手段を使って、入力を省力化したいのではないだろうか。

 そこで、本Tech TIPSでは、画像にしかない表をExcelにデータとして取り込む方法を紹介しよう。ただし、画像の状態によっては正確なデータとしては取り込めず、手動による修正が必要になる場合があるので注意してほしい。

Excelの画像認識機能を利用する(Excel 365)

 Excel 365(Excel for Microsoft 365)を利用しているのならば、[データ]タブの[データの取得と変換]グループに[画像から]というアイコンがあるのではないだろうか。もし、[画像から]アイコンがないのであれば、[ファイル]−[アカウント]を開き、「Microsoft 365とOfficeの更新プログラグ」の[更新オプリョン]アイコンをクリックして、[今すぐ更新]を選択して、最新版に更新すると、[画像から]アイコンが表示されるはずだ。

 [データの取得と変換]グループの[画像から]を使って、画像の表からデータを抽出するには、2つの方法がある。1つは画像ファイルを読み込ませる方法で、もう1つはスクリーンキャプチャーを使う方法だ。

 画像ファイルを読み込ませる方法は、[画像から]アイコンをクリックして、[ファイルからの画像]を選択、[図の挿入]ダイアログが開くので、ここで表が含まれた画像ファイルを選択すればよい。

 スクリーンキャプチャーを使う方法は、Snipping Toolなどのスクリーンキャプチャーアプリを使い、表部分をキャプチャーしてクリップボードに保存する。この際、なるべく解像度の高い画像としてキャプチャーすると、認識率を高められる。[画像から]アイコンをクリックして、[クリップボードからの画像]を選択すると、キャプチャーした表が読み込まれる。

 シートの右側に[画像からのデータ]ペインが開き、画像認識が実行され、画像から表データを抽出する。ペインの上部には読み取った画像が、下部にはそこから抽出した表データが表示される。表データのセルを選択すると、自動的に画像の該当する部分が拡大表示される。データが表示された入力ボックスが表示されるので、画像を見ながら、データを修正、[同意する]ボタンをクリックして、そのセルの値を確定していく。なお、正しく読み取れていないと判断されたセルは、さくら色(Windows OSのモードなどによっては赤色)の背景で表示される。

Excelの画像認識機能を利用する(1) Excelの画像認識機能を利用する(1)
データ化したい表をなるべく大きく表示してから、Snipping Toolなどでキャプチャーする。
Excelの画像認識機能を利用する(2) Excelの画像認識機能を利用する(2)
Excelを起動し、[データ]タブの[画像から]をクリックし、[クリップボードからの画像]を選択する。
Excelの画像認識機能を利用する(3) Excelの画像認識機能を利用する(3)
読み込んだ画像と、OCRした結果の表が表示される。
Excelの画像認識機能を利用する(4) Excelの画像認識機能を利用する(4)
値が正しく読み取れていないセルをクリックし、値を修正してから[同意する]ボタンをクリックする。表を見ながら、全てのセルを修正する。例えば数字が読み取れず欠落していたり、誤認識(特に漢字)して違う文字になっていたりする。一応、各セルを確認するとよい。
Excelの画像認識機能を利用する(5) Excelの画像認識機能を利用する(5)
値の修正が完了したら、[データを挿入]ボタンをクリックする。警告ダイアログが表示されるので、ここの[データを挿入]ボタンをクリックすると、Excelのシートに表が挿入される。
Excelの画像認識機能を利用する(6) Excelの画像認識機能を利用する(6)
表の値に余計な半角スペースが含まれているため、値が文字列になっている。置換で半角スペースを取り除くと、数値に変換できる。

 幾つかの表で試したが、ある程度高い解像度でキャプチャーした画像でないと、読み取り精度が落ちてしまうようだ。なるべく表を大きく表示して、キャプチャーするとよいだろう。

低い解像度の画像を読み取らせた場合 低い解像度の画像を読み取らせた場合
低い解像度の画像だと、正しく文字が認識できず、本来は1つのセルに入るべき値が2つに分割されてしまうことがあるようだ。認識ができなかったセルは、さくら色(Windows OSのモードなどによっては赤色)の背景となる(マウスポインターを乗せると「低精度のセル」と表示される)。

オンラインツールを使って画像からデータを抽出する

 画像から表データを抽出する方法として、オンラインツール(Webサービス)を使う方法がある。主なオンラインサービスは、以下の通りだ。

 いずれも無料で利用でき、画像ファイル(JPEGもしくはPNG)をドラッグ&ドロップすると、画像からOCRで表データを抽出してくれる。日本語OCRに対応しており、試した限り比較的精度の高かった「OnlineConvertBox」を例に、画像の表をデータに変換する手順を紹介しよう。

 Webブラウザで「OnlineConvertBox(https://onlineconvertbox.com/jp/ocr/png-excel)」ページを開き、[ファイルを選択]ボタンの部分に変換したい表の画像データをドラッグ&ドロップする。

 [変換]ボタンが表示されるので、これをクリックする。ログインが求められるので、GoogleもしくはFacebookのアカウントでログインするか、メールアドレスを入力して受信した確認コードを入力してログインする(メールアドレスでログインしたい場合は、右上の[サインアップ]をクリックしてメールアドレスを認証しておくとよい)。

 ログインが完了したら、再び[変換]ボタンをクリックすると、ファイルのアップロードと変換が実行される。変換が完了したら、表示された[ダウンロード]ボタンをクリックすると、XLSXファイルがダウロードできる。画像の解像度が低いと、漢字などが誤認識されてしまうようだ。Excelの「画像から」機能と同様、なるべく解像度の高い画像ファイルを使うとよい。

OnlineConvertBoxを使って画像からデータを抽出する(1) OnlineConvertBoxを使って画像からデータを抽出する(1)
Webブラウザで「OnlineConvertBox」ページを開き、[ファイルを選択]ボタンのある領域に画像ファイルをドラッグ&ドロップする。
OnlineConvertBoxを使って画像からデータを抽出する(2) OnlineConvertBoxを使って画像からデータを抽出する(2)
[変換]ボタンをクリックする。メールアドレスでログインしたい場合は、事前に[サインアップ]をクリックして、メールアドレスでユーザー登録をしておくとよい。
OnlineConvertBoxを使って画像からデータを抽出する(3) OnlineConvertBoxを使って画像からデータを抽出する(3)
ログインが求められるので、Googleアカウントなどでログインする。
OnlineConvertBoxを使って画像からデータを抽出する(4) OnlineConvertBoxを使って画像からデータを抽出する(4)
[変換]ボタンをクリックすると、変換が実行され、ダウンロードが可能になる。[ダウンロード]ボタンをクリックすると、XLSXファイルで変換したデータがダウンロードできる。
OnlineConvertBoxを使って画像からデータを抽出する(5) OnlineConvertBoxを使って画像からデータを抽出する(5)
ダウンロードしたXLSXファイルをExcelで開いてみた。インターネットから入手しているため、警告が表示される。編集する場合は、[編集を有効にする]ボタンをクリックすればよい。

生成AIの画像認識機能を使ってデータを抽出できるのか?

 生成AI(人工知能)を使って、画像からExcelの表データに変換することも可能だ。ただ、画像の状況やプロンプトへの指示の仕方によって、単純に抽出できないこともあるので注意してほしい。

 ここでは、ChatGPT、Microsoft Copilot、Perplexityの各チャットAIで試してみた。いずれも各サービスに無料アカウントでサインインした状態で試してみた。そのため、パーソナライズ機能が有効になっている点に注意してほしい。また、生成AIの特性上、ここで試した結果と異なる出力になる可能性にも留意していただきたい。

 ChatGPTは、画像から表データを抽出できたものの、CSVファイルに出力しようとしたところで、無料版でデータ解析できる回数を超えてしまった。Plusプランにすることで、画像から表データの抽出ができそうだ。

ChatGPTを使ってデータを抽出する ChatGPTを使ってデータを抽出する
ChatGPTで画像からデータを抽出してみた。Excelに読み込ませるデータ形式にするためには、さらなる加工が必要になるが、無料版ではデータ解析回数の制限に達してしまう。

 Microsoft Copilotは、プロンプトへの入力に問題があるのか、残念ながら画像から表データを抽出できず、表の内容について解説するような回答しか得られなかった。

Microsoft Copilotを使ってデータを抽出する Microsoft Copilotを使ってデータを抽出する
Microsoft Copilotの場合、データへの変換が正しくできず、表の内容について文章で回答されてしまった。画像の解像度が低いために、正しく画像認識できなかったのが原因のようだ。Microsoft Copilotの場合は、Excelと同様、高い解像度の画像を使うとよい。

 Perplexityは、無料版では画像のアップロードをサポートしていないため、データを抽出することはできなかった。試しにPro版でサインインして、試したところ、簡単に画像から表データが抽出できた。ただ、CSVファイルへの出力しようとすると、Pythonを使ってCSVファイルを出力するプログラムが表示されたり、データの「,(カンマ)」がそのままの状態でカンマ区切りのCSVファイルを出力したりしたため、何度かのやりとりが必要になった。

 最終的には、CSVファイルへの出力ができ、精度的にも問題ないレベルであった。上手に使えば画像から表データの抽出ができそうだ。

Perplexityを使ってデータを抽出する(1) Perplexityを使ってデータを抽出する(1)
Perplexityの場合、無料版では画像のアップロードに対応していないため、有償のPro版で試してみた。テキストの抽出後、CSVファイルへの変換を依頼したが、何度か修正が必要であった(指示が悪かったのかもしれないが……)。
Perplexityを使ってデータを抽出する(2) Perplexityを使ってデータを抽出する(2)
出力したCSVファイルをExcelで読み込んでみた。表の値に余計な半角スペースが含まれているため、値が文字列になっていた。置換で半角スペースを取り除くと、数値に変換できた。

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。