MAP関数とは、配列の値を1つずつ処理し、結果をまとめて返す関数。コピー不要で、結果は自動表示される基本構文は、「=MAP(配列, LAMBDA(変数, 計算式))」となる。
目次
Excelで同じ計算を何度も繰り返して入力するケースは多い。しかし、行ごとに数式をコピーする作業は、一見単純だがミスの原因にもなりやすい。MAP関数は、こうした繰り返し処理を一括で実行できる新しい関数である。LAMBDA関数と組み合わせることで、配列の各要素に対して自由な処理を行える点が大きな特徴だ。
本記事では、MAP関数の基本構文から実務での活用例までを、わかりやすく解説する。
ExcelのMAP関数とは何か

MAP関数は、指定したセル範囲の値を1つずつ処理し、その結果をまとめて返す関数である。従来のように数式を下方向へコピーする必要がなく、1つの式で完結できる点が大きな特徴だ。動的配列に対応しているため、結果は自動的にスピル表示される。
■MAP関数の基本的な考え方
MAP関数は「配列の各要素に処理を適用する」関数である。難しく聞こえるが、やっていることは単純だ。
基本構文は次のとおりである。
=MAP(配列, LAMBDA(変数, 計算式))
流れは以下のようになる。
- 配列から値を1つ取り出す
- LAMBDAの変数にその値を入れる
- 計算式を実行する
- 次の値へ進む
- すべて処理し終えたら結果を一覧で表示する
この「繰り返しを自動で行う」仕組みがMAP関数の本質である。
MAP関数はどんな場面で役立つのか

ここでは、MAP関数が実務上でどのような場面で役立つのかを紹介しよう。
■繰り返し処理を効率化したいとき
同じ計算を何行も繰り返す場面でMAP関数は有効である。通常は数式を入力して下にコピーする必要があるが、行数が増えるとミスも起こりやすい。MAP関数を使えば、1つの式で一括処理できる。コピー作業が不要になり、数式管理もシンプルになる点が大きなメリットである。
以下のような計算作業で利用すると便利だ。
- 売上計算
- 税率計算
- 割引計算 など
■データ整形をまとめて行いたいとき
データ整形にもMAP関数は役立つ。通常は数式をコピーする必要があるが、1つの式で一括処理できる点が強みである。
下記のような作業で文字列加工や分類を効率化できる関数である。
- 敬称の付与
- 文字列の統一
- 条件判定 など
MAP関数の活用事例
まずは簡単な事例を使って、具体的なMAP関数の使い方を理解しよう。
■事例1:数値をまとめて処理する

B列の数値を2倍にするには、通常であればB2に「=B2*2」と入力し、下へコピーする。しかしMAP関数を使えば次の1式で済む。
=MAP(B2:B6, LAMBDA(x, x*2))

結果は次のようになる。

コピー作業が不要であることが実感できるはずだ。これがMAP関数の基本的な使い方である。
■事例2:文字列にMAP関数を活用する
A列に顧客名が入力されているとする。

これらの名前に「様」を付けるには次の式を使う。
=MAP(A2:A5, LAMBDA(x, x&”様”))

結果は次のようになる。

このように、文字列連結も一括で処理できる。名簿整理やメールテンプレート作成時に役立つ。
■事例3:複数の列を同時に扱う

単価×数量を一括計算して売上金額を求める式は次のとおりである。
=MAP(B2:B5, C2:C5, LAMBDA(price, qty, price*qty))
結果は次のようになる。

各行の計算が一括で処理される。SUMPRODUCTと似ているが、MAP関数は行単位の結果を返す点が異なる。
■事例4:条件判定と組み合わせる実務例
次のようなテスト結果を想定する。

70点以上を合格とする場合、式は次のとおりである。
=MAP(A2:A6, LAMBDA(score, IF(score>=70,”合格”,”不合格”)))
結果は次のようになる。

このように通常の関数と自由に組み合わせられる点がMAP関数の強みである。







DIME MAGAZINE











