使用列中的随机字母重命名重复项 - Excel

Rename duplicates with random alphabets in a column - Excel

我在 A 列中有一个包含 500 个名字的列表。

1  name1
2  name2
3  name3
4  name1
5  name2
6  name3
7  name1
8  name2
9  name3
..

而且我需要为重复项添加前缀 后缀字母。我应该得到

1  name1
2  a.name1
3  b.name1
4  name2
5  a.name2
6  b.name2
7  name3
8  a.name3
9  b.name3
..

而且我选择了重复的值

select column -> conditional formatting -> Highlight Cell Rules -> Duplicate Values

如何使用随机字母前缀或后缀重命名重复值

不使用 VBA - 您不能自己编辑单元格,除非使用格式设置。

但是,您可以使用辅助列并在这些行上使用公式来完成此操作:

=IF(A2=A1,CHOOSE(RANDBETWEEN(1,26),"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z")&" "&A2,A2)

请记住,由于这是随机的,因此出现两个连续字母的可能性很小 - 因此您可能需要使用另一个公式来检查这一点并进行少量手动调整。

如果您更喜欢使用仅包含下一个字母的 non-random 前缀,您可以从 C2 开始执行类似的操作:-

=IF(B2=B1,CHAR(96+COUNTIF(B:B1,B2))&"."&B1,B2)

我假设名称已排序,有标题并且在 B 列中。


如果您不想对它们进行排序,这仍然可以进行修改:-

=IF(COUNTIF(A:A1,A2)>0,CHAR(96+COUNTIF(A:A1,A2))&"."&A2,A2)

我假设未排序的名称在 A 列中,带有 header。