楼主 lrlxxqxa |
Q:如何提取单元格中2个数字字符串中的缺失数字?
A: 1、 比较直接的思路,数组公式:- =TEXT(SUM(LARGE(ISERR(FIND(ROW($1:$10)-1,MID(A1,1,8)))*(ROW($1:$10)-1),{1,2})*{1,10}),"00")&","&TEXT(SUM(LARGE(ISERR(FIND(ROW($1:$10)-1,MID(A1,10,8)))*(ROW($1:$10)-1),{1,2})*{1,10}),"00")
2、 简化后,数组公式:- =TEXT(SUM(RIGHT(SMALL(IF(FIND(ROW($1:$10)-1,MID(A1,{1,10},8)&5^19)>8,ROW($1:$10)+{9,19}),{1,2,3,4}))*10^{3,2,1,0}),"00!,00")
提取2个字符串中的缺失数字.rar |
2楼 lrlxxqxa |
IF的第一参数FIND(ROW($1:$10)-1,MID(A1,{1,10},8)&5^19)>8返回{FALSE,FALSE;TRUE,FALSE;FALSE,FALSE;FALSE,FALSE;FALSE,TRUE;FALSE,FALSE;FALSE,TRUE;TRUE,FALSE;FALSE,FALSE;FALSE,FALSE} 位置>8说明源字符串中缺失该数字; IF的第二参数ROW($1:$10)+{9,19}返回 {10,20;11,21;12,22;13,23;14,24;15,25;16,26;17,27;18,28;19,29} 是为了构建一个2位数的内存数组,方便后面用right一次性取得4个有效位数(个位) |
3楼 魔魔 |
- =TEXT(SUM(LARGE(ISERR(FIND(ROW($1:$10)-1,MID(A1,{1,10},8)))*(ROW($1:$10)-1)*{100,1},{2,1;4,3})*{10,1}),"00!,00")
这个是小胖师傅的公式,但是有两个0的时候会错- =TEXT(SUM(LARGE(ISERR(FIND(ROW($1:$10)-1,MID(A1,{1,9},9)))*({-1,9}+ROW($1:$10)),{1;2;3;4})*10^{0;1;2;3})-110,"00!,00")
这个是我的,对是对,不过还是长了 于是我们把我们公式的优点统一到一起- =TEXT(SUM(LARGE(ISERR(FIND(ROW($1:$10)-1,MID(A1,{1,9},9)))*ROW($1:$10)*{100,1},{2,1;4,3})*{10,1})-1111,"00!,00")
嘿嘿,锐师傅,112了 |