2013-04-17 44 views
3

我有这个公式。这很有效,但当包含点的5个字符时失败。Excel中文件名的修整扩展

例如,

abcdefgh.pdf = TRIM(LEFT(A1,LEN(A1)-4))给我ABCDEFGH xyz.xlsx = TRIM(LEFT(A2,LEN(A2)-4) )给了我xyz。

是否有一个公式可以查找最后一个点并在最后一个点后面修剪所有内容?

+0

是的,你可以使用'Find':http://www.techrepublic.com/article/using-excels-find-and-mid-to-extract-a-substring-when-you-dont-know- the-start-point/1033368 – paul

+0

只是一个预防措施,但在这里使用'TRIM'函数,除非您打算在删除扩展名后删除文件名中的任何前导/尾随空格,这可能不是您想要的。 –

回答

13

试试这个公式后

=LEFT(A1,LOOKUP(2^15,FIND(".",A1,ROW(INDIRECT("1:"&LEN(A1)))))-1)

摆脱最后一个点和一切的如果只有过一个按你的例子​​,那么你只需要

=LEFT(A1,FIND(".",A1)-1)

+0

非常感谢。第一次尝试工作。 – torres

+0

非常感谢Barry。 – Kannabiran

0

这点公式效果不错

=TRIM(RIGHT(SUBSTITUTE(A1,".",REPT(" ",100)),100)) 

它用100个空格替换每个句点,然后返回正确的100个字符并对其进行修剪。您也可以替换“。”用“\”来获得文件名。

Credit to NBVC at excelforum.com

0

可以试试下面的公式。

=SUBSTITUTE(A1,"."& RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1,".","|",LEN(A1)-LEN(SUBSTITUTE(A1,".",""))))),"") 

这适用于带有完整路径2到7个字符的文件扩展名的文件扩展名和文件名中的命名空间的符号。

你也可以使用

=RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1,".","|",LEN(A1)-LEN(SUBSTITUTE(A1,".",""))))) 

找到该文件的扩展名。