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

相关推荐
凯子坚持 c7 分钟前
CodeRider-Kilo 驱动下的 Python Excel 自动化开发全流程深度解析
python·自动化·excel
啊哈哈哈哈啊有17 小时前
导出树形结构,excel
java·windows·excel
Dxy12393102161 天前
Elasticsearch 聚合入门:像 Excel 透视表一样分析数据
elasticsearch·excel
一位代码1 天前
Excel | .xls 与 .xlsx 文件的区别及使用 Excel 打开 CSV 文件出现乱码的解决办法
excel
CodeCraft Studio1 天前
Excel处理控件Aspose.Cells教程:使用C#在Excel中创建树状图
前端·c#·excel·aspose·c# excel库·excel树状图·excel sdk
悟能不能悟1 天前
vue导出excel文件
前端·vue.js·excel
CodeCraft Studio1 天前
国产化Excel开发组件Spire.XLS教程:以Python编程方式在Excel中高亮重复值
开发语言·python·excel·spire.xls·excel自动化·excel高亮重复值·python处理excel
喝汽水的猫^2 天前
Java实现Excel 导出(多 Sheet、复杂格式)
java·excel
小费的部落2 天前
Excel 在Sheet3中 匹配Sheet1的A列和Sheet2的A列并处理空内容
java·前端·excel
缺点内向2 天前
如何在 C# 中重命名 Excel 工作表并设置标签颜色
开发语言·c#·excel