REGEXP函数函数是WPS表格中的特有函数之一,能够根据正则表达式对字符串进行提取、判断或替换。函数语法为:=REGEXP(要处理的字符串,正则表达式,[匹配模式],[替换内容])B2单元格输入以下公式,向下复制,提取出电话号码:
=SUM(1*REGEXP(A2,"[0-9.]+(?=元)"))
公式中的[0-9.]+ 表示包含小数点的连续数字,(?=元)表示字符“元”之前的内容。如下图,希望从A列混合内容中,提取首个中文字符之前的全部内容。
公式中的第一个^表示字符开头。中括号中的^表示“非”,[^一-龟] 表示连续的非中文字符。^[^一-龟]+,即表示字符开头部分的连续非中文字符。=PRODUCT(1*REGEXP(A2,"[\d]+"))公式中的[\d]+,作用等同于[0-9]+,表示0-9的连续数字。REGEXP将各个连续数字依次提取出之后,先用乘以1的方式转换为数值,再使用PRODUCT函数计算各个数值的乘积。公式中的小数点.表示任意字符,星号*是量词,表示前面的点号.可以出现零次或多次。(.*)表示全角括号及括号内的内容。
如需仅提取括号内的颜色,可以使用以下公式:
=REGEXP(A2,"(?<=()...")
用半角括号包含的?<=(部分,表示要提取字符左括号后的内容。三个小数点,表示提取三个字符。(?<=()...就是提取左括号后的三个字符。
如果括号内的颜色字符数不固定,可以使用以下公式提取括号内的字符:
=REGEXP(A2,"(?<=().*(?=))")(?<=()部分表示提取左括号后的内容,.*表示不固定的字符数,(?=))部分表示提取右括号前的内容。如下图所示,希望从A列混合内容中,按支付方式提取出对应的金额。=IFERROR(REGEXP(A2:A5,B1:D1&"\K[0-9.]+"),)公式中的A2:A5部分是要处理的单元格。
B1:D1&"\K[0-9.]+"部分,用B1:D1单元格区域中的支付方式与"\K[0-9.]+"连接,表示分别提取以B1:D1开头的连续数字。
最后用IFERROR函数,屏蔽A列没有对应支付方式时返回的错误值。
也可以使用以下公式,
=IFERROR(REGEXP(A2:A5,"(?<="&B1:D1&")[0-9.]+"),)
好了,今天的内容就是这些吧,祝各位一天好心情~
图文制作:祝洪忠