カクヨム作者向けSpreadsheetテク1:話一覧とその情報を取得する

ネムラコーヒーです。転スプ書いてます。カクヨムコン4の締切もいよいよ迫る中、なぜか息抜きに書きました。

特に詳しくなくてもこのブログの最後の手順に則って、シートをコピーしたら使えるので読んでください。

カクヨムは自分の小説のページにGoogleAnalyticsを埋めることができるのですが、取得できるPV数は公式の集計とはちょっとズレる。

kakuyomu.jp

Spreadsheetで管理する場合は、GAもいいけど公式の情報もほしい。ついでにGAでは応援の数とかはわからない。そういうときはIMPORTHTMLを使ってWEBページをスクレイピングしてやる。

f:id:minemuracoffee:20190126152458p:plain

小説情報ページには公開日が入っている。以下のようにやればこの情報を取得できる。

=IMPORTHTML(小説URL,"list",7)

f:id:minemuracoffee:20190126152719p:plain

アクセス数のページにはもっといい情報があって、応援の数もわかる。

=IMPORTHTML(小説URL&"/accesses","table",1)

ただし、両方共実際にひっぱってみるとわかるけど、話名と公開日がくっついていたり、1,000 PVみたいな感じでPVが数字になっていたりする。

こういうのはREGEXEXTRACTとかSUBSTITUTEとかを駆使してクレンジングする。あと、エラーを出すのは個人的に嫌なので、ARRARYFORMULAを使ってうまいことやる。

=ARRAYFORMULA(REGEXREPLACE(INDIRECT("F1:F"&COUNTA(F:F))," [0-9]+年[0-9]+月[0-9]+日",""))

最後に2つのページの情報をVLOOKUPで突合して完了。

f:id:minemuracoffee:20190126153259p:plain

あとはグラフ書いたり人気の話ごとにソートしたり、応援される率をだしたり、煮るなり焼くなりお好きなように。そのあたりのテクニックも書いていこうと思うけど、今日はこのぐらいにしておく。

で、特にこんなことを手元でやり直す必要はないので、欲しい方は以下の要領でコピーしてお使いください。(要Googleアカウント)

docs.google.com

上のファイルを開く。

f:id:minemuracoffee:20190126153559p:plain

ファイル>コピーを作成、で自分のDriveにコピーする。

f:id:minemuracoffee:20190126153750p:plain

「設定」シートのURLを自分の小説のURLに変更。以上で完成です。あとは煮るなり焼くなりお好きなように。

Spreadsheetsの関数テクを学びたい人はよろしければぼくの小説を読んでください。

kakuyomu.jp

応募要項の10万字まであと1万4000字・・・。息抜きがてらこのコーナーをちまちま書くつもりです。