Excel表格中的行号

时间:2017-02-21 05:58:25

标签: excel

我有以下基本表:

1|
2|    Title....
3|
4|
5|    | Row Index | Type | Etc... |
6|    | 1         | abc  | .....  |
7|    | 2         | def  | .....  |
8|    | 3         | ghi  | .....  |
9|    | 4         | jkl  | .....  |

请注意,该表不会在Excel第1行上启动。技术上ROW()-5可以使用,但我不想对表开始的实际行进行硬编码。

Row Index的公式是:

=ROW()-CELL("row")+1

除了在表格中编辑另一个单元格时,此方法正常。似乎公式假定您编辑的行是索引0并从那里开始行计数。

例如,如果我要编辑上表中第3行的单元格,Row Index值将如下所示:

| Row Index | Type | Etc... |
| -1        | abc  | .....  |
| 0         | def  | .....  |
| 1         | ghi  | .....  |
| 2         | jkl  | .....  |

每次修改后,我认为必须重新编辑顶行中的单元格才能再次正确显示Row Index值。

是否有可靠的方法在表格中显示行号?

2 个答案:

答案 0 :(得分:1)

删除CELL("row")并使用公式

=ROW() - 5

ROW function返回包含公式的单元格的行号,这就是您想要的。

另一方面,CELL function会返回有关上次更改的单元格的信息,这就是您看到这种奇怪行为的原因。

  

CELL(info_type,[reference])

     
      
  • 参考可选。您想要了解相关信息的单元格。如果省略,则Info_type参数中指定的信息将返回 ,表示已更改的最后一个单元格 。 ...
  •   

即使CELL返回有关当前单元格的信息,您从ROW() - CELL("Row", <current_cell>) + 1获得的内容也是常量1,因为这两个函数相互抵消。

答案 1 :(得分:1)

如果是实际的Excel表(插入选项卡&gt;表):

=ROW()-ROW(Table1[#Headers])

=ROW()-ROW(Table1)+1

否则,您可以使用绝对地址:

=ROW()-ROW($5:$5)