BYROW 是 Microsoft 365 Excel 的 Lambda 輔助函數,主要用來 逐行計算數據,並返回結果。這對於需要對每一行執行相同計算的場景特別有用。
? BYROW 函數語法
BYROW(array, lambda(row))
- array:要處理的數據範圍(可以是多行多列)。
- lambda(row):對每一行執行的 LAMBDA 函數。
? BYROW 應用範例
1️⃣ 計算每行的總和
=BYROW(A1:D5, LAMBDA(row, SUM(row)))
? 作用:對範圍 A1:D5 的 每一行 計算總和,並返回一列結果。
2️⃣ 計算每行的平均值
=BYROW(A1:D5, LAMBDA(row, AVERAGE(row)))
? 作用:對每一行計算 平均值。
3️⃣ 找出每行的最大值
=BYROW(A1:D5, LAMBDA(row, MAX(row)))
? 作用:返回範圍內 每行的最大值。
4️⃣ 判斷每行是否有數值超過 100
=BYROW(A1:D5, LAMBDA(row, IF(SUM(row)>100, "是", "否")))
? 作用:檢查每行的總和是否超過 100,返回「是」或「否」。
5️⃣ 判斷每行是否包含特定值(例如 50)
=BYROW(A1:D5, LAMBDA(row, IF(SUM(IF(row=50,1,0))>0, "有", "無")))
? 作用:檢查 每行是否包含 50,如果有則回傳「有」,否則回傳「無」。
? BYROW vs. BYCOL
| 函數 | 作用 | 運算方向 |
|---|---|---|
| BYROW | 針對每一行計算 | ⬇️(逐行處理) |
| BYCOL | 針對每一列計算 | ➡️(逐列處理) |
? BYROW 是按行處理,BYCOL 是按列處理!
? BYROW 搭配 SCAN、REDUCE 等進階應用
例如:找出每行最小值並標示
=BYROW(A1:D5, LAMBDA(row, TEXTJOIN(",", TRUE, IF(row=MIN(row), "★"&row, row))))
? 作用:將 最小值加上「★」標記,例如「★12, 23, 45, 67」。
? 總結
✅ BYROW 能讓 Excel 逐行處理數據,搭配 LAMBDA 能執行更靈活的計算。
✅ 可用於計算總和、平均、最大/最小值、條件判斷等。
✅ 與 BYCOL、SCAN、REDUCE 等函數結合,能大幅提升 Excel 動態數據處理能力!