我想给每一行写一个ID。如何用公式做到这一点?

时间:2014-09-16 22:23:57

标签: excel indexing excel-formula worksheet-function

我希望表中的每一行都有唯一的编号。

这是我的故事:
1.我创建表并为行提供ID - 1,2,3,4,5 2.我按其他列中的值对行进行排序和过滤 3.我添加新行并想给它编号。我没有看到下一个数字是6。

有没有办法自动化这个过程?

4 个答案:

答案 0 :(得分:1)

正如其他答案所暗示的那样,如果您使用任何公式来生成ID,则每当您修改列表时都会重新评估它(例如,使用排序或在中间插入新行) 。要分配一个持久的ID,它需要以某种方式成为单元格中的原始值而不是公式的结果。实现这一目标的两种方法是:

  1. 将公式放在一列中以生成ID,然后使用“复制”和“粘贴值”将公式的结果放入另一列。使用第二列作为持久性ID而不是第一列。
  2. 编写一些VBA以生成ID并将值放入ID单元格。然后可以将其链接到一个按钮,可能标记为“添加新行”。
  3. 实际生成唯一ID可以像获取行号一样简单,也可以像RFC4122 Universally Unique ID那样复杂(请参阅此other SO topic)。

答案 1 :(得分:1)

采用任何空列,例如列L为空。将1写入L1,并将其扩展到文件末尾。然后在需要的地方复制并粘贴该列。

答案 2 :(得分:0)

使用=ROW() - 但如果您希望结果即使在排序时仍保持附加到行,则有必要选择复制并粘贴特殊值,这些ID已经被采用了'

答案 3 :(得分:0)

如果您的数据如下所示:

    A     B
__________________________________
1 | 1    
2 | 3
3 | 5
4 | 4
5 | 2
6 | ???

并且你想要一个公式放入A6,那将自动为6?

=MAX($A$1:$A5)+1