分享

这个新函数真好用,可以取代很复杂的VBA,WPS表格越来越懂中国人(再完善版)

 Excel不加班 2024-08-16 发布于广东

前2个月写的文章,如果没看过可以再看一遍,粉丝对里面的案例提出了2个新要求,现在再进一步完善。平常多留言讨论问题,这样卢子才会去多思考,你也能看到更好的文章。

这个新函数真好用,可以取代很复杂的VBA,WPS表格越来越懂中国人

这个新函数真好用,可以取代很复杂的VBA,WPS表格越来越懂中国人(完善版)

1.一条公式将公称尺寸、公称压力、型号都提取出来

原先的方法,都是单独提取的,比如公称尺寸。

=REGEXP($A2,"公称尺寸:\K[^\n]+")

\K代表对内容进行分割,也就是提取公称尺寸:之后的内容。

[^\n]+代表行符之前的全部字符。

同理,公称压力改下标题就出来。

=REGEXP($A2,"公称压力:\K[^\n]+")

这样本来也挺简单的,粉丝留言说,当标题的内容比较多的时候,怎么引用第一行的内容进行分割?

卢子经过测试,发现直接引用标题的单元格再用&连接就可以。

=REGEXP($A2,B$1&":\K[^\n]+")

主要技术参数有的没有型号,会得到错误值#N/A,再嵌套IFNA让错误值显示空白。

=IFNA(REGEXP($A2,B$1&":\K[^\n]+"),"")


2.购买明细很乱,怎么快速整理成右边标准的格式,方便后期统计

将A2单元格的产品拆分出来。[一-龟]+代表连续的汉字。

=REGEXP(A2,"[一-龟]+")

同理,将A2单元格的金额拆分出来。[0-9.-]+代表连续的数字、小数点、负号。

=REGEXP(A2,"[0-9.-]+")

现在是全部单元格,如果A2改成A2:A9,你会发现得到错误值,也就说不支持引用区域。

那就想办法将全部单元格的内容合并,也就是TEXTJOIN。

=TEXTJOIN(" ",1,A2:A9)

再引用这个辅助单元格。

=REGEXP(A11,"[一-龟]+")

将辅助单元格的公式套进去。

=REGEXP(TEXTJOIN(" ",1,A2:A9),"[一-龟]+")

金额:

=REGEXP(TEXTJOIN(" ",1,A2:A9),"[0-9.-]+")

内容横着挺别扭的,最好再转换成一列,也就是TOCOL。

=TOCOL(REGEXP(TEXTJOIN(" ",1,A2:A9),"[一-龟]+"))

金额:

=TOCOL(REGEXP(TEXTJOIN(" ",1,A2:A9),"[0-9.-]+"))

如果金额要进行统计,需要加--转换成数值格式。
=--TOCOL(REGEXP(TEXTJOIN(" ",1,A2:A9),"[0-9.-]+"))

除了要学这些新函数,同时还要学写公式的步骤,将每个步骤单独分开,最后逐渐嵌套起来,变成最终的公式。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多