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的优缺点分析及其相互转换方法
298 输入法配合WPS表格公式,轻松实现虚拟数据批量生产:助力讲师快速培训演示
297 探究二维与一维报表的奥秘:掌握三种实用转换策略,应对庞大数据量挑战
296 从理论到实践:WPS 内测SCAN函数在销售金额稳定性评估中的神奇运用
295 新旧交织,效率升级:WPS表格新函数REDUCE、BYROW等在复杂业务场景下的灵动
294 WPS内测版新功能揭秘:“SCAN”迭代函数的运用与实践
293 借助WPS动态数组公式实现智能扩展填充与数据转换自动化
运用WPS/Lambda及Scan函数实现动态数组累计需求分析 No291
巧用WPS AI,为上百名女员工打造3·8女神节专属祝福与精美卡片 290
从单一公式到复杂逻辑:通过实战案例揭示PMC面试中数据分析与解决问题的能力区分 No 289
MRP多阶需求运算报表-WPS表格版本 (7) No 287
MRP多阶需求运算报表-WPS表格版本 (6) No 286
MRP多阶需求运算报表-WPS表格版本 (5) No 285
MRP多阶需求运算报表-WPS表格版本 (4) No 284
创作者俱乐部成员