只有在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))
(将上面的前两个A1
replace为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"))