2013-04-17 50 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,".",""))))) 

找到該文件的擴展名。