Excel字符串处理实战:用LEFT和MID移除中间数字

Excel字符串处理实战:用LEFT和MID移除中间数字

问题场景

在日常工作中,我们常会遇到类似 Opportunity_Fast_Field_Update_Flow.1.Opportunity_can_t_be_editable.CustomError 的字符串。这种字符串通常由 前缀 + 中间数字 + 后缀 组成,例如日志路径、嵌套字段名等。

需求 :如何快速移除中间的数字部分(如 .1..2.),保留前后内容?

解决方案

使用 Excel 公式结合 LEFTMID 函数,动态提取前后两部分并拼接。

公式

less 复制代码
=LEFT(A1, FIND(".", A1) - 1) & "." & MID(A1, FIND(".", A1, FIND(".", A1) + 1) + 1, LEN(A1))

公式详解

1. 提取前缀部分

less 复制代码
LEFT(A1, FIND(".", A1) - 1)
  • 功能 :提取第一个点号(.)前的部分。
  • 示例
    原始字符串:Opportunity_Fast_Field_Update_Flow.1.Opportunity_can_t_be_editable.CustomError
    FIND(".", A1) 返回第一个点号的位置(假设为 52),LEFT(A1, 52 - 1) 提取前 51 个字符:
    Opportunity_Fast_Field_Update_Flow

2. 提取后缀部分

less 复制代码
MID(A1, FIND(".", A1, FIND(".", A1) + 1) + 1, LEN(A1))
  • 功能:从第二个点号后开始提取剩余内容。

  • 步骤解析

    1. FIND(".", A1) 找到第一个点号位置(如 52)。
    2. FIND(".", A1, 52 + 1) 从第一个点号后继续查找,找到第二个点号位置(如 54)。
    3. MID(A1, 54 + 1, ...) 从第二个点号后一位(即 55)开始提取剩余内容:
      Opportunity_can_t_be_editable.CustomError

3. 拼接结果

将前缀和后缀用 . 连接,形成最终结果:
Opportunity_Fast_Field_Update_Flow.Opportunity_can_t_be_editable.CustomError


完整示例

输入字符串(A1) 公式输出
Opportunity_Fast_Field_Update_Flow.1.Opportunity_can_t_be_editable.CustomError Opportunity_Fast_Field_Update_Flow.Opportunity_can_t_be_editable.CustomError
Task_Record_Triggered_And_Scheduled.2.Custom_error.CustomError Task_Record_Triggered_And_Scheduled.Custom_error.CustomError
MyString.3.Suffix MyString.Suffix

注意事项

1. 错误处理

如果字符串中没有两个点号(如 .1. 结构缺失),公式会报错(#VALUE!)。
解决方法 :添加 IFERROR 容错逻辑:

less 复制代码
=IFERROR(
    LEFT(A1, FIND(".", A1) - 1) & "." & MID(A1, FIND(".", A1, FIND(".", A1) + 1) + 1, LEN(A1)),
    A1
)
  • 作用:当公式报错时,直接返回原始字符串(避免显示错误值)。

适用场景

  • 输入格式 :字符串中包含类似 .[数字]. 的结构(例如 .2..3..123.)。

  • 输出目标:移除中间的数字部分,保留前后内容。

  • 典型用途

    • 清洗日志路径(如 Log.123.ErrorLog.Error)。
    • 处理嵌套字段名(如 User.42.AddressUser.Address)。

总结

本文通过 LEFTMID 函数的组合,展示了如何高效移除字符串中的中间数字部分。该方法简单直观,适用于固定格式的字符串处理。

相关推荐
Eiceblue2 小时前
使用 C# 将 Excel 转换为 Markdown 表格(含批量转换示例)
开发语言·c#·excel
Java面试题总结3 小时前
使用 Python 设置 Excel 数据验证
开发语言·python·excel
追逐梦想永不停6 小时前
记录一个好用的excel判断数字格式的公式
前端·chrome·excel
Eiceblue7 小时前
C# 如何实现 Word 转 Excel ?分享两种实用方法
c#·word·excel
CircleMouse1 天前
如何设置wps单元格下拉选项设置
excel·wps
zhangjin12221 天前
kettle插件-excel插件,kettle读取excel动态表头,kettle根据列名读取excel
excel·kettle·kettle excel插件·kettle 动态excel
远洪2 天前
excel 找出两列不同的数据
excel
pcplayer2 天前
非常好用的 Excel 读写控件
excel·delphi·office
Navicat中国2 天前
使用 Navicat 导入向导导入 Excel 数据时,系统提示导入成功,表中也能看到数据,但行数统计显示为 0,这是什么原因?
数据库·excel·导入
穿着内裤的外星人2 天前
触控精灵远程读写Excel步骤配置
excel