目录
- [一. TOCOL 转换为一列](#一. TOCOL 转换为一列)
- [二. TOROW 转换为一行](#二. TOROW 转换为一行)
- [三. BYROW 按行处理](#三. BYROW 按行处理)
-
- [3.1 案例一](#3.1 案例一)
- [3.2 案例二](#3.2 案例二)
- [四. BYCOL 按列处理](#四. BYCOL 按列处理)
🔺说明🔺
这些函数都是Excel2024之后开始更好支持的新函数,旧版本的Excel是不支持的。
一. TOCOL 转换为一列
- 默认情况下,以行为基础转换为列,如果指定区域内的单元格为空的话,会保留所有值,即返回0,。

- 第二个参数值设置为1,可以忽略空白
- 第三个参数值设置为
TRUE,可以按照列进行扫描

二. TOROW 转换为一行
- 和
TOCOL的语法相同

三. BYROW 按行处理
3.1 案例一
- 之前计算每个人的总分,需要使用
=SUM(B2:D2)计算完之后向下拖拽,现在直接一行公式就搞定了 =BYROW(B2:D4,LAMBDA(r,SUM(r)))LAMBDA:使用LAMBDA表达式r:代表当前行

- 判断是否及格
=BYROW(B2:D4,LAMBDA(r,IF(SUM(r)>=240,"优秀","普通")))

3.2 案例二
TEXTSPLIT(r,","):当前行按照,进行分割DROP:删除指定的行--:转换为数字
java
=BYROW(A2:A3,
LAMBDA(r,SUM(--DROP(TEXTSPLIT(r,","),,1)))
)

LET:使用LET,可以在内部定义变量arr, TEXTSPLIT(r, ","),:将TEXTSPLIT(r, ",")的处理结果赋值给变量arrscores, DROP(arr,,1),:将DROP(arr,,1)的处理结果赋值给变量scoresSUM(--scores):用来对变量scores进行总计,其中--表示转换为数字
java
=BYROW(
A2:A3,
LAMBDA(r,
LET(
arr, TEXTSPLIT(r, ","),
scores, DROP(arr,,1),
SUM(--scores)
)
)
)

四. BYCOL 按列处理
- 统计每门课平均分
=BYCOL(B2:D4,LAMBDA(c,AVERAGE(c)))
