在日常工作中,领导经常会提一些“奇葩”的要求,如图所示,要求从长字符串中提取最后出现的4位数字,这时要如何操作?



虽然这个表格比较乱,但还是有办法的,这里技巧妹与大家分享2个便捷的解决方法。


1、函数法


在单元格中输入公式=TEXT(-LOOKUP(0,-MID(A2,ROW($1:$99),4)),"0000"),按回车即可获取结果。



接下来看看该公式的具体含义:


①ROW($1:$99):表示生成数字1-99


②MID(A2,ROW($1:$99),4)):表示从字符串A2中分别从第一个、第二个……依次提取4个字符,具体的提取到的结果如图所示:



这时在公式前面添加添加一个负号,可以将非纯数字的转换为错误值,数值转换为负数。



③LOOKUP函数使用1作为查询值,在由负数、0和错误值构成的数组中,将忽略错误值,提取最后一个等于或小于1的数值。由于我们需要的结果是正数,所以这里使用负号,将提取出的负数转为正数。


④由于有的数字是以0开头的,所以这里我们用Text函数来补足位数。


2、结合Word


将表格复制到Word文档,之后选中区域,按Ctrl+H打开查找和替换对话框,在查找中输入“([!0-9]{1,})”,在替换中输入“-”,勾选使用通配符,点击全部替换,然后点击布局——转换——表格转换为文本,随后再次选中,点击插入——表格——文本转换为表格。



将表格复制到Excel中,然后输入公式=TEXT(SUMIF(B2:F2,"",A2:E2),"0000"),这样也可以获取到最后4位数。


PS:这里用到了SUMIF函数的错位求法,想了解详细内容,可以点击《SUMIF函数用法》



以上就是今天要分享的技巧,若有什么问题,欢迎在下方留言。