.xlsx文件中 第一列有重复值,但是不想删除,需要都保留,现在有一个方案,有重复的值在后面添加_2,_3等
使用 Excel 原生功能实现
1 添加辅助列:
在 Excel 中添加一个辅助列(假设原始数据在 A 列,在 B 列添加辅助列)。在 B1 单元格输入公式 =A1,然后向下填充。
2 使用 COUNTIF 函数:在 C1 单元格输入公式
=IF(COUNTIF($A$1:A1,A1)>1,CONCATENATE(A1,"_",COUNTIF($A$1:A1,A1)),A1),然后向下填充。这个公式的作用是:如果当前值在 A 列中出现次数大于 1,就将原始值和出现次数拼接成新值;否则保持原始值不变。
3 复制粘贴值:
选中 C 列的数据,右键选择 “复制”,然后右键点击 A1 单元格,选择 “选择性粘贴”,在弹出的对话框中选择 “值”,点击 “确定”,这样就将处理后的值覆盖原 A 列的值。
4 删除辅助列:选中 B 列和 C 列,右键选择 “删除”,完成处理。
5 保存为txt,删除前两列,再保存为.xlsx
(直接原文件操作,由于计算量大,容易卡)
效果如下:

image.png
公式解释:
=IF(COUNTIF($A$1:A1,A1)>1,CONCATENATE(A1,"_",COUNTIF($A$1:A1,A1)),A1)
这个公式 =IF(COUNTIF($A$1:A1,A1)>1,CONCATENATE(A1,"_",COUNTIF($A$1:A1,A1)),A1) 是一个嵌套的 Excel 函数,主要功能是判断单元格的值在某一区域中是否重复,并对重复的值添加后缀 _n(n 表示该值在区域中出现的次数),不重复的值保持不变。以下是对这个公式的详细解释:
COUNTIF($A$1:A1,A1):
COUNTIF 是一个 Excel 函数,用于计算某个区域中满足特定条件的单元格数量。
$A$1:A1 是要检查的区域。这里使用了绝对引用 $A$1 和相对引用 A1。绝对引用 $A$1 表示在公式向下填充时,起始单元格 A1 保持不变;相对引用 A1 表示在公式向下填充时,结束单元格会随着行的变化而变化。
A1 是要统计的条件,即检查 $A$1:A1 区域中等于 A1 的单元格数量。
COUNTIF($A$1:A1,A1)>1:
这是 IF 函数的条件部分。判断 COUNTIF($A$1:A1,A1) 的结果是否大于 1,即判断当前单元格的值在 $A$1:A1 区域中是否出现了多次(重复)。
CONCATENATE(A1,"_",COUNTIF($A$1:A1,A1)):
CONCATENATE 是一个 Excel 函数,用于将多个文本字符串连接成一个字符串。
A1 是要连接的第一个字符串,即原始值。
"_" 是要连接的第二个字符串,即后缀中的下划线。
COUNTIF($A$1:A1,A1) 是要连接的第三个字符串,即该值在区域中出现的次数。
IF(COUNTIF($A$1:A1,A1)>1,CONCATENATE(A1,"_",COUNTIF($A$1:A1,A1)),A1):
IF 函数有三个参数:条件、条件为真时返回的值、条件为假时返回的值。
当 COUNTIF($A$1:A1,A1)>1 为真(即值重复)时,返回 CONCATENATE(A1,"_",COUNTIF($A$1:A1,A1)) 的结果,即添加后缀的字符串。
当 COUNTIF($A$1:A1,A1)>1 为假(即值不重复)时,返回 A1,即保持原始值不变。