ADVERTISEMENT

【Googleスプレッドシート】RSSフィードを自動取込!IMPORTFEEDの基本構文

【Googleスプレッドシート】RSSフィードを自動取込!IMPORTFEEDの基本構文
🛡️ 超解決

RSSフィードから最新のニュースやブログ記事をスプレッドシートに自動で取り込めると便利ですよね。しかし、IMPORTFEED関数の使い方がわからずに困っている方も多いでしょう。この記事では、IMPORTFEED関数の基本的な構文と具体的な使用手順を解説します。これを読めば、RSSフィードをスプレッドシートに自動で取り込めるようになります。

【要点】IMPORTFEED関数でRSSフィードを自動取得する基本

  • =IMPORTFEED(URL, [クエリ], [ヘッダ], [num_items]): RSSフィードのURLを指定して、記事のタイトルや日付などを取り込みます。
  • クエリ引数で取得項目を指定: 「items」「title」「url」「published_utc」などの文字列で取得したい情報を選べます。
  • 引数を省略すると全件取得: 第2引数以降を省略すれば、フィード内の全記事の基本情報が自動で展開されます。

ADVERTISEMENT

IMPORTFEED関数の概要とできること

IMPORTFEED関数は、RSSフィードやAtomフィードの内容をスプレッドシートに取り込むための関数です。一度設定すれば、シートを開くたびに自動で最新の情報を取得してくれます。対応しているフィード形式はRSS 2.0とAtom 1.0です。この関数を使えば、複数のサイトの更新情報を一つのシートで管理できます。ただし、IMPORT系関数の特徴として、読み込みが重くなる場合があるため、大量のフィードを一度に取得する際は注意が必要です。

IMPORTFEED関数の基本的な使い方

それでは、実際にIMPORTFEED関数を使ってRSSフィードを取得する手順を説明します。例として、GoogleニュースのRSSフィードを取り込みます。

  1. RSSフィードのURLを確認する
    取得したいサイトのRSSフィードURLを事前に用意します。Googleニュースの場合は「https://news.google.com/rss?hl=ja&gl=JP&ceid=JP:ja」などです。
  2. セルにIMPORTFEED関数を入力する
    スプレッドシートの任意のセルに次のように入力します。
    =IMPORTFEED("https://news.google.com/rss?hl=ja&gl=JP&ceid=JP:ja")
    これで、タイトル、URL、公開日時などの基本情報が取得されます。
  3. クエリ引数で取得項目を指定する
    特定の情報だけ欲しい場合は、第2引数にクエリを指定します。例えば、タイトルだけを取得したい場合は次のようにします。
    =IMPORTFEED("https://news.google.com/rss?hl=ja&gl=JP&ceid=JP:ja", "items title")
    クエリには「items」「title」「url」「published_utc」「summary」「author」などがあります。
  4. 取得するアイテム数を制限する
    第4引数に数値を指定すると、取得する記事の最大数を制限できます。例えば、最新5件だけを取得したい場合は次のようにします。
    =IMPORTFEED("https://news.google.com/rss?hl=ja&gl=JP&ceid=JP:ja", "items", , 5)
    第3引数(ヘッダ)は省略するため、カンマで空欄にします。

よくあるエラーと注意点

#REF!エラーが表示される場合

IMPORTFEED関数を入力したセルに「#REF!」と表示されることがあります。これは、フィードのURLが正しくないか、フィードが利用できない状態であることを示します。URLを再確認し、ブラウザで直接アクセスしてフィードが読めるか確認してください。また、HTTPSでないURLは一部の環境でブロックされる場合があります。

#N/Aエラーが表示される場合

「#N/A」エラーは、指定したクエリが正しくない場合に発生します。クエリのスペルや大文字小文字を確認しましょう。正しいクエリは「items」「title」「url」「published_utc」「summary」「author」「contents」です。空白を含む場合は、引用符で囲む必要はありません。

フィードの更新が反映されない場合

IMPORTFEED関数は、スプレッドシートが開かれたときや、関数が再計算されたときにデータを取得します。そのため、リアルタイムの更新は期待できません。手動で更新したい場合は、関数が入力されたセルを削除して再度入力するか、スプレッドシートを再読み込みしてください。頻繁に更新する必要がある場合は、Apps Scriptを使って定期的にトリガーを設定する方法もあります。

大量のフィードを取得すると重くなる

IMPORT系関数は複数のフィードを同時に使用すると、スプレッドシートの動作が遅くなることがあります。特に、フィードの記事数が多いと読み込みに時間がかかります。その場合は、第4引数で取得件数を制限するか、必要なフィードだけに絞り込みましょう。

ADVERTISEMENT

RSSフィードの項目ごとの取得方法

クエリの値 取得内容 使用例
items 各記事の基本情報(タイトル、URL、公開日など)を複数列で取得 =IMPORTFEED(URL, “items”)
title 記事のタイトル =IMPORTFEED(URL, “items title”)
url 記事のリンクURL =IMPORTFEED(URL, “items url”)
published_utc 公開日時(UTC) =IMPORTFEED(URL, “items published_utc”)
summary 記事の要約 =IMPORTFEED(URL, “items summary”)
author 記事の著者 =IMPORTFEED(URL, “items author”)
contents 記事の全文(HTML形式) =IMPORTFEED(URL, “items contents”)

上記のクエリは組み合わせて使うこともできます。例えば、「items title url published_utc」のようにスペース区切りで複数指定すると、対応する列が複数列に展開されます。順序は指定した順になります。

まとめ

IMPORTFEED関数を使えば、RSSフィードの内容をスプレッドシートに自動で取り込めるようになります。基本構文は「=IMPORTFEED(URL, クエリ, ヘッダ, 件数)」で、クエリを工夫することで必要な情報だけを取得できます。ぜひ今日から、ニュースやブログの更新情報をスプレッドシートで一元管理してみてください。次は、複数のフィードをQUERY関数と組み合わせてフィルタリングする応用にも挑戦すると良いでしょう。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

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