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 函数的组合,展示了如何高效移除字符串中的中间数字部分。该方法简单直观,适用于固定格式的字符串处理。

相关推荐
小钱c76 小时前
Python使用 pandas操作Excel文件并新增列数据
python·excel·pandas
Shi_haoliu8 小时前
Vue2 + Office Add-in关于用vue项目于加载项控制excel单元格内容(Demo版)
前端·javascript·vue.js·node.js·html·excel·office
njsgcs8 小时前
json转excel python pd
python·json·excel·pd
RECRUITGUY9 小时前
Excel中将毫秒时间戳转换为标准时间格式
excel
SunkingYang11 小时前
详细介绍C++中捕获异常类型的方式有哪些,分别用于哪些情形,哪些异常捕获可用于通过OLE操作excel异常
c++·excel·mfc·异常捕获·comerror
lied166363480617 小时前
List导出到Excel文件
servlet·list·excel
ZhengEnCi1 天前
Excel 文件结构完全指南-从基础概念到 Python 读取的实用宝典
python·excel
核桃杏仁粉1 天前
excel拼接数据库
数据库·oracle·excel
cx330上的猫1 天前
价值1w的数据分析课知识点汇总-excel使用(第一篇)
数据挖掘·数据分析·excel
小薛引路1 天前
office便捷办公06:根据相似度去掉excel中的重复行
windows·python·excel