将子ID添加到已定义的ID号中

时间:2018-09-11 16:35:32

标签: excel google-sheets excel-formula

我在A列中有一个ID列表。有些重复。在B列中,我想要一个基于A列生成唯一ID的子ID的公式。

即如果CO1 A = 1,Col B = 1.1。那么如果我添加ID = = 1的另一行,则B列意识到这是ID 1的第二行,并将子ID设置为1.2?

ID  Sub-ID
1   1.1
2   2.1
3   3.1
4   4.1
4   4.2
2   2.2
3   3.2
4   4.3

希望这有意义吗?我认为我需要B列将0.1添加到col A,然后查找上方的任何单元格是否相同,如果相同,则向其添加0.1?

1 个答案:

答案 0 :(得分:0)

=A2+COUNTIF($A$2:A2,A2)/(10^LEN(COUNTIF($A$2:A2,A2)))

假设您的数据位于A列,如下所示,将上面的公式放在B2中并向下复制。

正在处理尾随零不显示的小问题。我目前可以想到的在公式中处理此问题的唯一方法是将输出视为文本而不是数字。

POC

要使尾随零为零的TEXT解决方法是:

=A2&RIGHT(COUNTIF($A$2:A2,A2)/(10^LEN(COUNTIF($A$2:A2,A2))),LEN(COUNTIF($A$2:A2,A2)/(10^LEN(COUNTIF($A$2:A2,A2))))-1)&IF(MOD(COUNTIF($A$2:A2,A2),10),"",REPT(0,LEN(COUNTIF($A$2:A2,A2))-1))

TEXT POC

显然可以简化为:

=A2+COUNTIF($A$2:A2,A2)/(10^LEN(COUNTIF($A$2:A2,A2)))&IF(MOD(COUNTIF($A$2:A2,A2),10),"",REPT(0,LEN(COUNTIF($A$2:A2,A2))-1))