-
∨目次
- BYROW 関数
- 使用例
- 解説
エクセル BYROW 関数:セルの範囲を行単位にループして LAMBDA で処理した配列を作成する
はじめに
エクセルの BYROW 関数の使い方を紹介します。
BYROW 関数はセルの範囲を行単位にループして LAMBDA 関数で処理した配列を作成します。
=BYROW(A1:C3,LAMBDA(row,MAX(row))) のようにして、行単位の最大値を取得できます。
-
目次
- BYROW 関数
- 使用例
- 解説
BYROW 関数
BYROW(範囲, LAMBDA)
範囲の各行をLAMBDAで処理した結果の配列を作成します。
引数「範囲」 | セルの範囲や配列を指定します。 |
引数「LAMBDA」 | LAMBDA 関数を指定します。LAMBDA 関数の第 1 引数に引数「範囲」の各行が順番に渡されます。それを計算した結果を配列にします。 |
使用例
行単位の最大値を求める
セルの範囲「B4」~「C6」の行単位の最大値を取得します。
引数「LAMBDA」の第 1 引数に「B4:C6」の行を順番に渡します。引数「LAMBDA」の結果が配列の要素になります。引数「LAMBDA」は次のように処理されます。
MAX(B5:C5)
MAX(B6:C6)

行単位の合計を求める
セルの範囲「B4」~「C6」の行単位の合計を求めます。
引数「LAMBDA」は次のように処理されます。
SUM(B5:C5)
SUM(B6:C6)

列の値を取得
列同士を掛け算する
行単位に個数 * 金額を求めます。
「INDEX 関数」に列番号を指定して、行から列の値を取得できます。

列の値を取得したいときは「MAP 関数」を使用してもできます。こちらの方が数式がわかりやすくなります。
スポンサーリンク
解説
引数「LAMBDA」で計算した結果を持つ配列を作成します。引数「範囲」が 3 行 3 列のときは 3 行 1 列の配列を返します。
引数「LAMBDA」の第 1 引数に引数「範囲」を行単位に順番に渡します。
引数「LAMBDA」で計算した結果がセルの範囲や配列のときはエラー #CALC! になります。単一の値を返す必要があります。
引数「LAMBDA」の引数の数が 1 つでないときはエラー #VALUE! になります。
引数「LAMBDA」に「LAMBDA 関数」を指定していないときはエラー #VALUE! になります。
列の値を取得
行から列の値を取得するには「INDEX 関数」を使用します。上記の「列同士を掛け算する」が使用例です。
「MAP 関数」を使用した方が数式を単純にできます。