【问题标题】:I want to give an ID to each row. How do I do this with a formula?我想给每一行一个ID。我如何用公式做到这一点?
【发布时间】:2014-09-16 22:23:57
【问题描述】:

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

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

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

【问题讨论】:

    标签: excel indexing excel-formula worksheet-function


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      1. 将公式放入一列以生成 ID,然后使用复制和粘贴值将公式的结果放入另一列。使用第二列而不是第一列作为永久 ID。
      2. 编写一些 VBA 以生成 ID 并将值放入 ID 单元格。然后可以将其链接到一个按钮,可能标记为“添加新行”。

      唯一 ID 的实际生成可以像获取行号一样简单,也可以像 RFC4122 Universally Unique ID 一样复杂(参见 other SO topic)。

      【讨论】:

        【解决方案3】:

        取任何空列,例如列L 为空。在L1 中写入1 并将其扩展至文件末尾。然后将该列复制并粘贴到您需要的任何位置。

        【讨论】:

          【解决方案4】:

          如果您的数据如下所示:

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

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-04-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多