BYROW関数 – 行ごとに処理を適用して結果を返す動的配列関数
1. 使い方と活用例
BYROW関数は、指定した配列や範囲の各行に対して関数や式を適用し、その結果を配列として返す関数です。
行単位で集計、変換、フィルターなどの処理を行いたい場合に非常に便利です。
2. 基本の書式
=BYROW(配列, 行ごとの処理)
3. 引数の説明
- 配列 – 処理対象となる範囲または配列を指定します。
- 行ごとの処理 – 各行に適用するラムダ式(LAMBDA関数)を指定します。
4. 使用シーン
- 各行の合計や平均などをまとめて計算したいとき
- 複雑なロジックを行単位で処理したいとき
- 条件付きで行ごとに値を変換したいとき
5. 応用のポイント
BYROW関数は、LAMBDA関数と組み合わせて使用する点が最大の特徴です。
LAMBDAの引数は1つ(行単位の範囲)で、戻り値を指定する形で記述します。
集計処理(SUM、AVERAGEなど)や、TEXTJOIN、IFなどの関数を組み合わせて行ごとのロジックを柔軟に構築できます。
6. 具体例とその解説
=BYROW(A1:C3, LAMBDA(row, SUM(row)))
この式は、A1:C3 の各行に対して SUM
関数を適用し、行ごとの合計を縦方向の配列として返します。
=BYROW(A1:C3, LAMBDA(row, TEXTJOIN(", ", TRUE, row)))
この式では、各行の値をカンマ区切りのテキストとして連結し、文字列の配列として返します。
7. 関連関数の紹介
- BYCOL関数 – 各列に対して同様の処理を適用する関数
- LAMBDA関数 – 独自の関数ロジックを定義できる関数
- MAP関数 – 複数の配列に要素ごとに関数を適用する関数
- SCAN関数 – 漸化的に計算処理を行う関数
8. まとめ
BYROW関数は、行単位の繰り返し処理を簡潔かつ効率的に行える動的配列関数です。
LAMBDAと組み合わせることで、柔軟な行ごとの集計・変換ロジックを実現できます。
従来の手動やVBAによるループ処理を不要にし、スマートなワークシート設計が可能になります。
9. 対応バージョン
BYROW関数は、Microsoft 365 および Excel 2021 以降で使用可能です。
それ以前のバージョン(Excel 2019 以前)では利用できません。