PMC的日常挑战:如何用WPS表格精准抓取单元格内的数字信息

古哥计划
古哥计划

优秀创作者

在生产计划PMC的日常业务中,物料的描述往往会包含各类数字信息,有时我们需要从中精准提取这些数字,以便进行后续的数据分析与整理工作。针对这一需求,WPS表格提供了多种提取单元格内数字的方法,具体选择哪种方法主要取决于数字在文本中的位置、排列规律等因素。接下来,古老师将通过一个实例,演示运用多种技巧实现数字提取的过程,其中最后一项方法尤为便捷高效。

案例源数据

如下图所示,单元格内包含了产品成本单价这一关键数据,以“捌拾玖元陆角肆分 ¥89.64元”的形式呈现。现需从中精确提取出数字部分,即“捌拾玖元陆角肆分”对应的数值“89.64”。在这个例子中,待处理的单元格内容混杂了文本、数字、特殊符号及空格等元素。

接下来,我们将针对上述案例,逐一演示如何灵活运用不同的文本函数组合,诸如FIND、TEXTAFTER/TEXTBEFORE、TEXTSPLIT等工具,以实现对数字的有效提取。各位用户可根据自身实际需求,借鉴不同的提取策略,以针对性地解决各自面临的问题。

TEXTAFTER+TEXTBEFORE

通过观察上图中的数字,提取数字的核心就是锁定数字的开始和结尾,刚好数字的开始是以符号“¥”开始和汉字“元”结尾。有了这个规律,就配合TEXTAFTER+TEXTBEFORE函数就可以精准提取了。

录入以下函数:

=--TEXTBEFORE(TEXTAFTER(B3,"¥"),"元")

函数释义:

TEXTAFTER(B3,"¥"):TEXTAFTER 函数用于查找指定文本之后的第一个子串。

参数1:B3,指定了要搜索的文本范围,即单元格B3的内容。

参数2:"¥",指定了查找的起始标记,即从“¥”符号之后开始提取文本。

结果:该函数会返回从“¥”符号开始直到单元格B3中下一个指定字符(此处未指定,所以默认到字符串末尾)之间的所有文本。在这个例子中,B3的内容为“捌拾玖元陆角肆分 ¥89.64元”,则TEXTAFTER函数返回的结果将是“89.64元”。

TEXTBEFORE(...,"元"):

TEXTBEFORE 函数用于查找指定文本之前的一个子串。

参数1:TEXTAFTER(B3,"¥"),这是对上一步得到的结果应用TEXTBEFORE函数,即从“89.64元”中继续提取。

参数2:"元",指定了提取的终止标记,即提取从起始位置到“元”字符出现之前的文本。

结果:该函数会返回从起始位置(在此处即“¥”符号之后)到“元”字符之间(但不包括“元”字符)的所有文本。对于上一步返回的“89.64元”,TEXTBEFORE函数将提取出“89.64”。

--:两个减号(--)连用在这里起到了强制转换的作用。在WPS中,单个负号 - 用于表示负数或执行减法运算,而连续的两个减号则是用来将文本型数字转换为真正的数值型数据。由于前面的TEXTAFTER和TEXTBEFORE操作返回的是文本格式的数字(如“89.64”),这里使用--将这个文本转换为数值型的89.64,以便于后续进行数值计算或数据分析。

结果如下图所示:

TEXTSPLIT+TAKE

除了运用上述定位法之外,还可采用关键字分列法。鉴于数字信息嵌于符号“¥”与汉字“元”之间,我们仅需针对这两处特定字符实施分列操作,最终选取并保留分列后所得的最后一列内容即可。TEXTSPLIT(B3, {"¥","元"}, , 1) 是对单元格 B3 中的文本进行拆分。

录入以下函数并向下填充:

=--TAKE(TEXTSPLIT(B3,{"¥","元"},,1),,-1)

函数释义:

第一个函数:TEXTSPLIT

{"¥","元"} 是一个包含两个分隔符的数组,表示同时以符号“¥”和“元”作为列分隔符。这意味着当遇到这两个字符之一时,文本会被分割成不同的列。

第三个参数留空(即逗号后无输入),通常用于指定行分隔符,此处未提供任何行分隔符,表示不进行行拆分。

第四个参数1 表示返回拆分后的第一列数据,忽略其他列。

第二个参数:TAKE 函数:

TAKE(..., , -1) 对 TEXTSPLIT 的结果执行取值操作。

第一个省略号(...)代表 TEXTSPLIT 的结果,即拆分后得到的第一列数据。

