怎么截取EXCEL中文字后出现的第一段数字

如图,我在另外一个表格中,先匹配111101,然后在匹配银行账户,然后再取这个单元格内银行账户后边的第一段数字。

假设你的账户在B列,提取账户数字串的公式:
=REPLACE(-MIN(-TEXT(1&MIDB(B2,SEARCHB("?",B2),ROW($1:$18)),"0;0;0;!0")),1,1,"")
同时按Ctrl+Shift+Enter三键输入数组公式。追答

考虑到你的账户中,数字前面可能还含有其他英文符号,改用下面的公式更合适:
=MID(LOOKUP(,-(1&MID(B2,MIN(FIND(ROW($1:$10)-1,B2&1/17)),ROW($1:$18)))),3,18)
同样是数组公式。
如果账户的数字位数超过18位,可把公式中的两个18改到最大的可能长度。之所以没有在公式中先给你一个很大的数,如99,是考虑公式要尽量减少不必要的资源消耗——这是设计Excel公式的一个基本原则。

追问

您好,我试了一下您追答的公式,但是部分数据还是出不来,像我截图的里边的部门后边的25就出不来。其他的可以出来 您看是哪里还需要修改吗

追答

公式应该没问题,你截图吧,带行号,列标,并把鼠标定位到你没有得到结果的单元格,这时公式编辑栏显示出该单元格的公式,把公式编辑栏一起截图,好帮你分析。否则无法找出是什么问题。

追问

上边那个格子是25的没有带出来 ,而且我自己在A列手工录了一行数据 ,也是没有带出来,我现在想的是和数据的字体什么的有关?

追答

你没注意我回答中说的"同样是数组公式",数组公式就是要在输入完公式后同时按3个键:Crtl+Shift+回车键!这样才能完成数组公式。公式是否为数组公式,在公式编辑栏中可以看到明显差别,数组公式会自动给公式加上一对大括号。比如我追答的公式,显示为:
{=MID(LOOKUP(,-(1&MID(B2,MIN(FIND(ROW($1:$10)-1,B2&1/17)),ROW($1:$18)))),3,18)}
注意:这对大括号是因为同时按三键自动添加的,而不能手动输入添加!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-25
=MID(B2,MIN(IF(ISERROR(--MID(B2,ROW($1:$99),1))*ISNUMBER(--MID(B2,ROW($2:$100),1)),ROW($1:$99)))+1,MIN(IF(ISNUMBER(--MID(B2,ROW($1:$99),1))*ISERROR(--MID(B2,ROW($2:$100),1)),ROW($1:$99)))-MIN(IF(ISERROR(--MID(B2,ROW($1:$99),1))*ISNUMBER(--MID(B2,ROW($2:$100),1)),ROW($1:$99))))数组公式,同时按ctrl+shift+回车三键结束
第2个回答  2018-05-25
VBA可以做,函数不会
第3个回答  2018-05-25
好象数字前都有“:”,所以可以查找“:”定位一下,公式如下:
=-LOOKUP(,-LEFT(MID(A1,FIND(":",A1)+1,20),ROW($1:$20)))
相似回答