こんにちは、NEXT事業部のJです。
初めてのブログなので何を書こうか迷ったのですが、仕事でもプライベートでもお世話になっている「Googleスプレッドシート」について少し書いてみようと思います。
「Googleスプレッドシート」とは?
ご存じの方も多いかと思いますが、GoogleスプレッドシートはWeb上で動く表計算アプリで、Googleアカウントがあれば無料で利用することができます。共同編集や共有がしやすいほか、個人的には操作感が使いやすいのでExcelより好きだったりします。Enterキーでセル編集できるのがあまりにも偉い。
そんなGoogleスプレッドシートの機能の中でも、個人的にお気に入りな「配列数式」という機能についてご紹介したいと思います。テックブログでもないフリートークみたいなフワッとした説明なので気楽に読んでいただけると幸いです。
「配列数式」とは?
「配列数式」またの名を「ArrayFormula関数」は、複数の行や列に渡る数式を作れるものです。
といってもイメージがわかないと思うので、画像をご用意しました。
今回は、複数行のデータをそれぞれ足し算したいとします。このとき、画像上段のように1行ずつ足し算するのがスタンダードですが、これを1つの数式にまとめられるのが「配列数式」です。
単純に複数行の範囲を指定してするだけだと、一番最初の行だけが計算されますが(画像中段)、「配列数式」を使うと1つの数式ですべての行が計算されます(画像下段)。
あとで計算内容を修正したいときでも、一か所直せば良くなるので非常に便利です。
ちなみにMicrosoft 365版Excelは「スピル」という機能で範囲指定だけで配列数式化します。こちらもすごい便利。
ショートカットで簡単に
毎回、ArrayFormula()と入力するのは大変に思えるかもしれませんが、数式入力中に「Ctrl+Shift+Enter」というショートカットが用意されています。
慣れてくると勝手に手が伸びるくらいには自然なショートカットキーだと個人的には思っています。Googleさん的にも推している機能なのか、使って欲しさがにじみ出ているのかも...?
他の関数と組み合わせ
上の例ではシンプルな足し算に対して使っていましたが、「配列数式」は他の関数との組み合わせにも対応しています。
例えば、王道的な関数(だと私が勝手に思っている)VLOOKUP関数と組み合わせているのが以下の画像です。
なにやらややこしいですが大雑把に説明すると、本来VLOOKUP関数は1つのデータに対して、対応するデータを1つ返す関数なのですが、配列数式を利用することで入力も出力も複数行・複数列にすることができます。
画像をもっとざっくり説明すれば、「似た数式6回書かなくても1か所編集すればOKになるよ!」ということになります。このくらいの表ならともかく、規模の大きい表だと管理しやすさに結構差が出てきますよ!
またまたちなみに先ほど書いたMicrosoft 365版Excelの「スピル」の場合ですが、VLOOKUP関数に対しては入力は複数範囲とれるのですが、出力の範囲が1列分しか指定できないようです(2024年2月時点)。
マニアックですがこの点はGoogleが優秀だなとひっそり思っています。
終わりに
下手の横好きによる説明でしたがいかがでしたでしょうか...?
ネットで調べてみると、もっとわかりやすい説明がたくさん見つかると思うのですが、まずはこの記事で「配列数式」というものを知ってもらって、今まで以上にGoogleスプレッドシートを活用してくれる人が一人でもいらっしゃれば幸いです!