スプレッドシートのIMPORTFEED関数の使い方|RSS/ATOMフィード取得

スポンサーリンク

「ニュースサイトやブログの更新を毎日チェックするのが面倒」。そんな経験はありませんか。

ブックマークを順番に開いて確認する方法もありますが、サイトが増えるほど時間がかかります。

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

この記事では、スプレッドシートのIMPORTFEED関数の基本から実務で役立つ活用パターンまで解説します。

IMPORTFEED関数とは?

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

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

RSSやATOMフィードとは、Webサイトが公開している更新情報の配信データです。ニュースサイトやブログの多くがこの仕組みを持っています。

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

  • フィードのタイトル・説明文・URLなどの基本情報を取得する
  • 各記事のタイトル・公開日時・概要・リンクを一覧で取得する
  • 取得するアイテム数を指定して、最新N件だけを取り込む
  • 複数サイトのフィードを1つのシートにまとめて監視する

NOTE

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

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

基本構文

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

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

引数の説明

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

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

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

クエリの種類

クエリには次の値を指定できます。

クエリ取得内容
"feed"フィード自体の情報(タイトル・説明文・URLなど)を1行で返す
"feed title"フィードのタイトルだけを返す
"feed description"フィードの説明文だけを返す
"feed url"フィードのURLだけを返す
"feed author"フィードの著者名を返す
"items"各アイテム(記事)の一覧を返す(省略時のデフォルト)
"items title"各アイテムのタイトルだけを返す
"items description"各アイテムの概要だけを返す
"items url"各アイテムのURLだけを返す
"items created"各アイテムの公開日時だけを返す

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

TIP

クエリを省略すると "items" と同じ動作になり、タイトル・URL・公開日時・概要がまとめて返されます。

IMPORTFEED関数の基本的な使い方

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

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

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

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

フィード内のすべてのアイテム(記事)が取得されます。タイトル・URL・公開日時・概要が列ごとにセルへ展開されます。

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

第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件が取得されます。件数が多すぎるとシートが見づらくなるので、用途に合わせて絞り込みましょう。

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

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

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

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

セル参照でURLを指定する

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

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

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

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

よくあるエラーと対処法

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

症状原因対処法
#N/A エラーフィードURLが間違っているブラウザでURLを開いてXMLデータが表示されるか確認する
#N/A エラーサイトがRSS/ATOMフィードを公開していないすべてのサイトがフィードを提供しているわけではない。別のURLを試すか、確認する
#VALUE! エラークエリの文字列が正しくない"items" "feed" など正しいクエリ文字列を指定する
データが更新されないキャッシュが残っているスプレッドシートを再読み込みする。または数式を一度消して再入力する
文字化けするフィードのエンコーディングが未対応一部の古いフィードでは文字化けが発生する。別のフィードURLがあれば試す
空のデータが返るフィードにアイテムが含まれていないサイト側でフィードが正しく生成されているか確認する

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

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

TIP

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

Excelとの違い

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

項目GoogleスプレッドシートExcel
IMPORTFEED関数使えるなし
RSSフィード取得の代替手段IMPORTFEED関数Power Query / VBAマクロ / 外部アドイン
操作方法セルに数式を入力するだけPower Queryの設定やVBAコードが必要
自動更新シート再読み込み時手動更新またはVBAで定期実行

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別のスプレッドシート別ファイルのセル範囲を取得

使い分けのポイント: RSSフィードの更新情報が欲しいならIMPORTFEED、Webページの「表」を取り込みたいならIMPORTHTML、CSVファイルならIMPORTDATA、特定のHTML要素をピンポイントで取りたいならIMPORTXMLです。

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

まとめ

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

ポイントを整理します。

  • 構文は =IMPORTFEED(URL, クエリ, ヘッダー, アイテム数) で、必須引数はURLの1つだけ
  • クエリに "feed" を指定するとフィードの基本情報、"items" で各記事の一覧を取得する
  • "items title""items url" など、個別の情報だけを取り出すこともできる
  • 第3引数をTRUEにすると見出し行が付く
  • 第4引数で取得件数を制限できる
  • Googleスプレッドシート専用の関数で、Excelには存在しない
  • 複数サイトのフィードをまとめれば、ニュース監視や競合チェックに活用できる
  • IMPORT系関数(IMPORTHTML / IMPORTDATA / IMPORTXML / IMPORTRANGE)と目的に応じて使い分ける

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


関連記事

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