只有在excel中存在时,才从文本字符串的末尾删除一个字符

时间:2014-12-09 15:05:58

标签: excel excel-formula excel-2010

我在excel中有一个文件名列表,我需要与另一个列表匹配。某些文件名包含需要首先删除的额外字符。我有一个公式,将从文件名中删除特殊字符和空格;

= SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($ E8," _""")," - ""&# 34;),"。",""),"","")

但是有些文件名在我需要删除的末尾包含额外的1,请参阅示例;

  • 2AALNOR120114
  • DCA CDE 12-01-14
  • OPASDOCS120114
  • TWASCE120214的 1
  • TWASCE120314的 1
  • STCSRA1201的 20 14 1
  • STCSRA1202的 20 14 1

如果有人能给我一个公式解决方案去除上面的特殊字符和文件名末尾的1那将是伟大的。

如果您还可以从STC文件中删除20并输出为STCSRA120114而不是STCSRA12012014

,则可获得奖励

编辑:为了澄清,最终结果最好是这样的;

  • 2AALNOR120114
  • DCACDE120114
  • OPASDOCS120114
  • TWASCE120214
  • TWASCE120314
  • STCSRA120114
  • STCSRA120214

谢谢, 本

1 个答案:

答案 0 :(得分:1)

也许:

=LEFT(A1,LEN(A1)-IF(RIGHT(A1,1)="1",1,0))  

(将上面A1的前两个实例替换为您的SUBSTITUTE公式的合适版本,将最后一个E8替换为=LEFT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(E8,"_",""),"-",""),".","")," ",""),LEN(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(E8,"_",""),"-",""),".","")," ",""))-IF(RIGHT(E8,1)="1",1,0))

替换:

A1

=LEFT(A1,LEN(A1)-(RIGHT(A1)="1")) 一个版本的缩短版本:

{{1}}