B2单元格输入公式
=VLOOKUP(0,MID(A2&”a”,ROW($1:$99),11)*{0,1},2,0)
然后将该结果乘以一个一行两列的常量数组{0,1},返回结果如下▼
B2单元格输入公式
=VLOOKUP(0,MID(A2&”a”,ROW($1:$99),11)*{0,1},2,1)
公式只是修改了VLOOKUP的匹配方式,第4参数从0修改为了1,改为近似匹配,也就是寻找最后一个手机号。
……
再看一道类似的题,这是Office自学网某位网友的求助。
如下图所示,A列的字符串包含了正数和负数,现在需要将他们拆分开来,拆分后需要保持正负数不变形,B:H列是模拟结果。
还是VLOOKUP函数搞定:
B2单元格输入公式
=VLOOKUP(0,MID($A2,COLUMN(A1)+COUNTIF($A2:A2,”<0″),{1;2})*{0,1},2,0)
公式利用了错位引用的原理。COUNTIF($A2:A2,”<0″)部分,计算$A2:A2区域负数的个数(即负号的个数),随公式向右复制填充,计算范围自动扩展为$A2:B2、$A2:C2….。
MID函数将负号个数+数字个数作为第1参数,即截取字符开始的位置,截取字符长度不定,如果是负数就截取两位,如果是正数,就截取1位。两种情况都先截取,也就是垂直常量数组{1;2},于是生成两行1列的内存数组▼
然后将该数组乘以一行两列的水平常量数组{0,1},返回结果如下▼
示例文件下载百度网盘…▼
微信扫一扫加关注,Office自学网官方微信公众号,
专注分享软件安装和视频教程,让你一号在手,办公无忧!