【问题标题】:triming extension from filename in Excel从 Excel 中的文件名修剪扩展名
【发布时间】:2013-04-10 10:01:09
【问题描述】:

我有这个公式。这很好用,但是当包括点在内有 5 个字符时会失败。

例如,

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

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

【问题讨论】:

  • 是的,你可以使用Find:techrepublic.com/article/…
  • 只是一种预防措施,但在此处使用 TRIM 函数,除非您打算在删除扩展名后删除文件名中的任何前导/尾随空格,这可能是不希望的。

标签: excel trim


【解决方案1】:

试试这个公式来去掉最后一个点和后面的所有内容

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

如果您的示例中只有一个点,那么您只需要

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

【讨论】:

  • 非常感谢。第一次尝试。
【解决方案2】:

这个公式效果很好

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

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

Credit to NBVC at excelforum.com

【讨论】:

    【解决方案3】:

    可以试试下面的公式。

    =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,".","")))))
    

    查找文件的扩展名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-21
      • 2011-05-14
      • 2010-10-30
      • 2015-10-20
      • 2016-01-05
      • 2015-03-27
      • 1970-01-01
      相关资源
      最近更新 更多