Excelには認知度が低めですが、使い勝手の良いものに「配列」という機能があります。もちろんGoogle spread sheetにも同等の機能があります。
一つの数式で複数のセルを計算し、複数のセルをコントロールできるため、今まで計算するために多くのセルを用いていた処理をうまく行けば一つのセルで完結することができます。
複数のセルの計算
簡単な例として「配列」を扱う「配列数式」でもあるSUM関数を紹介します。
=sum(A1:A4*B1:B4)
と打ち込んでCtrl + Shift + Enterで決定します。
数式を見ると、
{=sum(A1:A4*B1:B4)}
となっていることにお気づきでしょうか。これがCSEの配列数式として認識していることを示しています。
何が計算されるかについてですが、
sum(範囲1*範囲2)でどちらの範囲の大きさも1x4と同じであることがわかります。この場合、
A1*B1 + A2*B2 + A3*B3 + A4*B4
が返ります。
配列を行列と見立てたとして、内積のような処理を1つのセルで処理できるのが素敵ですよね。
配列はCSE(Ctrl + Shift + Enter)の配列数式とExcel2019から導入された動的配列数式を用いるものが存在します。使用感が少し違いますが複数のセルを1つの数式でコントロールという根幹は同じです。
Microsoftサポート:動的配列数式とレガシ CSE の配列数式
実はすでにSUM関数は動的配列数式としても対応しており、新しいExcelでは、Ctrl+Shift+Enterをしなくても計算できてしまうのです。
1つの数式で複数のセルをコントロール
上記の例は複数のセルの計算を1つ数式で処理をしましたが、別の例として、1つの数式で複数のセルを指定することが可能になります。
3×1の配列は
={1, 2, 3}
2×2の配列は
={1, 2; 3, 4}
以下のOnedriveのExcelではCtrl+Shift+Enterの必要がありません。ご確認ください。
セルをクリックして数式・値を確認!!値を変えてシミュレーションしてみてください。
使い道としては、行列計算や回帰分析など、入力:複数のセル、出力が複数のセルというときに力を発揮します。
一つのセルの数式を設定して、他のセルにこぼれ出て影響与える様子をspillというらしいです。たまにこぼれ出た先のセルが埋まっているときにspillエラーが発生します。