得到:
{15;2;15;28;16;17;30;18;19;32;32;32;32;32;19;18;17;16;15;14;13;13;14;15;16;17;18;19;32;32;32;32;32;32;32;19;18;17;16;15;14;26;14;15;16;17;18;19;32;32;32;32;32;32;32;32;32;19;18;17;16;15;27;27;15;16;17;18;19;32;32;32;32;32;32;32;32;32;32;19;18;17;29;29;29;29;17;5;5;17;29;16;15;27}
将该数组传递给MATCH函数,并使用26作为其参数lookup_value的值:
MATCH(26,MMULT(N(ISERR(0+MID(MID(“ζ”&A1&”ζ”,ROW(INDEX(A:A,1):INDEX(A:A,LEN(A1)-5)),8),{1,2,3,4,5,6,7,8},1))),{13;1;1;1;1;1;1;13}),0)
【excel公式技巧提取指定长度的连续数字子串】转换为:
MATCH(26,{15;2;15;28;16;17;30;18;19;32;32;32;32;32;19;18;17;16;15;14;13;13;14;15;16;17;18;19;32;32;32;32;32;32;32;19;18;17;16;15;14;26;14;15;16;17;18;19;32;32;32;32;32;32;32;32;32;19;18;17;16;15;27;27;15;16;17;18;19;32;32;32;32;32;32;32;32;32;32;19;18;17;29;29;29;29;17;5;5;17;29;16;15;27},0)
得到:
42
这与我们要查找的8个字符中的第一个字符在字符串中的位置相对应,注意这8个字符中的第一个字符是非数字,所以需要向右移动一个位置,即想要得到的六位数数字的开始 。因此:
=0+MID(“ζ”&A1&”ζ”,1+MATCH(26,MMULT(N(ISERR(0+MID(MID(“ζ”&A1&”ζ”,ROW(INDEX(A:A,1):INDEX(A:A,LEN(A1)-5)),8),{1,2,3,4,5,6,7,8},1))),{13;1;1;1;1;1;1;13}),0),6)
转换为:
=0+MID(“ζ20/04/15 – VAT Reg:1234567: Please send 123456 against Order #98765, Customer Code A123XY,£125.00ζ”,1+42,6)
转换为:
=0+MID(“ζ20/04/15 – VAT Reg: 1234567:Please send 123456 against Order #98765, Customer Code A123XY, £125.00ζ”,43,6)
转换为:
=0+”123456″
得到:
123456
最后,给出本解决方案的公式的动态版本,允许将要查找的数字的长度作为变量 。假设在在B1中指定要提取的数字的长度,则公式为:
=0+MID(“ζ”&A1&”ζ”,1+MATCH(4*B1,MMULT(N(ISERR(0+MID(MID(“ζ”&A1&”ζ”,ROW(INDEX(A:A,1):INDEX(A:A,LEN(A1)-B1+1)),B1+2),COLUMN(INDEX(1:1,1):INDEX(1:1,B1+2)),1))),(B1*2)^ISNUMBER(MATCH(ROW(INDEX(A:A,1):INDEX(A:A,B1+2)),(B1+2)^{0,1},0))),0),B1)
猜你喜欢
- excel公式技巧:在公式中用特定构造代替常量数组
- excel公式技巧:使用公式排序
- excel公式怎么判断素数
- excel公式怎么统计至少在一列中满足条件的行数
- excel公式技巧: 获取指定区域中2个及以上连续数值并按顺序排列
- excel公式技巧: 比较字符串中的字符
- 怎么中excel单元格中返回多个条件的数据
- excel表格获取指定区域中每行首次出现指定值的位置
- excel公式技巧:在方形区域内填充不重复的随机整数
- excel公式技巧:根据频率和大小返回唯一值列表
