HOWTO为每个唯一的行添加一个唯一的ID?

我有两列的数据:

a 1 a 1 a 2 b 3 b 4 

在列表中有4个独特的行。 我想为每个唯一的行添加一个唯一的ID。 喜欢这个:

 1 a 1 1 a 1 2 a 2 3 b 3 4 b 4 

当然,我有更多的行和列,date比这个例子更复杂。

无论如何要做到这一点,我擅长? Mvh Kresten Buch

我有同样的问题,我已经制定了三个公式的方法。 我可以连接它,如果我嵌套它们,但无论如何,这个工程。

假设你想要“数字”的数据在列A中,并且该表的第一行是第3行。第一列(在列B中)计算“值”的出现,并且该范围从表的顶部扩展向下增长:= COUNTIF($ A $ 3:A3,A3)

第二列的公式也随着行数的增加而扩大,并且每次在列B = IF(B3 = 1,MAX($ C $ 2:C2)+1,“”)即使在表的第一行顺便说一句,这个工作对我来说 – 我期待着不得不手动input1来开始列表。 让它在没有手动input的情况下工作是件好事,这意味着即使您将表数据转换为不同的顺序,formmulas也能正常工作。

D列中的第三个使用vlookup来查找值。 请注意,当vlookupfind多个数字时,它总是拉出第一个数字。 = VLOOKUP(A3,$ A $ 3:C3,3,FALSE)

请注意,这将重新编号所有的数据结果dynamic,如果你确实诉诸整个事情。 即公式都是有效的,但是为一组特定的数据“分配”的数字可能是不同的,因为它可以从项目列表中的任何顺序起作用。

我对这些公式的用例假设每个月我都会在表格的底部粘贴一组新的数据,其中一些数据是前几个月的重复数据 – 即已经在表格中,其中一些是新的。

如果dynamic重新编号是一个问题,请使用“行键”,以便您可以在最后回到原始顺序。

假设你的数据是B2:C6,请在A2中尝试=IF(AND(B1=B2,C1=C2),A1,A1+1)

如果你的数据没有sorting,那就更加复杂了…但是你可以在A2中使用类似这样的东西:

 =IF(COUNTIFS($B$1:B2,B2,$C$1:C2,C2)>1,INDEX($A$1:A1,IFERROR(MATCH(B2&"-"&C2,$B$1:B1&"-"&$C$1:C1,0),1)),MAX($A$1:A1)+1) 

我假设没有标题,并且已经在第一个logging的单元格A1中放置了1。

它基本上检查公式上方的整个列,如果已经有相似的logging,它将分配先前给定的唯一ID,如果不是,它会给出一个新的ID。

这是一个数组函数,如果您使用Ctrl + Shift + Enter而不是单独input ,则这将起作用。

IFERROR()是因为MATCH(B2&"-"&C2,$B$1:B1&"-"&$C$1:C1,0)将返回一个错误,如果它在第2行(要检查的第一条logging)。

一旦你把它放在第一个单元格中,你可以填写公式。