Excelで数値の合計を行ごとに求める場合、SUM関数を各行に配置するのが普通ですが、ここでは1つの式で済む方法を試してみます。
- BYROW関数とLAMBDA関数、SUM関数を使って行ごとの合計を1つの式で求めることができます。
- 行ごとの最大値、最小値、平均などを求めるのにも応用できます。
手順
画像ではそれぞれの日付に対応する各店舗の数値が横方向(行方向)に並んでいます。
日付ごとの合計を求める場合、各行に「=SUM(C3:F3)」といった関数を配置していくのが簡単な方法ですが、ここではG3セルに1つの式を入力するだけでそれぞれの日付(行)の合計をすべて表示させています。
G3セル
=BYROW(C3:F5,LAMBDA(a,SUM(a)))
BYROW関数とLAMBDA関数を用いることでC3:F5の範囲にaという名前を付け、そのaを各行ごとに分割してSUM(a)を実行した結果をそれぞれ得ています。
ちなみに「=BYROW(SUM(C3:F5))」とかで済ませられないだろうかという気もしますが、残念ながらそれではうまくいきません(エラー)。
画像では上記の式中のSUM関数をMAX関数に代えて、各行の最大値を求めています。
さらにMIN関数に代えれば最小値が求められますし、AVERAGE関数やMEDIAN関数などさまざまな関数にも応用できます。
G3セル
=BYROW(C3:F5,LAMBDA(a,MAX(a)))