【×Excel→○スプレッドシート】最も強力なQuery関数で自在にデータを操ろう

こんにちは、Forkusです!

前回はImportHTML関数を使って、データを効率よく収集する方法をおさらいしました。
↓こちら↓

【×Excel→○スプレッドシート】ImportHTML関数を使って自在にデータを収集しよう

2019.02.08

そして、入手したデータはこちら(↓)世界各国の人口ランキング(2017)です。

まずは、このデータを操れるデータに変えます。

というのも、このままだと、消したり変えたりが出来ません。
(※即座にauto-fillでImportXTML関数が上書きされるため。)

以下の手順に沿って、サクッと設定を変更しましょう。

  1. ImportHTML関数の場合、例えば”United States”がある列を消しても、また元の状態に戻されてしまう…
  2. 一方、Ctrl + A (windows)Cmd + A (on Mac)によってデータを全選択コピーし、[貼り付け(Paste special)]の中から[の貼り付け(Paste values only)]を選択すると
  3. 自由に列や行を削除出来るようになります(↓)

これで下準備は完了!

Forkus
いいから、はよQuery関数おしえろや。

さて、今回紹介するのは、Query(データベースから情報を集める)関数さんです。

最も早く、あなたの知りたい情報をデータから参照することが出来ます。

Google Sheetsの関数で一番強力と言っても過言ではありません。

1. Query関数の使い方

1.1. Query関数をもっと簡単にしよう

Query関数は、すごく簡単です。

項目syntax and details
用法QUERY(①範囲, ②”SELECT 列 WHERE 条件”,③見出し表示設定)
データの大元。参考にするデータの全範囲。
①の中の、条件をかけたい列(縦)をSELECTし、それをWHERE以下の条件にさせる。
データの見出し(一行目の帯)は入れる?→TRUE(いる)or FALSE


でも、①の範囲が広いと毎回選択するのが面倒ですよね。

そんな時、範囲に名前を付けて保存→ 「その名前で今後は使用出来る機能」を使いましょう。

今回は、「A1:F233」のセル範囲に、「国別人口」という名前を付けます。

  1. Ctrl + A (windows)Cmd + A (on Mac)によってデータを全選択
  2. メニューバーの[データ]>[名前付き範囲] をクリック
  3. 右のメニューが出現。好きな名前を付けましょう
今回は全データ範囲が必要だったので、全選択をしましたが、一部選択した範囲に名前をつけることも可能です。また、範囲指定に「A1:F233」を使うことももちろん可能です。
下準備②みたいになりましたが、次は実演です。

1.2. お題①「人口が一億人より多い国とその大陸名(2017)」

↑今回使うデータです。見出しを日本語にして分かりやすくしました。

まずは、イメージをつかんでみましょう。
お題①は「人口が一億人より多い国とその大陸名(2017)」です。

・必要な情報はB列(国名)とC列(大陸)とE列(人口:2017
・条件はE列(人口:2017が一億人より多い

よって、以下の関数を別シートのA1セルに挿入します。

=QUERY(国別人口,”select B, C, E where E > 100000000″,TRUE)
人口一億より多い国って、12か国しかないんですね…

1.3.お題②「人口が一億人より多いアジアの国(2017)」

お題②では、先ほどの条件、「人口>一億」に加えて、「大陸はアジアである」という条件が加わりましたが、

複数条件 → andをつけるだけ

ということでand C = ‘Asia’ を加えて以下の関数をA1に挿入します。

=QUERY(国別人口,”select B, C, E where E > 100000000 and C = ‘Asia'”,TRUE)
12か国中8がアジア大陸の国々。それはアジアに視線が注がれる訳ですね…

1.4.お題③「人口減少したアジアの国(2016~2017)」

お題③では、先ほどの条件、「大陸はアジアである」に加えて、「増減率<0」という条件が加わりました。同じく複数条件ですね…

以下の関数をA1セルに挿入します。

=QUERY(国別人口,”select B, C, E, F where F < 0 and C = ‘Asia'”,TRUE)

ジャパああああああああああああん!

ちなみに、人口が増加したアジアの国々は…

Forkus
人口減少ってレアキャラなんやな。

1.5.お題④「世界人口に閉めるアジアの国の割合(2017)」

世界の人口総数(2017)は7,550,262,101人と、約75億人もいるんですね…

今回は少し、変わり種です。

通常の計算をする時にはWhereをつける必要はありません!なのでANDも必要ないことに注意しましょう。

よって、以下の関数をA1に挿入します。(100をかけているのはパーセントにするためです。)

=QUERY(国別人口,”select B, C, E, (E / 7550262101)* 100 where C = ‘Asia'”,true)
6割ェ…

無事、SUM関数によってアジアの人口割合が分かりました!

以上になります。
ここまで閲覧してくださったみなさま、お疲れ様でした。

次回紹介するのはQUERY関数のオプション使用方法です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA