ADVERTISEMENT

【Googleスプレッドシート】CSVファイルを直接読込!IMPORTDATA関数の使い方

【Googleスプレッドシート】CSVファイルを直接読込!IMPORTDATA関数の使い方
🛡️ 超解決

CSVファイルをスプレッドシートに取り込む際、いったんダウンロードしてからインポートするのは手間がかかります。また、定期的に更新されるデータの場合、そのたびに手動でインポートし直すのは非効率です。IMPORTDATA関数を使えば、ウェブ上に公開されたCSVファイルやTSVファイルのデータを直接スプレッドシートに読み込めます。この関数は自動更新にも対応しているため、常に最新の情報をシート上で扱えるようになります。本記事ではIMPORTDATA関数の基本的な使い方から、実際に使う際の注意点、トラブルシューティングまでを詳しく解説します。この記事を読めば、CSVデータの取り込み作業を大幅に効率化できるようになります。

【要点】IMPORTDATA関数で公開CSVを直接インポート

  • =IMPORTDATA(“URL”) の構文: セルに関数を入力するだけで、指定URLのCSVデータを自動で読み込めます。
  • 公開されているCSVファイルのURL: 読み込み対象はインターネット上で誰でもアクセス可能な公開URLである必要があります。
  • 自動更新の仕組み: シートを開くたびに最新データを再取得するため、常に最新の情報を反映できます。
  • よくあるエラーと対処: #REF!はサイズ超過、#VALUE!はURLが無効、#N/Aは読み込み失敗を意味します。

ADVERTISEMENT

IMPORTDATA関数の仕組みと活用シーン

IMPORTDATA関数は、指定したURL先のファイルをCSVまたはTSV形式と解釈し、スプレッドシート上にテーブルとして展開します。この関数の大きな利点は、データをシートに直接読み込めるため、ダウンロードや手動アップロードの手間が省けることです。特に、以下のようなシーンで効果を発揮します。

  • 気象庁や政府統計サイトなどが公開している定期的なデータを取得する場合
  • ECサイトの商品データや在庫情報をCSVで公開している場合
  • 社内で共有している公開CSVファイルをリアルタイムに参照したい場合

ただし、読み込めるのは公開アクセス可能なファイルのみという制限があります。認証が必要なサイトや、Googleドライブで非公開設定のファイルは読み込めません。また、関数はシートを開くたびにデータを再取得するため、読み込み元のサーバーに負荷をかけないよう注意しましょう。

IMPORTDATA関数の具体的な使い方

ここでは、IMPORTDATA関数を使ってCSVファイルを読み込む手順をステップごとに解説します。例として、気象庁が公開する気温データのCSVファイルを読み込んでみます。

  1. 公開CSVファイルのURLを確認する
    最初に、読み込みたいCSVファイルの直接リンクURLを取得します。気象庁のサイトでは、データ一覧ページからCSVファイルへのリンクをコピーします。URLは末尾が「.csv」となっていることを確認してください。ブラウザのアドレスバーに貼り付けて、直接ダウンロードが始まることを確認しておくと確実です。
  2. スプレッドシートでIMPORTDATA関数を入力する
    スプレッドシートを開き、データを表示させたいセル(通常はA1)を選択します。そのセルに、=IMPORTDATA(“コピーしたURL”) と入力します。URLはダブルクォーテーションで囲む必要があります。入力後Enterキーを押すと、関数が実行され、数秒後にデータが展開されます。
  3. 結果を確認し、必要に応じて調整する
    データが正しく読み込まれたら、各列にヘッダー行が含まれているか確認します。もし1行目にヘッダーがない場合は、データがずれている可能性があります。その場合、関数の引数で開始行を指定することはできませんが、読み込み後に手動で調整するか、QUERY関数で加工します。

IMPORTDATA関数はTSV(タブ区切り)ファイルにも対応しています。TSVファイルのURLを指定した場合も同様に読み込めます。また、URLのクエリパラメータがCSVファイルを直接指している必要があるため、注意してください。

IMPORTDATA関数使用時の注意点とトラブル対策

読み込めるのは公開されているCSVファイルのみ

IMPORTDATA関数は、認証やログインが必要なサイトのファイルは読み込めません。Googleドライブ上のCSVを読み込むには、ファイルの共有設定で「リンクを知っている全員」を「閲覧者」に変更し、公開状態にする必要があります。非公開ファイルを読み込む方法としては、Apps ScriptのUrlFetchAppを利用する方法があります。その際は、Googleドライブ上のファイルIDからダウンロードURLを生成し、OAuth認証をプログラム内で行います。

データが更新されない場合の対処法

スプレッドシートを開き直してもデータが古いままの場合、関数のキャッシュが原因の可能性があります。その場合は、関数が入力されているセルをダブルクリックしてからEnterキーを押すか、シート全体の再計算を実行してみてください。再計算はCtrl+Shift+F9(Windows)またはCommand+Shift+F9(Mac)で行えます。また、読み込み元のサーバーがキャッシュを返している場合もあるため、URLにランダムなパラメータを追加してキャッシュを回避するテクニックも存在します。

サイズ制限に注意する

IMPORTDATA関数で読み込めるデータは、スプレッドシートの制限に依存します。一度に読み込めるセル数や文字数には上限があるため、非常に大きなCSVファイルの場合は途中で切れたり、#REF!エラーが発生することがあります。Google Workspaceのエディションにより制限は異なりますが、一般的には数百万セルが上限です。大規模データを扱う場合は、データを分割して取り込むか、Apps Scriptでチャンクに分けてインポートする方法を検討しましょう。

URLの誤入力でエラーが発生する

IMPORTDATA関数でよくあるエラーの一つが#VALUE!エラーです。これは指定したURLが無効な場合に発生します。URLに誤字脱字がないか、引用符を忘れていないか確認してください。また、URLが直接ファイルを指しているか(HTMLページではないか)も重要です。ファイルの直接リンクは、ブラウザでアクセスした際にダウンロードが始まるURLです。検索結果ページのURLでは機能しません。

ADVERTISEMENT

公開CSVと非公開CSVの扱いの比較

項目 公開CSVファイル 非公開CSVファイル
IMPORTDATA関数 直接読み込み可能 読み込み不可(公開設定が必要)
手動インポート URL指定でインポート可能 Googleドライブのファイルは直接インポート可能(自分所有の場合)
Apps Script UrlFetchAppで取得可能 ファイルIDからダウンロードURL生成、認証処理が必要

まとめ

この記事では、IMPORTDATA関数を使って公開CSVファイルを直接スプレッドシートに読み込む方法を詳しく解説しました。IMPORTDATA関数の基本的な構文から、実際の使用手順、よく発生するエラーの対処法までをカバーしています。この関数を使いこなせば、定期的なデータ収集作業を自動化し、リアルタイムに近いデータ更新が可能になります。次は、読み込んだデータをQUERY関数で集計したり、ARRAYFORMULAと組み合わせて加工するなど、さらなる自動化に挑戦してみてください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。