Posted in

Excel 関数:BYROW

Excel 関数 BYROW は、範囲または配列の各行に対して指定の関数(ラムダ式)を適用する動的配列関数です。
主に 1行ごとの集計や処理を簡潔に書くために使います。


🔹 構文

=BYROW(array, lambda_function)
  • array:処理対象となる範囲または配列(例:A1:D5)
  • lambda_function:各行に適用する関数(LAMBDA)

🔸 使い方のイメージ

=BYROW(A1:D5, LAMBDA(row, SUM(row)))

この式は、A1:D5 の各行に対して SUM を適用し、行ごとの合計を返します。


🧪 使用例

✅ 例1:各行の合計を求める

=BYROW(A1:D5, LAMBDA(r, SUM(r)))
  • 各行ごとの合計値が縦に出力されます。

✅ 例2:各行の最大値を求める

=BYROW(A1:D5, LAMBDA(r, MAX(r)))

✅ 例3:条件を満たすか判定(合計が100以上か)

=BYROW(A1:D5, LAMBDA(r, IF(SUM(r)>=100, "OK", "NG")))

🔸 主な用途

用途例関数例
行単位で集計・平均・統計を出すSUM, AVERAGE, MAX, MIN などと組み合わせる
行単位のデータチェック(エラー/条件)IF, ISERROR, COUNTIF などと組み合わせる
テーブル処理の簡略化BYROW + LAMBDA で Power Query 的な処理が可能

🔄 関連関数

関数説明
BYCOL各「列」に対して LAMBDA を適用する関数
MAP複数の配列にまたがる要素ごとの処理
SCAN累積処理に使える動的配列関数
REDUCE複数の値を1つにまとめる累積処理関数

✅ 応用例:行ごとの平均が80未満かどうか

=BYROW(A2:D10, LAMBDA(r, IF(AVERAGE(r)<80, "再試験", "合格")))

BYROWLAMBDA関数と組み合わせることで、行単位の処理を強力に簡潔化できます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です