データを取り込む
インターネットによって、ウェブ上にはさまざまなデーターが身近にみられるようになりました。様々な情報がリアルタイムで更新され続けています。
しかし、それらはそのウェブサイト上にあるデータであって、自分が見たいように加工もできません。
雇用統計、物価、株価などなど、それらの頻繁に更新されるデーターを自分が見たいように行や列の順番や分母や分子を操作したい、そんなことを考えたことはあるのではないでしょうか?
そこで使いこなしたいのがGoogleスプレッドシートです。これは、エクセルのような表計算ソフトだが、クラウドにあるメリット(パソコンが落ちても残っている、共有と共有解除が容易)以外にGoogleならではの関数があります。
まず、IMPORTHTML関数を使い、ウェブサイトの表のデータをスプレッドシート上に取り込むことができます。この機能を使用すれば、使用したい表のデータのみを抽出して比較することも可能です。
IMPORTHTML(URL, クエリ, 指数)で、
URLで対象のウェブサイトのURL
クエリで表かリストか指定
指数でそのページの上から何番目のデータを抽出するか指定します。
これで、それらのデーターをリアルタイムに反映させることができます。
前述した通り、日本語より圧倒的に情報量の多い英語でのデータを手に入れることで、多くの多様な情報に触れることができます。情報の公開も進んでいる。例えば米国政府のウェブサイト(https://analytics.usa.gov/)のログデータは誰でもみられることができます。その他雇用統計などの情報も誰でも見ることができます(https://www.bls.gov/)。
それではこれらの情報を日本語で翻訳するとわかりやすくなります。
例えば”Table A. Percent changes in CPI for All Urban Consumers (CPI-U): U.S. city average”を抽出しましょう。米国都市部の消費者物価指数です。
https://docs.google.com/spreadsheets/d/1hgyyUYJhWk5fdB9rZJ6U8iAVQOh5G13PB1mRdMYvgO4/edit#gid=0
=IMPORTHTML(“https://www.bls.gov/news.release/cpi.nr0.htm”,”table”,1)
と入れると、
これで一番最初にある”Table A. Percent changes in CPI for All Urban Consumers (CPI-U): U.S. city average”のデータが出てきます。サイト上のデータが更新されればリアルタイムに更新されるから便利です。もちろん日本語のサイトでも表やリスト情報を抽出できます。
日本語に翻訳する
次に別のシートへ日本語に翻訳をします。
ここでもGoogleスプレッドシートだけでつかえる特殊関数、GOOGLETRANSLATEをつかうと、1つの言語から任意の言語にGoogle翻訳の機能をつかって翻訳できます。
GOOGLETRANSLATE(翻訳するセル,”ja”,”en”))
でできるのですが、2つ困ったことがあります。
1つ目は、空白のセルを対象にすると、エラーになってしまうこと
もう1つは数字を翻訳すると4をFourなど、文字にしてしまうところです。いちいち狙い撃ちでこの関数を入れると手間がかかってしょうがないでしょう。
そこで、空白セルや数字のセルを無視して翻訳する関数を作り、あとはそれを全セルに適用すると完成です。
以下の関数になる。
if(翻訳するセル=””,””,if(ISNUMBER(翻訳するセル),翻訳するセル,(GOOGLETRANSLATE(翻訳するセル,”ja”,”en”))))
これを適用させたのがシートJAです。
これを使うことで、データをいちいち検索し、データを書き写し、日本語に翻訳する手間が一気になくなります。
さらに必要なら、いつでもこのシートを見れば、最新の情報が表示されるので、報告する手間すらいらなくなるでしょう。また同じことは日本語のウェブサイトの表にも使えるので、日本政府の統計データを英語に翻訳するのにも使えるでしょう。(中国語に翻訳したい場合は、一度英語に翻訳してからの方が精度はあがります。)
——
最新のインターネットで入手できるデータ活用方法探索についてDiscordで情報交換をしています。
以下リンクで参加できます。
https://discord.gg/BpWWtyS9kB