【Excel】作業を効率化する配列数式の基本的な考え方と応用テクニック

この記事は約3分で読めます。

今回は、Excelの数式をさらに強力にする「配列数式」の基本的な考え方と、実務で役立つ応用テクニックを紹介します。

配列数式とは何か?

Excelで計算を行う際、通常は「A1とB1を足す」「A2とB2を掛ける」といったように、1つのセル(または単一の値)同士を計算させます。
一方、配列数式を使うと、「A1からA5までのデータ」と「B1からB5までのデータ」といった、複数のデータ(配列)をまとめて一度に計算・処理することができます。
従来は、計算用の作業列をいくつも作ってから最終的な結果を求めていたような複雑な処理でも、配列数式を使えば1つのセル内で完結させることが可能になります。

配列数式を入力する基本ルール(スピル機能)

最近のバージョンのExcel(Microsoft 365やExcel
2021以降)では、「スピル」という機能が導入され、配列数式をとても簡単に扱えるようになりました。
数式を入力してEnterキーを押すだけで、計算結果が複数のセルに自動的に溢れ出す(スピルする)ように表示されます。
※古いバージョンのExcelでは、数式を入力した後に「Ctrl + Shift +
Enter」を同時に押して数式を確定させる必要があり、数式の両端に中括弧 `{}`
が自動で付くという仕様でした。現在のバージョンでは、この特別な操作はほとんど不要になっています。

実務で役立つ配列数式の応用テクニック

配列数式を活用することで、日々の業務効率を高めることができます。具体的な応用例をいくつか見てみましょう。

複数条件に合うデータの最大値・最小値を求める

MAX関数やMIN関数に配列数式を組み合わせることで、特定の条件を満たすデータの中から最大値や最小値を抽出することができます。
例えば、「A列が『営業部』であるデータのうち、B列の売上金額の最大値を求める」といった処理です。

`=MAX(IF(A2:A10=”営業部”, B2:B10))`

このように記述することで、IF関数で「営業部」に該当する売上金額だけを抽出し、その中からMAX関数で最大値を導き出すという、二段階の処理を一度に行えます。

文字数の合計を計算する

複数セルの文字数をすべて合計したい場合、通常なら「LEN関数で各セルの文字数を出し、それをSUM関数で足す」という作業列が必要になります。
しかし、配列数式を使えば一瞬で解決します。

`=SUM(LEN(A2:A10))`

この短い数式で、A2からA10までのすべてのセルの文字数をそれぞれ計算し、その合計を一気に算出してくれます。

UNIQUE関数で重複のないリストを作る(最新版向け)

スピル機能に対応した新しい関数と配列数式を組み合わせるのも非常に強力です。
例えば、担当者名が何十件も入力されているリスト(A2:A50)から、重複を除いたユニークな担当者の一覧を作りたい場合、

`=UNIQUE(A2:A50)`

と入力するだけで、入力したセルを起点として、下方向へ重複のないリストが自動で展開されます。

まとめ

今回は、Excelの配列数式の仕組みと、作業列を減らしてスマートに計算する応用テクニックを紹介しました。
配列数式を理解すると、複雑なデータ集計や抽出もシンプルな数式で実現できるようになります。初めは少し難しく感じるかもしれませんが、文字数の合計や複数条件の計算など、身近な例から少しずつ試して、その便利さを体感してみてください。