第二个省略号留空,表示不指定行索引,通常用于指定要取哪几行数据,留空则默认取全部行。

-1 作为最后一个参数,表示取最后一行数据。由于 TEXTSPLIT 只返回了一列数据,这里的“行”实际上就是指这一列中的最后一个元素。

双负号(--):将其转换为数值。

使用TEXTSPLIT 函数以分隔符“¥”和“元”将单元格 B3 中的文本拆分为多列,并仅保留第一列数据。接着,使用 TAKE 函数从拆分后的第一列数据中提取最后一个元素,即该列中的最后一个数值字符串。最后,通过双负号 (--) 将提取出的数值字符串转换为实际的数值类型。

效果如下图所示:

REGEXP

最后一个方法虽写法简洁,但要求使用者具备一定的编程基础。目前,该函数在公式版本中尚未推出,但预计将于四月底正式发布。此函数即为正则表达式函数“REGEXP”。

录入函数:

=--REGEXP(B3,"\d.*.\d")

函数释义:

B3:表示要应用正则表达式的单元格引用,即待检查的文本字符串位于单元格B3中。

"\d.*.\d":这是一个正则表达式模式,解释如下:

\d:匹配任何一位数字(等同于 [0-9])。

.*:匹配任意数量(包括零个)的任意字符(. 代表除换行符外的任意字符,* 表示前面的字符可以重复零次或多次)。

.\d:匹配一个任意字符(.)后跟一个数字(\d)。

判断B3中的文本是否以一个数字开始,中间包含任意字符序列,然后以一个点(.)和另一个数字结束。双减号(--)进行文本转换成数值。

效果如下图:

311 零件产销存报表难题:不规范数据格式与跨页数据整合的困局与破局

310 WPS最新函数技巧:精准定位与智能舍入,罗马数字秒变阿拉伯数字

309 PMC精益库存管理与订单分配自动化设计WPS一站式报表模板

308 工厂信息化升级实战:巧解无规律物料编码,动态提取字母组合

307 一招GET!借助通配符解决表格数据汇总难题:SUMIF函数实例详解

306 一键生成:RANDARRAY 函数在数据分组与数学作业个性化定制中的妙用

305 实战演练:10种创新策略解锁WPS表格函数在成绩查询中的高效应用

304 步步详解:运用WPS函数整合工厂报表,实现全年度产品数据深度挖掘

303 运用WPS新函数实现工厂产销存报表的智能化整合与数据分析

302 BOM转换策略:树型BOM与父件子件BOM的优缺点分析及其相互转换方法

301 深入理解订单齐套率计算方法及应用实践案例解析

300 物料需求运算表优化实战:从“卡顿”到“流畅”的转变

299 WPS表格自动化编号:升序与累计编号的实用方法

298 输入法配合WPS表格公式,轻松实现虚拟数据批量生产:助力讲师快速培训演示

297 探究二维与一维报表的奥秘:掌握三种实用转换策略,应对庞大数据量挑战

296 从理论到实践:WPS 内测SCAN函数在销售金额稳定性评估中的神奇运用

295 新旧交织,效率升级:WPS表格新函数REDUCE、BYROW等在复杂业务场景下的灵动

294 WPS内测版新功能揭秘:“SCAN”迭代函数的运用与实践

293 借助WPS动态数组公式实现智能扩展填充与数据转换自动化

292 MRP原理课后的表格制作练习题目:技能与实战双丰收

运用WPS/Lambda及Scan函数实现动态数组累计需求分析 No291

巧用WPS AI,为上百名女员工打造3·8女神节专属祝福与精美卡片 290

从单一公式到复杂逻辑:通过实战案例揭示PMC面试中数据分析与解决问题的能力区分 No 289

MRP多阶需求运算报表-WPS表格版本 (8 No 288

MRP多阶需求运算报表-WPS表格版本 (7) No 287

MRP多阶需求运算报表-WPS表格版本 (6) No 286

MRP多阶需求运算报表-WPS表格版本 (5) No 285

MRP多阶需求运算报表-WPS表格版本 (4) No 284

MRP多阶需求运算报表-WPS表格版本 (3) No 283

MRP多阶需求运算报表-WPS表格版本 (2) No 282

浙江省
浏览 1955
1
7
分享
7 +1
4
1 +1
全部评论 4
 
清华学弟任泽岩
清华学弟任泽岩

创作者俱乐部成员

最后一个函数挺有趣,勾起我的兴致
· 辽宁省
回复
 
HC.旋
打卡
· 江苏省
回复
 
亂雲飛渡
很好
· 广东省
回复
 
消逝小号
打卡
· 重庆
回复