スプレッドシートのMAP関数とは
MAP関数は、LAMBDA関数を各値に適用して、指定した配列内の各値を新しい値にマッピングするGoogleスプレッドシートの配列関数です。この関数を使用すると、一つまたは複数の配列やセル範囲に対して同じ処理を一括で実行し、その結果として新しい配列を生成できます。
基本的な構文は「MAP(array1, [array2, ...], LAMBDA)」となっており、最初の引数に処理対象の配列、最後の引数にLAMBDA関数を指定します。英名では「Map Function」と呼ばれており、関数型プログラミングの概念を取り入れた高度な配列操作機能を提供しています。
【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
単一配列での基本的な変換処理
単一配列を対象とする場合、MAP関数は一つの配列に対してLAMBDA関数を適用し、各要素を個別に変換処理します。最もシンプルな使用例として、数値の2倍化処理ではMAP(A1:A5, LAMBDA(cell, cell*2))
のように記述できます。
=MAP(A1:A5, LAMBDA(cell, cell*2))
この例では、A1からA5までの各セルの値を2倍にした結果を新しい配列として返します。LAMBDA関数内の第一引数「cell」は配列内の現在の値を表し、第二引数「cell*2」は実行する計算式を定義しています。
複数配列での条件付き処理実装
複数の配列を同時に処理する場合、MAP関数は対応する位置の値を組み合わせてLAMBDA関数に渡します。典型的な活用例として、2つの配列から最大値を抽出する処理ではMAP(A1:A5, B1:B5, LAMBDA(cell1, cell2, MAX(cell1, cell2)))
のような構文になります。
=MAP(A1:A5, B1:B5, LAMBDA(cell1, cell2, MAX(cell1, cell2)))
この処理では、A列とB列の同じ行にある値を比較し、より大きな値を選択して新しい配列を作成します。LAMBDA関数の引数は入力配列の数と一致させる必要があり、配列の次元も揃えることが実装上の必須要件です。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- Canvaとは?使い方やアカウント登録などを初心者向けに解説
- git configで設定情報を確認・表示する方法
- 「Pythonはやめとけ」と言われる理由と学習するメリット
- Ubuntuのversionを確認する方法
- Geminiで画像を生成する方法|ChatGPTとの比較結果も紹介