スプレッドシートのIMPORTFEED関数の使い方|RSS/ATOMフィードを自動取得して更新監視を自動化

スポンサーリンク

「ニュースサイトや競合ブログの更新を毎日チェックするのが面倒」「ブックマークを順番に開くのに時間がかかる」。そんな悩みを抱えていませんか。

サイト数が10件、20件と増えるほど、1日の確認作業は膨らみます。情報収集だけで午前中が終わってしまうこともありますよね。

そんなときに頼れるのが、Googleスプレッドシートの IMPORTFEED関数 です。RSSやATOMフィードのURLを指定するだけで、最新の記事タイトル・公開日時・要約をシートに自動で取り込めます。

この記事では、スプレッドシートのIMPORTFEED関数について、構文・引数・クエリの基本から、複数サイトのニュース監視や競合ブログの更新チェックといった実務テンプレートまで解説します。よくあるエラーの対処法やExcel・IMPORT系関数との使い分けもまとめました。

スプレッドシートのIMPORTFEED関数とは?

IMPORTFEED関数(読み方: いんぽーと ふぃーど)は、RSS/ATOMフィードの情報をGoogleスプレッドシートに取得する関数です。

名前は英語の「import(取り込む)」と「feed(フィード=Webサイトの更新情報を配信する仕組み)」が由来です。

RSSやATOMフィードとは、Webサイトが公開している更新情報の配信データです。ニュースサイトや多くのブログがこの仕組みを備えています。フィードを購読すれば、サイトを開かなくても最新記事の一覧を取得できます。

IMPORTFEED関数にできることをまとめると、次のとおりです。

  • フィードのタイトル・説明文・URL・著者などの基本情報を取得する
  • 各記事のタイトル・公開日時・概要・リンクを一覧で取り出す
  • 取得するアイテム数を指定して、最新N件だけを取り込む
  • 複数サイトのフィードを1つのシートにまとめて監視する
  • SORT関数やFILTER関数と組み合わせて自分用のニュースダッシュボードを作る

NOTE

IMPORTFEED関数はGoogleスプレッドシート専用の関数です。Excelには同じ関数は存在しません。ExcelでRSSフィードを取得するには、Power Queryや外部ツールを使う必要があります。詳しくは後半のExcelとの違いで解説します。

IMPORTFEED関数の書き方(構文と引数)

基本構文

=IMPORTFEED(URL, [クエリ], [ヘッダー], [アイテム数])

カッコの中に最大4つの引数を指定します。必須は第1引数のURLだけで、残りは省略可能です。

引数の説明

引数必須/任意説明
URL必須RSS/ATOMフィードのURL。文字列で指定する("..." で囲む or セル参照)
クエリ任意取得する情報の種類を指定する。省略時は "items" と同じ動作
ヘッダー任意見出し行を含めるか。TRUE / FALSE で指定する(省略時は FALSE)
アイテム数任意取得するアイテム数。省略時はフィード内の全アイテムを返す

第1引数には、対象フィードのURLを指定します。多くのサイトでは /feed/rss をトップページURLの末尾に付けるとフィードにアクセスできます。

第2引数のクエリで、取得したい情報の種類を細かく指定できます。詳細は次のセクションで説明しますね。

クエリの種類

クエリには次の値を指定できます。フィード全体("feed" 系)か個々の記事("items" 系)かで使い分けます。

クエリ取得内容返却サイズ
"feed"フィード自体のタイトル・説明文・URLなど基本情報1行 × 複数列
"feed title"フィードのタイトル(サイト名)1セル
"feed description"フィードの説明文1セル
"feed url"フィードのURL1セル
"feed author"フィードの著者名1セル
"items"各アイテムの一覧(省略時のデフォルト)複数行 × 4列
"items title"各アイテムのタイトル複数行 × 1列
"items description"各アイテムの概要複数行 × 1列
"items url"各アイテムのURL複数行 × 1列
"items created"各アイテムの公開日時複数行 × 1列

"feed" 系はフィード全体の情報を、"items" 系は個々の記事情報を返します。

TIP

クエリを省略すると "items" と同じ動作になり、タイトル・URL・公開日時・概要が4列まとめて返されます。最初に挙動を確かめるときはクエリを省略してみてください。

IMPORTFEED関数の基本的な使い方

