如何在Google Sheets中将累计求和行转换为原始值行?
解决Google Sheets累计值转原始值的公式方法
直接用数组运算就能搞定,不用绕ADDRESS和INDIRECT的弯路,给你两个简单方案:
方案一(最简洁):
在A2单元格输入以下公式,自动填充整行:=ARRAYFORMULA(A1:E1 - {0, A1:D1})
原理:把累计值行A1:E1和一个前面补0的数组{0, A1:D1}做减法,第一个元素100-0=100,第二个300-100=200,以此类推,正好得到你要的原始值。方案二(更直观):
同样在A2输入公式:=ARRAYFORMULA(IF(COLUMN(A1:E1)=COLUMN(A1), A1:E1, A1:E1 - OFFSET(A1:E1, 0, -1)))
原理:判断当前列是否是第一列(A列),是的话直接取累计值;不是的话,用当前累计值减去左边一列的累计值。
为什么你之前的方法失效?
ADDRESS结合ARRAYFORMULA会生成多个单元格地址的文本数组,但INDIRECT是单值函数,只能处理单个地址文本,没法批量解析数组里的每个地址,所以嵌套后无法生效。
内容的提问来源于stack exchange,提问作者Paweł Wojewoda
相关产品推荐
相关产品推荐

