假设 Excel A 列:
第 1 行:1
第 2 行:2
第 3 行:=SUM(A1:A2)
第 3 行统计出了结果:3。
但是,如果我们在第 3 行上方再插入一行,公式中 A2 并不会变为 A3,但是有时候我们希望自动变化,怎么办呢?看看公式:
=SUM(A1:INDEX(A:A,ROW()-1))
INDEX 表示获取单元格引用
此时,我们不使用 A2,而是用 INDEX 动态获取。
第 1 个参数表示要在哪个范围内获取,A:A 表示在 A 列获取。
第 2 个参数表示获取哪一行,ROW() 表示当前单元格所在的行,即第 3 行,再 -1,就是第 2 行,即最终表示 A2。当当前单元格下移时,这个统计范围会自动变化。
也可横向扩展
=SUM(A1:INDEX(A:ZZ,ROW()-1,COLUMN()-1))
指定第 3 个参数,意义和第 2 个参数类似,此时我们将范围扩大至 ZZ(尽量大),所以只要我们的数据不超过 ZZ 列,都会正常运行。还有,第 3 个参数如果为 0,则在这里表示 ZZ 列。
注意:前面的 ROW()-1、COLUMN()-1 并不是一定要 -1,要根据我们当前统计单元格所在位置,以及我们要统计哪个区域来加减。