自动递增ID编号(与排序配合使用)

时间:2018-08-01 14:12:44

标签: excel excel-formula

早上好

我正在构建一个表,我想为每个条目分配一个唯一的ID号,该ID号会在表中输入新值时自动递增。这是一个提供视觉效果的示例表:

+----+------------+-----------+
| ID | First Name | Last Name |
+----+------------+-----------+
|  1 | John       | Smith     |
|  2 | Steve      | Wozniak   |
|  3 | Steve      | Jobs      |
+----+------------+-----------+

在上表中,如果我输入第四个人,我想发生的是ID是自动生成的(在这种情况下为4)。我已经尝试过诸如以下单元格中的公式:

=Row([@ID])-1

在对表进行排序之前,此方法一直有效,在这种情况下,ID号会全部加乱。我想计算行号应该是什么,但是请保持该值不变。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果要使用静态增量键,则应在输出工作表中使用这样的代码

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 2 Then
    Target.Offset(0, -1).Value = Target.Row - 1
End If

End Sub

如果只希望一个唯一的密钥实际上不会根据前一个密钥递增,则可以在A2单元格(使用CSE关闭)中使用类似=SUM(CODE(MID(B2&C2,ROW(INDIRECT("1:"&LEN(B2&C2))),1)))的公式,然后下拉。但是,如果将公式扩展过多,则会影响工作表的性能。