Query関数

written by ひさっち
 
ご存知の通り、Query関数はExcelにはない、Googleスプレッドシート独自の関数です。 私見ですが、GoogleがExcelにない機能があるのは、Excelに対抗してだけではないと思っています。
例えば、Googleスプレッドシート関数の一つにARRAYFORMULA関数【=ARRAYFORMULA(配列関数)】がありますが、これは配列の考え方を使った関数ですが、これが生まれた背景には元々GoogleスプレッドシートがWebアプリであるということが関係していると思います。
つまり、Googleスプレッドシートは、常に消費メモリをどうしたら節約出来るのかを考える必要がありそこから生まれた関数ではないかと私は思っています。
Excelもプロプラス版から、スピル数式が順次使えるようになりましたのでGoogleスプレッドシートにあまり馴染みのない方もARRAYFORMULA関数の挙動を一度みればすぐにご理解いただけると思います。
 
さて、Query関数ですがこれはデータベース関数と考えて宜しいかと思います。実際SQL文法を参考にしているはずです。 使い方ですが、以下の4ステップで完成です。(参考にしたサイトが見つからず、サイト様に本当に申し訳なく思っています。

基本の4ステップ

Step1. =Queryを入力 Step2. =Query(範囲)を入力し 範囲のデータが表示されることを 確認する。
Step3. =Query(範囲,”select*”)を入力し 範囲のデータが表示されることを 確認する。 ※Select ←*アスタリスク(半角英数) を使います。
Step4. =Query(範囲, ”select 列”)を入力し 指定した列が表示される事を 確認する。
 
以上4ステップになります。 以下の動画は私がQuery全体の考え方を理解する際にお世話になった動画です。 LUCKITのんびり放送局
また、Query関数学習に際し、下記に記したサイトにどれだけ助けて頂いたか分りません。 Googleシートマスターch
 

Queryに関する留意点

あくまでも私見です。 Query学習でつまずきやすい点は、 Query条件をセルで表記する場合だと思います。文法は難しくないのですが、入力が上手く出来ているのかを確認するのに、確認しずらく修正が少し手間取ります。
そして、Query最大の留意点は いつの間にかQuery関数に他の関数をネストをしすぎるということです。 Query関数は、使えるようになると、ちょっとプログラミングをしているようで、とても愉しく、そして、Queryに他の関数をネストをすると業務に相当な威力を発揮します。
しかし、ネストをすればするほど、Query関数を作成したヒトにしか理解出来ないような状況が生じやすいです。時には、自分が作成したQuery式なのに式をみても「え・この式の意味ってなんだっけ…」といういわゆる“沼”にはまってしまいます。(私だけかな…?)
つまり、Query関数を業務に使用する際は、いわゆる“属人化”しやすくなってしまう、という点を特に留意しなくてはならないと、私個人は考えています。
でも、Query関数は使えると、とても有益かつ愉しい関数です。是非トライなさってみてください。
※その他、Query式を書くときのコツはいくつかありますが、ほとんどが慣れ・クセ付けの問題ですので、大丈夫です。 ご参考になれば幸いです。