エクセルがGoogleスプレッドシートに一番負けている(と個人的に思う)分野です。
query関数が大好きです
私は業務上Googleスプレッドシートを利用する機会が多いです。エクセルではなく敢えてGoogleスプレッドシートを利用する一番の利点として認識しているのが、query関数を利用できることです。
query関数とはSQLで使われるクエリのようなもので、スプレッドシート上のデータ(ベース)に対して特定の条件を満たすデータのみを抽出するための関数です。
元データから特定の列のみを抽出したり、フィルターをかけたりと何かと便利な関数です。
関数なので、引数に条件を入れていけば簡単に使うことができます。
PowerQueryは嫌いです
対するエクセルには同様の機能として、PowerQueryが実装されています。PowerQueryは、専用のPowerQueryエディタを起動して、列の削除やフィルターといった操作をマウスで行っていきます。「マクロの記録」のようなイメージです。
マウスで行った操作は、M言語という形で記録されることになります。基本的にはM言語を編集することなく直感的にデータを取得・集計することができます。
中級者以上になるとM言語を直接編集する機会も増えていくことになると思いますが、M言語ベースでクエリを組み立てていくことはあまり想定されていないように感じます。
PowerQueryエディタの使い勝手の悪さと、PowerQuery自体の遅さから、私はあまり積極的に利用したいと思いません。
どういう使い方を想定しているのか?
Microsoftがそう考えているかは分かりませんが、Googleスプレッドシートと比較すると、PowerQueryは操作が直感的で初心者でもわかりやすい点を重視して設計されているような気がします。エディタを経由するせいかは分かりませんが、query関数と比較しても動作は重く感じます。
対するGoogleスプレッドシートのquery関数はSQLに慣れ親しんだユーザーにはとても分かりやすく、関数にかなり多くの引数を入れていくことになることから、中級者以上を想定しているように感じます。
PowerQueryが本格的に導入されてきたのはこの2年ほどですが、PowerQueryの正統派の使い方はまだ確立していないように思います。
VLOOKUP関数の代わりのような使い方がもてはやされることもありますが*1、おそらく一番力を発揮するのは、①フォルダ内の元データを取得して一つのデータベースにまとめる、②逐次更新されるようなデータではなく、週次や月次で更新されるようなデータの場合、なのではないかと思います。
PowerQueryの解説として一番有名なのは上記で紹介されている本だと思いますが、解説は良くも悪くも全般的・平板になっていて、いまいちポイントがつかみにくくなっています。