Excel提取数字的实用技巧分享
时间:2025-12-29 16:36:41 257浏览 收藏
学习知识要善于思考,思考,再思考!今天golang学习网小编就给大家带来《Excel提取混合文本中数字的技巧》,以下内容主要包含等知识点,如果你正在学习或准备学习文章,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!
Excel中提取混合字符串纯数字有五种方法:一、SUBSTITUTE嵌套+TEXTJOIN提取首个数字序列;二、SUMPRODUCT+MID兼容旧版但结构受限;三、LAMBDA自定义函数提升复用性;四、Power Query图形化批量清洗;五、VBA函数支持高度定制。

如果您在Excel中处理包含数字和文字的混合字符串,需要从中提取纯数字部分,则可能是由于文本格式导致常规方法无法直接识别数值。以下是解决此问题的步骤:
一、使用SUBSTITUTE嵌套+TEXTJOIN(适用于Microsoft 365或Excel 2019及以上)
该方法通过逐个替换所有非数字字符为空,再合并剩余字符,从而提取连续数字。它支持字符串中存在多个数字段时仅提取首个连续数字序列。
1、在目标单元格输入公式:=TEXTJOIN("",TRUE,IF(ISNUMBER(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)),MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),""))
2、按Ctrl+Shift+Enter组合键(若为动态数组版本Excel可直接回车)
3、将公式向下填充至其他行对应数据区域
二、使用SUMPRODUCT+MID构造数组(兼容Excel 2007起所有版本)
该方法利用MID逐字拆解字符串,结合ASCII码判断是否为数字字符(0–9对应ASCII 48–57),再用SUMPRODUCT拼接有效数字。适用于仅需提取首个数字串且不依赖高版本函数的场景。
1、在目标单元格输入公式:=SUMPRODUCT(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)*(ISNUMBER(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))))*10^(LEN(A1)-ROW(INDIRECT("1:"&LEN(A1)))))
2、按Enter确认输入
3、若结果为0但原字符串含数字,说明该公式仅适配纯数字前置或中间无干扰符号的简单结构,需检查原始文本格式
三、借助自定义名称+LAMBDA(仅限Microsoft 365订阅用户)
通过定义可复用的LAMBDA函数,实现一键调用数字提取逻辑,避免重复编写长公式。该方式支持嵌套调用与参数化控制,提升维护性。
1、点击【公式】→【名称管理器】→【新建】
2、在“名称”栏输入:ExtractNumbers;在“引用位置”栏粘贴:=LAMBDA(str,LET(seq,SEQUENCE(LEN(str)),chars,MID(str,seq,1),nums,FILTER(chars,ISNUMBER(--chars),""),TEXTJOIN("",TRUE,nums)))
3、在单元格中调用:=ExtractNumbers(A1)
四、配合Power Query(无需公式,图形化操作)
利用Power Query编辑器对列进行批量清洗,自动识别并保留数字字符,适合处理大批量数据或需后续追加清洗步骤的场景。
1、选中数据列 → 【数据】选项卡 → 【从表格/区域】→ 勾选“表包含标题” → 确定
2、在Power Query编辑器中右键目标列 → 【转换】→ 【提取】→ 【只保留数字】
3、点击【主页】→ 【关闭并上载】→ 数据将写入新工作表或现有位置
五、VBA自定义函数(适用于频繁使用且需高度定制)
通过编写VBA函数,可实现灵活匹配规则(如提取全部数字、首位数字、带小数点数字等),并支持跨工作簿调用,适合有编程基础的用户。
1、按Alt+F11打开VBA编辑器 → 插入模块
2、粘贴以下代码:Function GetNumbers(txt As String) As String: Dim i As Integer: For i = 1 To Len(txt): If IsNumeric(Mid(txt, i, 1)) Then GetNumbers = GetNumbers & Mid(txt, i, 1): Next i: End Function
3、返回Excel,在单元格中输入:=GetNumbers(A1)
今天关于《Excel提取数字的实用技巧分享》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
418 收藏
-
278 收藏
-
147 收藏
-
347 收藏
-
179 收藏
-
304 收藏
-
152 收藏
-
256 收藏
-
436 收藏
-
389 收藏
-
244 收藏
-
355 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习