在字符串中找到一个模式并从 excel 个单元格中删除该字符串的模式而不触及字符串中间的模式
find a pattern in string and remove that pattern of the string from excel cells without touching the pattern in the middle of the string
我有一列在字符串的开头、中间和结尾都有“--”模式。例如:
-- myString
my -- String
myString --
我想找到这两种类型的细胞
-- myString
myString --
并删除“--”模式,这样看起来就不错了!我是 excel 的业余用户,但如果您建议我可以使用功能。查找和使用查找替换函数的结果应该是可能的,但我不知道如何将结果传递给替换。
请注意:答案应包括列中的所有单元格,即数百个单元格。一种改变一切的解决方案,而不是一种改变一个细胞的解决方案。
使用 A1 中的数据在 B1 中输入:
=IF(LEFT(A1,2)="--",MID(A1,3,9999),IF(RIGHT(A1,2)="--",MID(A1,1,LEN(A1)-2),A1))
编辑:按照 Gary'sStudent 的指示重新阅读请求。这将删除“--”的所有实例,而不仅仅是 beginning/end.
中的实例
如果数据在A1,用下面的公式:
=SUBSTITUTE(A1,"--","")
这与之前的答案几乎相同,只是使用了更简单的逻辑。如果您的字符串第一个或最后一个字符=“-”什么也不做,否则将“--”替换为“”。
=IF(LEFT(A1,1)="-",A1,IF(RIGHT(A1,1)="-",A1, SUBSTITUTE(A1,"--","")))
更新:
我发现我看错了问题。上面的代码只有在中间时才会删除“--”。但是,最初的问题是仅在开头或结尾处删除“--”。所以公式应该是:
=IF(OR(LEFT(A1,2)="--",RIGHT(A1,2)="--"),SUBSTITUTE(A1,"--",""),A1)
好的,我找到了答案。 @Dubison 的回答帮助我找到了正确的答案。
如果该单元格左边两个字符为“--”,最后两个字符为“--”则将“--”替换为“”,否则为空。
=IF(LEFT(A1,2)="--",SUBSTITUTE(A1,"--",""),IF(RIGHT(A1,2)="--",SUBSTITUTE(A1,"--",""), A1))
我有一列在字符串的开头、中间和结尾都有“--”模式。例如:
-- myString
my -- String
myString --
我想找到这两种类型的细胞
-- myString
myString --
并删除“--”模式,这样看起来就不错了!我是 excel 的业余用户,但如果您建议我可以使用功能。查找和使用查找替换函数的结果应该是可能的,但我不知道如何将结果传递给替换。
请注意:答案应包括列中的所有单元格,即数百个单元格。一种改变一切的解决方案,而不是一种改变一个细胞的解决方案。
使用 A1 中的数据在 B1 中输入:
=IF(LEFT(A1,2)="--",MID(A1,3,9999),IF(RIGHT(A1,2)="--",MID(A1,1,LEN(A1)-2),A1))
编辑:按照 Gary'sStudent 的指示重新阅读请求。这将删除“--”的所有实例,而不仅仅是 beginning/end.
中的实例如果数据在A1,用下面的公式:
=SUBSTITUTE(A1,"--","")
这与之前的答案几乎相同,只是使用了更简单的逻辑。如果您的字符串第一个或最后一个字符=“-”什么也不做,否则将“--”替换为“”。
=IF(LEFT(A1,1)="-",A1,IF(RIGHT(A1,1)="-",A1, SUBSTITUTE(A1,"--","")))
更新:
我发现我看错了问题。上面的代码只有在中间时才会删除“--”。但是,最初的问题是仅在开头或结尾处删除“--”。所以公式应该是:
=IF(OR(LEFT(A1,2)="--",RIGHT(A1,2)="--"),SUBSTITUTE(A1,"--",""),A1)
好的,我找到了答案。 @Dubison 的回答帮助我找到了正确的答案。 如果该单元格左边两个字符为“--”,最后两个字符为“--”则将“--”替换为“”,否则为空。
=IF(LEFT(A1,2)="--",SUBSTITUTE(A1,"--",""),IF(RIGHT(A1,2)="--",SUBSTITUTE(A1,"--",""), A1))