Google Spreadsheets公式简化求助:优化ARRAYFORMULA多列求和写法
简化Google Sheets数组求和公式的方案
你可以通过以下两种简洁的方式简化公式,避免逐个列相加的繁琐操作:
方法1:使用BYROW + LAMBDA(新版Google Sheets支持)
这个方法逻辑直观,直接对每行的P到W列范围求和:
=ARRAYFORMULA(IF(A4:A<>"", BYROW(P4:W, LAMBDA(row, SUM(row))), ""))
BYROW(P4:W, LAMBDA(row, SUM(row))):遍历P4到W列的每一行,对每行的所有单元格求和- 外层的
ARRAYFORMULA和IF逻辑保持原公式的判断规则:仅当A列对应行有内容时才返回求和结果,否则返回空值
方法2:使用MMULT(兼容旧版Google Sheets)
如果你的Google Sheets版本不支持LAMBDA系列函数,可以用矩阵乘法实现每行求和:
=ARRAYFORMULA(IF(A4:A<>"", MMULT(N(P4:W), SEQUENCE(COLUMNS(P4:W), 1, 1, 0)), ""))
N(P4:W):将P到W列的内容转换为数值格式(确保文本型数值也能参与计算)SEQUENCE(COLUMNS(P4:W), 1, 1, 0):生成一个行数等于P到W列总列数的全1列数组MMULT(...):通过矩阵乘法,将每行的数值与全1数组相乘,得到每行的总和
内容的提问来源于stack exchange,提问作者Narek
相关产品推荐
相关产品推荐

