excel从一串数字中找出某一个数字并显示出来

是这样的,比如在A1有一串数字,0110111415,F1有一串数字,0210121332
我想在A3中显示出left(A1,1,2)的01,J3中显示mid(A1,3,2)的10,K3中显示mid(A1,5,2)的11
在B4中显示出mid(A2,1,2)的02,L4中显示mid(A2,5,2)的12,AF4中显示mid(A2,9,2)的32
而B1:C32中的公式是同一个公式
这么表述可能有点抽象 我上个图吧 就像图一样 在对应的位置显示出对应的数字了

A3公式右拉至AF3:

=IF(OR(--MID($A1,{1,2,3,4,5}*2-1,2)=A2),TEXT(A2,"00"),"")


A4公式右拉至AF4:

=IF(OR(--MID($F1,{1,2,3,4,5}*2-1,2)=A2),TEXT(A2,"00"),"")

 

追问

天啊!绝对是人才!太谢谢了

不过难道每一串数字都要这样输入然后再右啦吗?
因为我们有上百串数字,在这里我只是为了方便只举出了两串数字作为例子。。。
如果每串数字都要输入后再右啦,那要上百次输入啊!!
有没有办法解决??

追答

A3公式右拉下拉:
=IF(OR(--MID(INDEX($1:$1,ROW(A1)*5-4),{1,3,5,7,9},2)=A$2),TEXT(A$2,"00"),"")

 

以上公式还可以加入防空白判断完善点,当第一行是空白时,公式也返回空白:
=IF(INDEX($1:$1,ROW(A1)*5-4)="","",IF(OR(--MID(INDEX($1:$1,ROW(A1)*5-4),{1,3,5,7,9},2)=A$2),TEXT(A$2,"00"),""))

 

注意:第一行的合并单元格必须是要五列为一个合并,如A1--F1--K1--P1

 

追问

嗯嗯  大爱!!!!

其实还有一个问题

就是如果是如图  问题和原题一样  同时支持右拉和下拉

追答

这个反而更简单得多了,B2公式右拉下拉:
=IF($A2="","",IF(OR(--MID($A2,{1,3,5,7,9},2)=B$1),TEXT(B$1,"00"),""))

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-31

知道你的意图了。

按你的抓图

在A3输入

=IF(ISERR(FIND(TEXT(A2,"00"),$A1)),"",TEXT(A2,"00"))

A4输入

=IF(ISERR(FIND(TEXT(A2,"00"),$F1)),"",TEXT(A2,"00"))

均回车并向右填充。

追问

嗯嗯 这个也是人才!!太好了!!太谢谢了

不过。。。和下面那个大神的问题一样。。。可能也是我没有解释清楚。。。
万一我有上百串数字像A1那样的数字呢?难道要这样每一串数字就输入一条公式么??会累死的T_T
有没有更好的办法 就是不单止可以右拉 同时还能下拉
谢谢哈

追答

你的第1行右侧还有数据?

公式加上偏移函数OFFSET()就行:

=IF(ISERR(FIND(TEXT(A$2,"00"),OFFSET($A$1,,(ROW(1:1)-1)*5))),"",TEXT(A$2,"00"))

回车并向右和向下填充。


本回答被网友采纳
第2个回答  2014-10-31

A3输入以下公式,下拉右拉

=IFERROR(IF(MOD(FIND(TEXT(A$2,"00"),TEXT(OFFSET($A$1,0,(ROW()-3)*5),"0000000000")),2),TEXT(A$2,"00"),""),"")

第3个回答  2014-10-31
你的数字串有0开头,应该是文本,你的1-32项要修改成文本 01 02 03***
假设 0110111415 在A2,01-32为B1至AG1
则 B2=IF(ISERR(FIND(B1,$A$2)),"",B1),然后公式右拉。

好像跟你的结果有些不一样。你的判定规则应该没全说完。
例如 0210121332 这串数字 4-5位是 01 为什么不显示 01 6-7位是21 为什么不显示21?追问

oh 我好像是漏了些条件 不好意思
没错 就是应为为了避免这个问题 所以我才上来问的
因为上面给我们的要求是 这一串数字中 没两个数字为一组 不互为重叠
也就是说 第一串数字我们应看为 01 10 11 14 15
第二串数字我们应看为 02 10 12 13 32
所以第二串数字中4-5位不为01 一次类推
不好意思没解释清楚

第4个回答  2014-10-31
第三行=SUMPRODUCT(IF(VALUE(MID($A1,{1,3,5,7,9},2))=COLUMN(),COLUMN(),))
第四行=SUMPRODUCT(IF(VALUE(MID($B1,{1,3,5,7,9},2))=COLUMN(),COLUMN(),))
设置一下数字格式为00
在选项中设置不显示零值
相似回答