Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 使用“删除重复项”;。“1”&引用;2“;等附加到原始内容_Excel_Duplicates - Fatal编程技术网

Excel 使用“删除重复项”;。“1”&引用;2“;等附加到原始内容

Excel 使用“删除重复项”;。“1”&引用;2“;等附加到原始内容,excel,duplicates,Excel,Duplicates,我有一个100k+行的电子表格,其中包含的副本并不完全重复。例如,一个单元格将包含以下内容: ASP.NET.Site.Performance.Secrets..Simple.and.Proven.Technologies.to.Quick.Speed.up.Your.ASP>.NET.Web.Site 有时,以下单元格(或2或3)将具有相同的确切内容,但末尾将有一个数字: ASP.NET.Site.Performance.Secrets..Simple.and.Proven.Technolog

我有一个100k+行的电子表格,其中包含的副本并不完全重复。例如,一个单元格将包含以下内容:

ASP.NET.Site.Performance.Secrets..Simple.and.Proven.Technologies.to.Quick.Speed.up.Your.ASP>.NET.Web.Site

有时,以下单元格(或2或3)将具有相同的确切内容,但末尾将有一个数字:

ASP.NET.Site.Performance.Secrets..Simple.and.Proven.Technologies.to.Quick.Speed.up.Your.ASP>.NET.Web.Site.1

ASP.NET.Site.Performance.Secrets..Simple.and.profect.technology.to.quick.Speed.up.Your.ASP>.NET.Web.Site.2


如何有效地消除这些重复项?感谢您提供的帮助。

假设数据位于列A中,请按如下方式创建一个新的计算列:

=IF(ISNUMBER(VALUE(RIGHT(A2,LEN(A2)-FIND("@",SUBSTITUTE(A2,".","@",(LEN(A2)-LEN(SUBSTITUTE(A2,".","")))/LEN(".")))))),LEFT(A2,FIND("@",SUBSTITUTE(A2,".","@",(LEN(A2)-LEN(SUBSTITUTE(A2,".","")))/LEN(".")))-1),A2)
很难看。该公式检查最后一个句点后的字符是否为数字。如果是这样的话,它会将它们和周期去掉。如果不是,它只返回原始字段

关于如何获取字符串中最后一个字符的匹配项,请参见

编辑: 基于它始终是一个数字,功能可以简化

=IF(AND(ISNUMBER(VALUE(RIGHT(A1,1))),MID(A1,LEN(A1)-1,1)="."),LEFT(A1,LEN(A1)-2),A1)

这将检查最后一个字符是否为数字,最后第二个字符是否为“.”

数字是否始终为一位数字,或者是否可以更多?您是否可以为我们提供关于扩展名的规则?我理解“.1”和“.2”,但如果有超过9个呢?是“.10”还是“1.0”等?就我所知总是一个。显然,我没有检查所有的行,但它总是遵循上面的模式,我从未见过它超过“.3”我不知道10是.10还是1.0。另一个潜在问题是“.1”、“2”等存在有效实例,因为每个单元格中的每个术语都由一个点分隔,如我上面的示例所示,数字将出现在这些书名中。这将非常理想,因为我只想在单元格中的最后一个字符时去掉它们。我今晚或明天会试试这个,然后告诉你进展如何。谢谢如果任何源字符串在抛出时包含
@
,请小心使用此公式。你可以尝试用一个非标准字符替换
@
,比如
ʩ
。嘿,我尝试了第二个公式,它似乎有效。它给了我一个新的列,C,现在重复的是完全重复的。但是,当我删除重复项时,它会删除B列中的数据。我不明白它为什么这样做??谢谢你!我不知道你的意思。我只是用示例数据尝试了一下,它删除了两个重复的行。您是否告诉它,只有计算列包含重复项,并且您选择了整个表?我不确定发生了什么。计算列C没有重复项。但我的原始数据的值范围是B列中的.net zoho。删除重复项后,B列以“r”结尾。我希望原始B列的值附加到C列中的新内容。如果我没有很好地解释这一点,请原谅。