ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 函数与公式 > 如何提取单元格中2个数字字符串中的缺失数字?

如何提取单元格中2个数字字符串中的缺失数字?

作者:绿色风 分类: 时间:2022-08-17 浏览:89
楼主
lrlxxqxa
Q:如何提取单元格中2个数字字符串中的缺失数字?

A:
1、 比较直接的思路,数组公式:
  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、 简化后,数组公式:
  1. =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楼
魔魔
  1. =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的时候会错
  1. =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")
这个是我的,对是对,不过还是长了
于是我们把我们公式的优点统一到一起
  1. =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了

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap