結構便利なQuery関数 スプレッドシート雑談

記事
ビジネス・マーケティング
こんにちは。ペンスケです。
ココナラでお仕事を始めてからはや2週間。
ありがたいことにお仕事をいただき、スプレッドシート作成などを中心にお仕事をさせていただいております。
ありがとうございます!

今回は、Googleスプレッドシートにある超便利関数Query関数について語っていきたいと思います。

1.Query関数って何!?
Query関数は大量のデータの中から条件を指定して目的のデータを抽出するための関数です。
データベース管理システムなどでよく使われる「条件文」をクエリと呼ぶのですが、それと全く同じ動きをGoogleスプレッドシートで行うことができます。

例えば

ある会社の社員名簿にこんなデータがあったとします

営業部:田中一さん、佐藤百合さん
人事部:佐藤和夫さん、鈴木美穂さん、山口和美さん

みたいな。

この中で、「佐藤」という名字の人だけのデータを呼び出したい時に

佐藤さんだけのデータが欲しい!!と呼びかけて、佐藤百合さん・佐藤和夫さんのデータだけを取り寄せる。
これがクエリ関数の使い方です。

条件はさまざまに設定できて
「営業部の人のデータ」が欲しい、とか。
「人事部にいる山口さんのデータ」が欲しい、など。

いろんな条件に合うデータを質問して、その結果を返してもらうというのがクエリ関数の働きになります。

2.Vlookupとは何がちがうのか
エクセルの関数の代表として「Vlookup関数」があります。
エクセルにちょっと詳しい方ならわかると思うのですが、Vlookup関数は
「左端にあるデータを参照して条件にあった結果を返す」という働きをします。

=VLOOKUP(検索値, 検索範囲, 列番号, [検索方法])

こんな感じの構文を使うわけですが、結果が1要素しか返せないという弱点があります。
検索をかけるという意味では使い勝手が良い関数なのですが、特定のデータレコードをまとめて引っこ抜きたい!というときには、なかなか不便だったりするのです。

例えば、
人事部にいる山口さんが購入した備品の名前と値段だけを抽出したデータが欲しい!
と思った時に、Vlookup関数だと「山口さんが購入した備品の名前」を検索する関数と、「山口さんが購入した備品の金額」を検索する関数の2種類が必要だったりするわけです。

また複数条件あてはまる結果を返す可能性がある場合、Vlookup関数をたくさん書かなきゃいけないわけです。
私がもしそんな指示もらったら、
めんどくさぁあああああああ!!
データフィルターかけるわああああああ!!!
と解決しますが、なんらかの状況でデータフィルターをかけた結果だけで終わらない場合は、コピペせねばならん……となってしまうわけです。

毎回手動でコピペとか地獄かなと思うわ。
超苦痛。
他の人に教えるときに、めっちゃ面倒くさいし。

というわけで、こういうケースが発生した場合はクエリ関数を使って、自動処理させてしまったほうが良いわけです。

関数の構文
=QUERY(データ, クエリ, [見出し])

クエリの構文
select ほしいデータの要素 where 条件文

使い勝手を考えるのであれば、1つのシートの中に、条件文となる要素
(例えば、今回の例でいえば人名)を入力する欄を作成して、そこに名前を打ち込むだけで該当データをすべて抽出するという形にするといいかもしれません。

そこまで関数を使ってやってあげれば、毎回データフィルターの条件を作成して、コピぺするみたいな面倒なことをやらなくてもOKなのです。
わぁ便利。

クエリ文なんかは、世の中にデータベースというものが登場してから、長く使われている処理なので、ちょっとインターネットを検索するだけでいろんな構文を見つけることができます。

いずれかの条件を満たすデータのとり方、とか。
両方の条件を満たすデータのとり方、とか。
類似した言葉を探すデータのとり方、とか。
条件文を満たすデータの結果を返す順番を変えたいー、とか。

もちろん、なんでもできるわけではありませんが、そういった細かなニーズをかなえる条件式もインターネット上にたくさんあるので作成に躓いたら探してみるといいかもしれません。

いや……クエリで綺麗にデータ取れた時の快感が、やばいんですよ・・・。
プログラマの仕事してた時から、クエリを実行して結果が綺麗に帰ってきたときの「やったぜえええ」って感動が、沁みついちゃってまして。

お仕事の中でそんなデータ列にあたると、涎垂らしながら条件文を組んでしまうペンスケです。
是非皆さまも、「おや、ひょっとしてこのデータ処理はクエリでやれるな」と思ったらお試しください。
むしろ、とりあえずクエリ組んで結果が返ってくるところを実感してください。

そして思った通りの結果が返ってくる快感をペンスケと一緒に味わいましょう。

そんな変態が提供しているサービスがこちら

Googleフォームの作成から、スプレッドシートのカスタマイズまで。
GASよりもスプレッドシートの要望をいただくことがあったので、自動計算のカスタマイズオプションがあります。

スプレッドシートに入力したデータを自動計算したい。
そんな方におすすめです。

なお、「どういう形にしたいのか」という要件定義の手を抜かないので、おそらく、とってもびっくりするくらいヒアリングします。
なので、お時間の余裕をもって、お声がけください。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す