MAP関数の使い方まとめ|複数の列を一気に処理できる便利関数

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つご紹介しますね。

① 商品データの一括加工(利益計算)

やりたいこと:以下のデータを使って商品ごとに「販売価格-原価」で利益を出したい。

商品名原価販売価格
商品A500800
商品B300450
商品C12001500

使う式

=MAP(B2:B4, C2:C4, LAMBDA(原価, 価格, 価格 - 原価))

☝ この1行で、D列にまとめて利益が出せちゃいます!


② 数量に応じた割引処理(条件付き)

やりたいこと:以下のデータを使って「10個以上買ったら10%オフ」みたいな条件付きの計算。

注文ID単価数量
10012005
100215012
100350010
100425020

使う式

=MAP(B2:B5, C2:C5, LAMBDA(単価, 数量, IF(数量>=10, 単価*数量*0.9, 単価*数量)))

数量が10個以上の注文にだけ、ちゃんと割引が効いてますね ♪

③ 数量が0の売上を非表示にしたい

やりたいこと:以下のデータを使って数量が0の行だけ売上額を空白にしたい。

店舗商品数量売上額
A店商品X01000
B店商品Y31500
C店商品Z0800

使う式

=MAP(C2:C4, D2:D4, LAMBDA(数量, 売上額, IF(数量>0, 売上額, "")))

空欄にすることで、あとで売上集計から除外しやすくなります。

MAP関数のメリット・注意点まとめ

最後に、使ってみて感じる「よいところ」と「気をつけたいポイント」をまとめました👇

💡 メリット⚠️ 気をつけポイント
配列ごとの処理をまとめて書けて、ミスやコピペの手間が減る配列のサイズ(行数など)はそろってないとエラーに
複雑な条件分岐や計算も、LAMBDAを使えば柔軟に書ける引数の数が合わないと #N/A エラーが出る
結果も配列で返ってくるので、後続の計算にもつなげやすい各セルに「1つの値」だけを返す必要あり(配列はNG)

まとめ

MAP関数は「ちょっとむずかしそうだけど、使いこなせたら超便利」な関数の代表格。
事務職や店舗業務などでよくある「同じ処理をたくさんの行にかけたい」ケースで、威力を発揮します ✨

慣れるまではLAMBDAの書き方でつまずきやすいですが、まずはシンプルな2列の計算から試してみるのがオススメです。

関連記事

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

エンジニアを数年経験し、現在は事業会社でデータ分析業務に従事しています。
取得資格:基本情報技術者、G検定、統計検定2級

目次