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

相关推荐
Java水解14 小时前
深入掌握 ExcelJS:Node.js 中强大的 Excel 操作库
后端·excel
MATLAB代码顾问14 小时前
Python实现星雀优化算法(Nutcracker Optimizer Algorithm, NOA) (附完整代码)
大数据·python·excel
偷心伊普西隆15 小时前
Python Excel 比较 sheet 之间的差异
python·excel
nyf_unknown15 小时前
(vue)前端下载本地excel文件
前端·vue.js·excel
脑花儿15 小时前
ABAP EXCEL模板数据上传 及 注意事项
开发语言·excel
一叶飘零_sweeeet15 小时前
攻克 大 Excel 上传难题:从异步处理到并发去重的全链路解决方案
java·excel·大文件上传
咖啡星人k15 小时前
MonkeyCode+Excel混合双打:3步把表格变成可视化大屏
人工智能·excel
吴声子夜歌15 小时前
Excel——常用函数三
excel
Waitind_15 小时前
Excel常用函数
excel
揭老师高效办公15 小时前
WPS表格和Excel中快速选择有批注的全部单元格
excel·wps表格