如果您将数据格式化为表格,则可以使用表格公式(例如[@ABC])而不是A1格式(例如A1,$ C2等)。但有2个技巧可以解释。
首先没有为前行的表式语法,而不是Excel将默认回到A1格式,但可以使用偏移公式中,如下图所示,以你目前的细胞移动到前行。但是在这种情况下,它会返回一个#值错误,因为我无法将+1转换为“ABC”。
ABC
1 =OFFSET([@ABC],-1,0)+1
2 =OFFSET([@ABC],-1,0)+1
3 =OFFSET([@ABC],-1,0)+1
4 ....
所以第二个技巧是使用if语句来初始化该值,buy检查前一行值是否为标题值。如果相同使用初始值,则添加增量。笔记假设表名为Table
ABC
1 =IF(OFFSET([@ABC],-1,0)=Table1[[#Headers],[ABC]],42,OFFSET([@ABC],-1,0)+1)
2 =IF(OFFSET([@ABC],-1,0)=Table1[[#Headers],[ABC]],42,OFFSET([@ABC],-1,0)+1)
3 =IF(OFFSET([@ABC],-1,0)=Table1[[#Headers],[ABC]],42,OFFSET([@ABC],-1,0)+1)
4 ....
注意您可以设置初始值是表外的单元格定义初始值,如下(中说$ A $ 1)和增量(中说$ A $ 2)
ABC
1 =IF(OFFSET([@ABC],-1,0)=Table1[[#Headers],[ABC]],$A$1,OFFSET([@ABC],-1,0)+$A$2)
2 =IF(OFFSET([@ABC],-1,0)=Table1[[#Headers],[ABC]],$A$1,OFFSET([@ABC],-1,0)+$A$2)
3 =IF(OFFSET([@ABC],-1,0)=Table1[[#Headers],[ABC]],$A$1,OFFSET([@ABC],-1,0)+$A$2)
4 ....
我一直在用这个IF OFFSET组合来迭代和循环表格。
如果您有大量需要确定它们是否为第一行的列,那么如果第一行和其他行可以使用更简单的if,则可以有一列测试。例如,农行将给予真正的第一行假他人,那么DEF与增加的初始值
ABC DEF
1 =OFFSET([@ABC],-1,0)=Table1[[#Headers],[ABC]] =IF([@ABC],$A$1,OFFSET([@DEF],-1,0)+$A$2)
2 =OFFSET([@ABC],-1,0)=Table1[[#Headers],[ABC]] =IF([@ABC],$A$1,OFFSET([@DEF],-1,0)+$A$2)
3 =OFFSET([@ABC],-1,0)=Table1[[#Headers],[ABC]] =IF([@ABC],$A$1,OFFSET([@DEF],-1,0)+$A$2)
4 ....
希望帮助
它工作正常,只要你不使用Excel的表格 –