この関数は、LAMBDA
関数を各行に適用して、配列を行単位でグループ化します。
使用例
BYROW(A1:C3,LAMBDA(行,MAX(行)))
BYROW(A1:C3,LAMBDA(行,SUM(行)))
構文
BYROW(配列または範囲,LAMBDA)
配列または範囲
: 行単位でグループ化する配列または範囲。LAMBDA
: グループ化された値を取得するために、指定した配列または範囲内の各行に適用するLAMBDA
関数。- 構文:
LAMBDA(名前,数式)
- 要件:
- この
LAMBDA
関数には、1 個の名前
引数と、その名前
引数を使用する数式
を指定する必要があります。LAMBDA
関数を適用するときに、名前
引数はグループ化される現在の行に解決されます。
- この
- 構文:
備考
- 渡された
LAMBDA
関数は、1 個の名前
引数を受け入れる必要があります。そうでない場合、#N/A
エラーが返されます。この引数は、入力配列内の行に対応しています。 - すべての行は単一の値にグループ化される必要があります。グループ化された値の配列の結果は返されません。
名前付き関数
はLAMBDA
関数のパラメータとして渡すことができ、この場合はLAMBDA
関数と同様に動作します。詳しくは、名前付き関数についてのページをご覧ください。- 1 個の引数プレースホルダが定義されている必要があります。
名前付き関数
の後に丸かっこを続けることはできません。
例
行単位で合計する
サンプルデータ:
A |
B |
C |
|
---|---|---|---|
1 |
3 |
5 |
7 |
2 |
4 |
3 |
5 |
3 |
1 |
2 |
4 |
例: =BYROW(A1:C3,LAMBDA(行,SUM(行)))
結果:
15 |
12 |
7 |
いずれかの四半期の売上が 1,300 を超えた年をフィルタする
サンプルデータ:
A |
B |
C |
D |
E |
|
---|---|---|---|---|---|
1 |
1Q |
2Q |
3Q |
4Q |
|
2 |
2019 |
1060 |
295 |
1425 |
280 |
3 |
2020 |
270 |
585 |
675 |
170 |
4 |
2021 |
285 |
1200 |
780 |
1235 |
5 |
2022 |
1440 |
1390 |
45 |
650 |
例: =FILTER(A2:A5,BYROW(B2:E5,LAMBDA(行,MAX(行)>1300)))
結果:
2019 |
2022 |
名前付き関数を LAMBDA 関数として使用して、各行の最大値と最小値の差を含む 3 行 × 1 列の配列を返す
サンプルデータ:
A |
B |
C |
|
---|---|---|---|
1 |
3 |
5 |
7 |
2 |
4 |
3 |
5 |
3 |
1 |
2 |
4 |
例: =BYROW(A1:C3,MAX_MIN_DIFF)
名前付き関数: MAX_MIN_DIFF
が名前付き関数
であり、最大値と最小値の差を出力します。
数式の定義: =MAX(行)-MIN(行)
。ここで、行
は MAX_MIN_DIFF
について定義された引数プレースホルダです。
結果:
4 |
2 |
3 |
一般的なエラー
渡された LAMBDA 関数の名前引数の個数が 1 個ではない渡された LAMBDA
関数の名前
引数と数式
引数の個数がそれぞれ 1 個ではない場合は、次のエラーが発生します。
「LAMBDA の引数の個数が間違っています。1 個の引数を指定する必要がありますが、2 個を指定しています。」
例: =BYROW(C1:C4,LAMBDA(a,b,a+b))
この例では、LAMBDA
関数に必要な名前
引数が 1 個だけであるにもかかわらず、2 個指定されています。
BYROW
関数の最後のパラメータが LAMBDA
関数でなかった場合、次のエラーが発生します。
「引数は LAMBDA 関数にする必要があります。」
例: =BYROW(C1:C4,4)
有効ではない名前
引数があった場合、次のエラーが発生します。
「関数 LAMBDA の引数 1 は有効な名前ではありません。」
例: =BYROW(C1:C4,LAMBDA(C1, C1+1))
この例では、C1
は範囲と競合するため、無効な名前
引数です。
入力配列に LAMBDA
関数を適用しても各行が単一の値にグループ化されない場合、次のエラーが発生します。
「単一の値が返されます。ネストされた配列の結果は返されません。」
例: =BYROW(C1:E1,LAMBDA(行,行))
関連する関数
- LAMBDA 関数: 一連の
名前
引数と、それらの引数を使用する数式
を含むカスタム関数を作成して返すことができます。 - MAP 関数: 指定した配列内の各値を新しい値にマッピングします。
- REDUCE 関数: 配列を累積結果に減らします。
- BYCOL 関数: 配列を列単位でグループ化します。
- SCAN 関数: 配列をスキャンして、中間値を生成します。
- MAKEARRAY 関数: 指定したディメンションの計算結果の配列を作成します。
- 名前付き関数の作成と使用:
LAMBDA
関数と同じように、カスタム関数を作成して保存できます。