クイックナビゲーション
MAP 関数
概要
MAP 関数は、配列内の各要素に対して LAMBDA 関数を適用し、新しい値で構成された配列を返します。これにより、配列の各値を変換・マッピングして新しい配列を作成できます。
構文
=MAP(array1, lambda_or_array<#> )
パラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
| array1 | 配列 |
はい | マッピング対象のメイン配列 |
| lambda_or_array<#> | LAMBDA関数または配列 |
はい | 各要素に適用する LAMBDA 関数、またはマッピング用の配列 |
MAP関数の使用
MAP 関数は配列プログラミングのパワーを Excel に導入します。従来の配列数式では困難だった要素ごとの変換を、シンプルで読みやすい構文で実現します。データ変換、条件付き処理、数値計算など多様な用途で活用できます。
MAPの一般的な例
特定の値を超える場合の平方数計算
=MAP(A1:C2, LAMBDA(a, IF(a>4,a*a,a)))
A1:C2の各値に対して、4より大きい場合はその値の2乗、小さい場合は元の値を返します。
2列で両方TRUEの条件を検索
=MAP(TableA[Col1],TableA[Col2],LAMBDA(a,b,AND(a,b)))
2つの列の値が両方とも TRUE の場合に TRUE を返し、条件フィルタリングに活用します。
FILTER関数との組み合わせ
=FILTER(D2:E11,MAP(D2:D11,E2:E11,LAMBDA(s,c,AND(s="Large",c="Red"))))
サイズが「Large」かつ色が「Red」の行のみを抽出します。
よくある質問
配列の各要素に対して個別の変換処理を適用し、新しい配列を作成するために使用します。データ変換や条件処理に最適です。
はい、通常は LAMBDA 関数を第2引数以降に指定します。無効な LAMBDA は #VALUE! エラーを引き起こします。
一般的なエラーと解決策
#VALUE! エラー
Cause: 無効な LAMBDA 関数またはパラメータ数の不一致
Solution: LAMBDA関数の構文とパラメータ数を確認してください。
予期しない結果
Cause: LAMBDA関数の戻り値が配列でない
Solution: LAMBDA関数が適切な値を返すように修正してください。
注記
- Excel 365でのみ利用可能
- 動的配列を返します
- 複数配列を同時に指定可能
- 他の動的配列関数(REDUCE、SCANなど)と連携が強力
互換性
利用可能: Excel 365, Microsoft 365
利用不可: Excel 2019以前, Excel for Web(一部制限)
コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 365