まずはシンプルな例で動きを確認してみましょう。

フィードの全アイテムを取得する

もっとも基本的な使い方は、URLだけを指定する方法です。

=IMPORTFEED("https://example.com/feed")

フィード内のすべての記事が取得されます。タイトル・URL・公開日時・概要が4列に展開され、行方向にアイテム数ぶん広がります。

見出し行を付けて取得する

第3引数を TRUE にすると、1行目に列の見出しが付きます。

=IMPORTFEED("https://example.com/feed", "items", TRUE)

「Title」「URL」「Date Created」「Summary」のような見出しが自動で入ります。どの列が何のデータかひと目でわかるので、最初はTRUEにしておくのがおすすめですよ。

最新5件だけ取得する

第4引数でアイテム数を指定すると、最新N件だけを取得できます。

=IMPORTFEED("https://example.com/feed", "items", TRUE, 5)

フィード内の最新5件が返ります。件数が多すぎるとシートが見づらくなるので、用途に合わせて5〜20件で絞り込みましょう。

フィードのタイトルを取得する

サイト名だけを取得したい場合は、クエリに "feed title" を指定します。

=IMPORTFEED("https://example.com/feed", "feed title")

フィードに設定されているサイト名が1つのセルに返されます。

セル参照でURLを指定する

URLが長くなる場合は、別のセルにURLを入力しておくと便利です。

=IMPORTFEED(A1, "items", TRUE, 10)

A1セルにフィードURLを入力しておけば、数式がすっきりします。複数のフィードを管理するときに特に役立ちます。

実際の出力イメージ(サンプル)

文章だけだとイメージが湧きにくいので、=IMPORTFEED("https://example.com/feed", "items", TRUE, 3) を実行したときのシートの見え方を例示します。

TitleURLDate CreatedSummary
新機能リリースのお知らせhttps://example.com/news/12026-05-15 09:00:00本日より新機能Xを公開しました…
春の特集記事https://example.com/news/22026-05-12 11:30:00季節限定の特集をまとめました…
メンテナンスのご案内https://example.com/news/32026-05-10 18:00:005月20日にメンテナンスを実施します…

このように、1つのセルに数式を書くだけで複数行 × 複数列のテーブルが自動的に展開されます。配列展開なので、隣接セルにデータが入っていると #REF! エラーになる点には注意しましょう。

IMPORTFEED関数の実践的な使い方・応用例

複数サイトのニュースを1シートにまとめる

業界ニュースや競合ブログの更新を1つのシートで監視できます。

A列にサイト名、B列にフィードURLを入力しておき、D列以降にIMPORTFEED関数を配置します。

=IMPORTFEED(B2, "items title", FALSE, 5)

各サイトの最新記事タイトル5件がD列以降に並びます。朝一でシートを開くだけで、主要サイトの更新状況を一覧で確認できますよ。

競合ブログの更新を監視する

競合サイトのRSSフィードを登録しておけば、新しい記事が公開されたタイミングでスプレッドシート上で気づけます。

=IMPORTFEED("https://competitor-blog.com/feed", "items", TRUE, 10)

タイトルと公開日時がわかるので、競合がどんなテーマで・どのくらいの頻度で記事を出しているかを把握できます。マーケティング担当者の方には特に便利ですよ。

記事タイトルにリンクを付けて一覧にする

IMPORTFEED関数でタイトルとURLを別々に取得し、HYPERLINK関数で組み合わせると、クリックで記事に飛べるリンク一覧を作れます。

C列にタイトル、D列にURLを取得している場合は次のように書きます。

=HYPERLINK(D2, C2)

これで「タイトルをクリックすると元記事が開く」一覧表の完成です。

公開日時で並べ替えて最新順にする

SORT関数と組み合わせれば、取得した記事を公開日時の新しい順に並べ替えられます。

=SORT(IMPORTFEED("https://example.com/feed", "items"), 3, FALSE)

第3列(公開日時)を基準に降順ソートしています。複数サイトのフィードをまとめた場合、最新記事が上に来るので確認しやすくなります。

キーワードで記事をフィルタリングする

FILTER関数と組み合わせると、タイトルに特定のキーワードを含む記事だけを抽出できます。

=FILTER(IMPORTFEED("https://example.com/feed", "items"),
        REGEXMATCH(IMPORTFEED("https://example.com/feed", "items title"), "AI|生成"))

