只有在Excel中存在字符时,才能从string末尾移除字符

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

= SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE($ E8,“_”,“”),“ – ”,“”),“。”,“”),“”,“”)

但是一些文件名在最后需要删除的时候还包含了一个额外的1,请看例子;

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

如果有人可以给我一个公式解决scheme,删除上面的特殊字符和文件名的末尾1将是伟大的。

奖励信贷,如果你也可以去掉STC文件中的20,也可以输出STCSRA120114而不是STCSRA12012014

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

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

谢谢,本

也许:

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

(将上面的前两个A1replace为SUBSTITUTE公式的适当版本,最后一个replace为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"))