表中的Excel OFFSET和IFERROR

我在excel中有两列[RunningTotal]和[Change]。

我有这样的公式[RunningTotal]

=IFERROR(OFFSET([@RunningTotal];-1;0);100)+[@Change] 

它有一个两列的表格,一个用于运行总量,另一个用于改变。 IFERROR是第一行,因为它之前没有行,所以不能被偏移。

我的表看起来像这样。

 3 , #VALUE! 4 , 104 2 , 106 5 , 111 etc... 

第一行抛出一个错误,第二行引用第一行产生一个错误,但后来的值为100 + change 。 我做错了什么?

实际上,您正在访问表格数据主体顶部以上的单元格。 它是标题string值(例如RunningTotal ),您将收到#VALUE! 当您尝试使用数字string与@Change号码时出现错误。

但是,一个string的SUM是零,所以可以检查。

 =IF(SUM(OFFSET([@RunningTotal], -1, -1, 1, 2)), OFFSET([@RunningTotal], -1, 0), 100)+[@Change] 

该公式将检查被检查的行将SUM归零为@Change和@RunningTotal。

表列参考

在重新读取原来的公式之后,如果您将+[@Change]带入错误评估中,您也可以使用原始公式。

 =IFERROR(OFFSET([@RunningTotal], -1, 0)+[@Change], 100+[@Change])