タイトルに「AI」または「生成」を含む記事だけが残ります。情報量が多いフィードから関心テーマだけを抜き出したいときに便利です。

よくあるエラーと対処法

IMPORTFEED関数で「データが取得できない」ケースをまとめました。

症状原因対処法
#N/A エラーフィードURLが間違っているブラウザでURLを開き、XMLデータが表示されるか確認する
#N/A エラーサイトがRSS/ATOMフィードを公開していないすべてのサイトがフィードを提供しているわけではない。別パスを試すか、サイト側に確認する
#N/A エラーサイト側がbotアクセスを制限しているrobots.txt や WAF でGoogleスプレッドシートのアクセスがブロックされていないか確認する
#VALUE! エラークエリの文字列が正しくない"items" "feed" など正しいクエリ文字列をダブルクォートで指定する
#REF! エラー配列の展開先に既存データがある展開先セルを空にする。または配置場所を変える
データが更新されないキャッシュが残っている数式を一度削除して再入力する。または &"?cache="&NOW() のようにダミーパラメータを付ける
文字化けするフィードのエンコーディングが未対応一部の古いフィードでは文字化けが発生する。別フィードURLがあれば試す
空のデータが返るフィードにアイテムが含まれていないサイト側でフィードが正しく生成されているか確認する

#N/A エラーが最もよく出ます。原因の多くは「URLの誤り」か「フィードが存在しない」です。

まずはブラウザでフィードURLにアクセスしてみてください。XMLデータが表示されればフィードは有効です。404エラーやHTMLページが表示される場合は、URLが間違っています。

TIP

フィードURLがわからない場合は、サイトのトップページURLの末尾に /feed/rss を付けてみてください。WordPressで運営されているサイトでは サイトURL/feed/ でアクセスできることが多いです。

キャッシュで更新されないときの対処

IMPORTFEED関数はパフォーマンス確保のため、取得結果を一定時間キャッシュします。サイト側で新着記事が公開されても、スプレッドシート側にすぐ反映されないことがあります。

更新を強制したい場合は、次の方法を試してみてください。

  1. 数式の再入力: 該当セルの数式を一度削除し、もう一度入力する
  2. URLにダミーパラメータを付ける: =IMPORTFEED("https://example.com/feed?t="&NOW()) のように時刻を付加すると、別URL扱いになりキャッシュをすり抜けられる
  3. Apps Scriptで定期更新: トリガーを使ってシートを定期的に再計算する

Apps Scriptでの定期更新の例は次のとおりです。

function refreshFeed() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("ニュース");
  const cell = sheet.getRange("A1");
  const formula = cell.getFormula();
  cell.clearContent();
  SpreadsheetApp.flush();
  cell.setFormula(formula);
}

このスクリプトを「時間主導型」のトリガーに登録すれば、1時間ごとなどに自動で再取得できます。

Excelとの違い

IMPORTFEED関数はGoogleスプレッドシート専用の関数です。Excelには存在しません。

項目GoogleスプレッドシートExcel
IMPORTFEED関数使えるなし
RSSフィード取得の代替手段IMPORTFEED関数Power Query / VBAマクロ / 外部アドイン
操作方法セルに数式を入力するだけPower Queryの設定やVBAコードが必要
自動更新シート再読み込み時(Apps Scriptで定期化可能)手動更新またはVBAで定期実行
学習コスト低い(数式1つ)中〜高(XML解析の知識が必要)

ExcelでRSSフィードを取得したい場合は、Power Queryの「Webからデータを取得」でフィードURLを指定する方法があります。ただしXMLの解析設定が必要で、IMPORTFEED関数のように数式1つで完結する手軽さはありません。

RSSフィードの取得を数式だけでやりたいなら、スプレッドシートのIMPORTFEED関数が圧倒的に便利です。

IMPORT系関数の使い分け

Googleスプレッドシートには、IMPORTFEED以外にもデータを取得するIMPORT系関数があります。目的に応じて使い分けましょう。

関数取得対象用途例
IMPORTFEEDRSS / ATOMフィードニュースサイトやブログの更新情報を取得
IMPORTHTMLHTMLの table / listWebページの表やリストを取得
IMPORTDATACSV / TSVデータ公開されているCSVファイルを取得
IMPORTXMLXMLデータ / XPath指定特定のHTML要素をXPathで指定して取得
IMPORTRANGE別のスプレッドシート別ファイルのセル範囲を取得

