Googleスプレッドシートをもっと効率よく使いたい!そんな方に向けて、今回は MAP関数 をご紹介します。複数の列や配列に対して、ひとつひとつ処理を加えるのって大変ですよね。でもMAP関数を使えば、複数の配列に対して一括でカスタム処理ができるんです。
この記事では、MAP関数の基本的な使い方から、実際に役立つ事例までわかりやすく解説していきます。
MAP関数とは?
MAP関数 は、指定した1つまたは複数の配列に対して、LAMBDA関数で定義した処理をそれぞれの要素に適用し、新しい配列として返す関数です。
たとえば「A列の数字をぜんぶ2倍したい」とき、1つずつ計算式を入れるのは面倒ですよね。そんなときはこう書くだけ!
=MAP(A2:A5, LAMBDA(x, x * 2))
これでA2〜A5の数字がそれぞれ2倍された結果が、ずらっと返ってきます。

MAP関数の基本的な形はこんな感じです👇
=MAP(配列1, [配列2, ...], LAMBDA(名前1, [名前2, …], 計算式))
パーツ | 意味 |
---|---|
配列1, 配列2... | 対象となる列やデータの範囲(複数OK) |
LAMBDA(...) | それぞれの要素に対して行う処理を定義 |
配列が複数ある場合は、LAMBDA
の引数もその数に合わせて指定します。
例:LAMBDA(原価, 価格, 価格 - 原価)
のように、2列の値を受け取って処理ができます。

他の配列関数とどう違うの?
スプレッドシートには似たような配列関数がいくつかあるので、MAPとの違いもざっくりまとめておきますね。
関数 | 特徴 |
---|---|
ARRAYFORMULA | おなじ計算を複数行に展開できるけど、条件分岐や複雑な処理は苦手 |
BYROW | 行ごとにまとめて処理。たとえば「行ごとの合計」を出したいときに便利 |
BYCOL | 列ごとに処理。縦に長いデータをまとめたいときに活躍 |
MAKEARRAY | 自分で行数・列数を決めて、配列をまるっと作る関数 |
💡 MAP関数のいいところは「複数の列をセットで処理できる」ところ。
「列Aと列Bの差をとる」みたいな作業が、とってもスムーズにできちゃいます。
実務で使えるMAP関数の活用例3つ
「これって実際どんなときに使うの?」という方向けに、よくある事務作業の中での使いどころを3つご紹介しますね。
① 商品データの一括加工(利益計算)
やりたいこと:以下のデータを使って商品ごとに「販売価格-原価」で利益を出したい。
商品名 | 原価 | 販売価格 |
---|---|---|
商品A | 500 | 800 |
商品B | 300 | 450 |
商品C | 1200 | 1500 |
使う式
=MAP(B2:B4, C2:C4, LAMBDA(原価, 価格, 価格 - 原価))
☝ この1行で、D列にまとめて利益が出せちゃいます!

② 数量に応じた割引処理(条件付き)
やりたいこと:以下のデータを使って「10個以上買ったら10%オフ」みたいな条件付きの計算。
注文ID | 単価 | 数量 |
---|---|---|
1001 | 200 | 5 |
1002 | 150 | 12 |
1003 | 500 | 10 |
1004 | 250 | 20 |
使う式
=MAP(B2:B5, C2:C5, LAMBDA(単価, 数量, IF(数量>=10, 単価*数量*0.9, 単価*数量)))
数量が10個以上の注文にだけ、ちゃんと割引が効いてますね ♪

③ 数量が0の売上を非表示にしたい
やりたいこと:以下のデータを使って数量が0の行だけ売上額を空白にしたい。
店舗 | 商品 | 数量 | 売上額 |
---|---|---|---|
A店 | 商品X | 0 | 1000 |
B店 | 商品Y | 3 | 1500 |
C店 | 商品Z | 0 | 800 |
使う式
=MAP(C2:C4, D2:D4, LAMBDA(数量, 売上額, IF(数量>0, 売上額, "")))
空欄にすることで、あとで売上集計から除外しやすくなります。

MAP関数のメリット・注意点まとめ
最後に、使ってみて感じる「よいところ」と「気をつけたいポイント」をまとめました👇
💡 メリット | ⚠️ 気をつけポイント |
---|---|
配列ごとの処理をまとめて書けて、ミスやコピペの手間が減る | 配列のサイズ(行数など)はそろってないとエラーに |
複雑な条件分岐や計算も、LAMBDAを使えば柔軟に書ける | 引数の数が合わないと #N/A エラーが出る |
結果も配列で返ってくるので、後続の計算にもつなげやすい | 各セルに「1つの値」だけを返す必要あり(配列はNG) |
まとめ
MAP関数は「ちょっとむずかしそうだけど、使いこなせたら超便利」な関数の代表格。
事務職や店舗業務などでよくある「同じ処理をたくさんの行にかけたい」ケースで、威力を発揮します ✨
慣れるまではLAMBDAの書き方でつまずきやすいですが、まずはシンプルな2列の計算から試してみるのがオススメです。