IMPORTFEED関数でブログの更新情報をスプレッドシートに一覧化する


importfeedサムネイル3

こんにちは!もり(@moripro3)です!

GoogleスプレッドシートのIMPORTFEED関数の使い方をシリーズでお届けしています。

前回の記事では、関数の基本的な使い方を紹介しました。スプレッドシートに「フィード」と「アイテム」のデータを取得しましたね。

GoogleスプレッドシートでWebデータを取得するIMPORTFEED関数の使い方
GoogleスプレッドシートのIMPORTFEED関数の使い方を紹介します。フィード・アイテムを取得する方法、属性を指定する方法、列見出しの有無の違い、取得アイテム数の指定などをお伝えします。

タカハシさん主宰のノンプロ研では、学習のアウトプットとしてブログを書いているメンバーが多数います。(私もそのひとり!)

そこで今回は、IMPORTFEED関数を活用して、コミュニティメンバーのブログ更新状況をスプレッドシートに一覧化してみます。

前回のおさらい:IMPORTFEED関数でアイテムを取得

IMPORTFEED関数とは、XML形式のフィードを、スプレッドシートにインポートする関数です。

IMPORTFEED(フィードURL, [クエリ], [見出し], [アイテム数])

引数が4つあります。

引数 省略の可否 説明
フィードURL 必須 フィードURLを指定する
クエリ 省略可 取得するデータの内容を指定する
見出し 省略可 先頭行に列見出しを含めるかを指定する
アイテム数(※) 省略可 直近のアイテムから順に、取得する数を指定する

    ※アイテムとは「記事」のことです。

    IMPORTFEED関数でスプレッドシートに一覧化する

    スプレッドシートにメンバーの一覧を作成します。ここでは、下記の列を作成します。

    • 手入力する項目
      • A列:メンバー名
      • B列:ブログのフィードURL
    • IMPORTFEED関数で取得する項目
      • C列:ブログタイトル
      • D列:最新記事のタイトル
      • E列:最新記事のURL
      • F列:最終更新日(最新記事の投稿時刻)

    イメージがこちらです。ここまで準備したら、C列~F列に関数を入れて、Webデータを取得していきましょう!

    importfeed3-1

    引数の共通設定

    IMPORTFEED関数の4つの引数のうち、第3引数と第4引数は全員共通にします。

    1. フィードURL
    2. クエリ
    3. 列見出しの有無
    4. 取得するアイテム数

    ・第3引数[列見出しの有無]
    false を指定します。スプレッドシート上に見出しを作成しているので、IMPORTFEED関数で取り込むときは見出し不要です。

    ・第4引数[アイテムの取得数]
    1 を指定します。最新の1件のみを取得するためです。

    ブログのタイトルを取得する

    C列に「ブログタイトル」を取得します。クエリは feed title です。

    C3セルに入力する数式
    =IMPORTFEED($B3,"feed title",false,1)

    importfeed3-2

    先頭行(ここでは3行目)に関数を入力したら、最終行までコピーしましょう。

    最新記事のタイトルを取得する

    D列に「最新記事のタイトル」を取得します。クエリは items title です。

    D3セルに入力する数式
    =IMPORTFEED($B3,"items title",false,1)

    importfeed3-3

    ※最新記事が取得できない場合の対処法は前回の記事をご覧ください。

    最新記事のURLを取得する

    E列に「最新記事のURL」を取得します。クエリは items url です。

    E3セルに入力する数式
    =IMPORTFEED($B3,"items url",false,1)

    importfeed3-4

    IMPORTFEED関数で取得したURLには、自動でリンクが作成されます。その記事を読みたい場合、すぐにアクセスできるので便利です!

    importfeed3-5

    最終更新日(投稿時間)を取得する

    F列に「最終更新日」を取得します。クエリは items created です。

    F3セルに入力する数式
    =IMPORTFEED($B3,"items created",false,1)

    importfeed3-6

     

    これで、メンバーのブログ更新状況の一覧ができました!

    一度関数を入力すれば、ブログが更新されるたびに、スプレッドシートにも自動で反映されます。

    最終更新日の日付形式を整える

    最後に、F列の「最終更新日」の表示形式を整えます。例えば3行目の「Tue, 22 Jan 2019 02:45:28 +0000」は「2019/1/22」と表示させたいですよね。

    importfeed3-7

     

    さらに、タイムゾーンが日本時間でないWebサイト(末尾が+0000)の場合、Date Createdが9時間遅れているので、時刻を判定して日付も調整します。

    スプレッドシートの関数を組み合わせて、日付を整形していきます。やりたいことはこの2つです。

    1. 9時間のズレを補正する
    2. YYYY/MM/DD形式の表示にする

    方針は、「Date Createdから年・月・日の3つを取得し、DATE関数で日付形式にする」です。

    DATE関数についてはこちらをご参照ください。

    GoogleスプレッドシートとExcelで使える日付関連の関数まとめ
    Googleスプレッドシートやエクセルで日付に関する処理をする場合も多いですよね。今回は、今日の日付、何か月後の日付、月末日をはじめ両方で全く同じく使える日付関連の関数を一通り紹介したいと思います。

    年月日・時刻を取得する

    スプレッドシートのmid関数で下記の4つを取得します。

    • 年(year)
    • 月(month)
    • 日(day)
    • 時刻(hour)
    =mid(文字列, 開始位置, セグメントの長さ)

    importfeed3-8

    取得結果がこちらです。

    importfeed3-9

     

    月の変換と日時補正

    次に、月の変換と日時補正をします。

    ①「月」の英語表記を数字に変換する
    ②9時間遅れのズレを補正する

    まずは①の「月」変換です。1月、2月、3月といった「月」の英語表記を数字に変換します。

    別シートに対応表を作成します。このシート名は「カレンダー」としておきます。

    importfeed3-10

    VLOOKUP関数で、英語表記を数字に変換します。関数の使い方はこちらをご覧ください。

    GoogleスプレッドシートのVLOOKUP関数で複数条件による検索を行う方法
    GoogleスプレッドシートでVLOOKUP関数を使う基本の方法とVLOOKUP関数で複数条件による検索をする方法についてです。またエラー表示を非表示にするIFERROR関数の使い方にも触れます。

     

    次に②の日時補正です。

    IMPORTFEED関数の取得結果が「Tue, 22 Jan 2019 21:00:00(1月22日 21時)」の場合、実際の投稿日時は、「Wed, 23 Jan 2019 06:00:00(1月23日 6時)」です。

    IF関数を使用して、日付を9時間補正します。

    ・時刻+9時間が24未満の場合 → 補正前の日付
    ・そうでない場合 → 補正前の日付+1(翌日)

    ①・②の関数を、K列・L列に入力します。

    importfeed3-11

    結果がこちらです。

    importfeed3-12

    YYYY/MM/DD形式に変換する

    ここまでで、年・月・日の3つが揃いました。DATE関数を使用して日付形式にします。

    importfeed3-13

     

    これで一覧の完成です!作業・整形用に使用した列(G列〜L列)はグループ化してたたみましょう。

    importfeed3-14

    まとめ

    今回の記事では、GoogleスプレッドシートのIMPORTFEED関数を使用して、ブログ更新状況の一覧を作成しました。

    • コミュニティメンバーのブログ更新状況をスプレッドシートにまとめる
    • 会社の業務に必要なWebサイトの更新状況をスプレッドシートに一覧化して、部署で共有する

    など、活用方法はたくさんありますね。

    IMPORTFEED関数の第2引数[クエリ]に指定できる全一覧は前回記事で紹介していますので、クエリの指定をアレンジして、ぜひオリジナルの一覧を作ってみてください!

    連載目次:IMPORTFEED関数でブログ情報を取得する

    GoogleスプレッドシートのIMPORTFEED関数を使って、ブログ更新情報の一覧を作る方法を紹介しています。

    1. Webサイトの新着記事をいち早く取得!RSSフィードのURLを確認する方法
    2. GoogleスプレッドシートでWebデータを取得するIMPORTFEED関数の使い方
    3. IMPORTFEED関数でブログの更新情報をスプレッドシートに一覧化する

      投稿者プロフィール

    もり
    もりシステムエンジニア・Webライター
    「ラクするために全力を尽くす」をモットーに日々勉強。退屈なことはプログラミングで片づけよう。
    事務作業をとことんラクにできるITネタを発信していきます。

    お気軽にフォローしてくださいね!

    もりの詳しいプロフィールはこちら
    ▽▽▽

    コメント

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