使い分けの判断フロー:

  1. データソースは何か?
  • RSS/ATOMフィード → IMPORTFEED
  • Webページの表/リスト → IMPORTHTML
  • CSV/TSVファイル → IMPORTDATA
  • XMLや任意のHTML要素 → IMPORTXML
  • 別のスプレッドシート → IMPORTRANGE
  1. 取得したい情報がフィードで公開されているなら、まずIMPORTFEEDが第一候補です
  2. フィードがない場合は、ページ構造に応じてIMPORTHTML / IMPORTXMLに切り替えます

IMPORTFEED関数はフィードの構造を自動で解析してくれるので、XMLの知識がなくてもRSS/ATOMフィードを扱えます。XMLを自分で解析したい場合はIMPORTXML関数を使いましょう。

よくある質問

サイトのRSSフィードURLがわかりません。どうやって調べますか?

サイトURLの末尾に /feed または /rss を付けてブラウザで開いてみてください。XMLデータが表示されればそのURLが使えます。WordPressで運営されているサイトなら サイトURL/feed/ で見つかることが多いです。それでも見つからない場合は、ページのHTMLソースで type="application/rss+xml" タグを探してみてください。

IMPORTFEED関数はどのくらいの頻度で更新されますか?

スプレッドシートを再読み込みしたタイミングで更新されます。ただし内部キャッシュの影響で即時反映されないこともあります。確実に最新化したい場合は、URLにダミーパラメータを付けるか、Apps Scriptのトリガーで定期的に数式を再入力する方法が有効です。

ExcelでIMPORTFEED関数と同じことはできますか?

IMPORTFEED関数はGoogleスプレッドシート専用の関数で、Excelには存在しません。ExcelでRSSフィードを取得するにはPower QueryのWebデータ接続機能や外部アドインが必要です。数式1つで取り込めるIMPORTFEED関数と比べると、設定の手間がかかります。

IMPORTFEED関数で複数サイトのフィードを1つの数式にまとめられますか?

できません。IMPORTFEED関数は1回の呼び出しで1つのフィードURLを処理します。複数サイトをまとめるには、サイトごとに別々のセルにIMPORTFEED関数を入力し、SORT関数やQUERY関数で並べ替えてまとめてください。

配列展開で #REF! エラーになります

IMPORTFEED関数は複数行・複数列に結果を展開します。展開先のセルに既存データが入っていると #REF! エラー(参照先のセルに値が存在するため展開できないという意味)になります。展開予定の範囲を空にするか、配置場所を別の位置に移してください。

フィードがJSON形式の場合は使えますか?

IMPORTFEED関数はRSS / ATOM(XML)形式専用です。JSON形式のフィードには対応していません。JSONを取得したい場合はApps ScriptとUrlFetchAppを使う必要があります。

まとめ

IMPORTFEED関数は、RSS/ATOMフィードの情報をスプレッドシートに取り込める便利な関数です。

ポイントを整理します。

  • 構文は =IMPORTFEED(URL, クエリ, ヘッダー, アイテム数) で、必須引数はURLの1つだけ
  • クエリに "feed" を指定するとフィードの基本情報、"items" で各記事の一覧を取得する
  • "items title""items url" など、個別の情報だけを取り出すこともできる
  • 第3引数をTRUEにすると見出し行が付くので、最初はTRUEがおすすめ
  • 第4引数で取得件数を制限できる(5〜20件が実用的)
  • Googleスプレッドシート専用の関数で、Excelには存在しない
  • 複数サイトのフィードをまとめれば、ニュース監視や競合チェックに活用できる
  • SORT / FILTER / HYPERLINK と組み合わせて自分用ダッシュボードを作れる
  • キャッシュで更新されないときはダミーパラメータやApps Scriptで対処する
  • IMPORT系関数(IMPORTHTML / IMPORTDATA / IMPORTXML / IMPORTRANGE)と目的に応じて使い分ける

まずは好きなニュースサイトやブログのフィードURLで =IMPORTFEED("URL", "items", TRUE, 5) を試してみてください。最新記事の一覧がセルに展開される手軽さを実感できますよ。


関連記事

タイトルとURLをコピーしました