You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel技巧:删除单元格中最后一个点之后的所有内容

解决Excel删除单元格最后一个"."之后内容的问题

兼容所有Excel版本的公式

要保留最后一个"."及之前的所有内容,可使用以下公式:

=LEFT(A2,FIND("~",SUBSTITUTE(A2,".","~",LEN(A2)-LEN(SUBSTITUTE(A2,".","")))))

公式原理:

  1. LEN(A2)-LEN(SUBSTITUTE(A2,".","")):计算单元格中"."的总数,比如100.200.300.400里有3个".",结果即为3。
  2. SUBSTITUTE(A2,".","~",3):把第3个"."替换成特殊字符~(选单元格中不会出现的字符即可),此时内容变为100.200.300~400。
  3. FIND("~",...):定位~的位置,也就是原内容中最后一个"."的位置。
  4. LEFT(A2, 位置):提取从开头到该位置的所有内容,正好保留最后一个"."及之前的部分。

适用于Excel 365/2021及以后版本的简化公式

如果你的Excel支持动态数组函数,可使用更简洁的TEXTBEFORE:

=TEXTBEFORE(A2,".",-1)&"."

公式原理:

  • TEXTBEFORE(A2,".",-1):-1表示匹配最后一个".",提取该分隔符之前的内容(比如100.200.300.400会提取出100.200.300)。
  • 末尾加上&".",补回最后一个".",得到目标结果100.200.300.。

你原来的公式失效原因

你使用的=LEFT(A2,LEN(A2) - SEARCH(".",A2))问题在于:SEARCH(".",A2)只会定位第一个"."的位置,计算出的长度是从第一个"."到末尾的字符数。用LEN减去这个值后,LEFT提取的是第一个"."之前的内容(比如100.200.300.400会得到100),不符合需求。

内容的提问来源于stack exchange,提问作者MJK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 14:38:15