如何在Google Sheets中用ARRAYFORMULA跨列应用指定公式?
用ARRAYFORMULA批量处理Google Sheets中《放逐之城》人口数据的拆分求和
核心解决方案公式
如果需要对B列从第3行开始的所有行自动执行拆分空格后求和的操作,直接在C3单元格输入以下公式即可:
=ARRAYFORMULA(IF(ISBLANK(B3:B),,BYROW(B3:B, LAMBDA(cell, SUM(IFERROR(SPLIT(cell, " ")*1, 0))))))
公式说明
ARRAYFORMULA:触发批量数组运算,无需手动拖拽公式到每一行ISBLANK(B3:B):判断B列对应行是否为空,为空则返回空值,避免填充无效内容BYROW(B3:B, LAMBDA(cell, ...)):遍历B列每一行的单元格,对每个单元格执行后续操作SPLIT(cell, " "):按空格拆分单元格内容为数字数组IFERROR(SPLIT(cell, " ")*1, 0):处理拆分后可能出现的非数字内容,将错误值转为0,避免求和报错SUM(...):对拆分后的数字数组求和
测试案例验证
假设B列原始数据如下:
B3: 4 2 1
B4: 5 3
B5: (空单元格)
B6: 7 8 2 3
输入公式后,C列会自动生成结果:
C3: 7
C4: 8
C5: (空)
C6: 20
扩展场景:横向批量处理多列
如果需要同时处理B到Z列从第3行开始的所有单元格,将结果放在对应列的右侧(比如B列结果放C列,C列结果放D列),可以使用以下公式:
=ARRAYFORMULA(IF(ISBLANK(B3:Z),,BYCOL(B3:Z, LAMBDA(col, BYROW(col, LAMBDA(cell, SUM(IFERROR(SPLIT(cell, " ")*1, 0))))))))
将公式放在C3单元格,会自动覆盖C3到AA列的对应行,完成所有列的批量处理。
内容的提问来源于stack exchange,提问作者theMaxx
相关产品推荐
相关产品推荐

