如何从excel 不规则字符串中提取包含特定字符的内容

如图, 每个excel 中我都要把含9190 的字符取出来, 比如第一行要取919000101, 第三行要取919000901 919000903, 需要详细步骤

假定数据在A列,从A1单元格开始,在B列实力需要的提取的特定字符的内容,在B1写公式:
=MID($A1,SMALL(IFERROR(IF(LEFT(MID($A1,COLUMN($A$1:$KN$1),9),4)="9190",COLUMN($A$1:$KN$1),4^8),4^8),1),9) & " " & MID($A1,SMALL(IFERROR(IF(LEFT(MID($A1,COLUMN($A$1:$KN$1),9),4)="9190",COLUMN($A$1:$KN$1),4^8),4^8),2),9) & " " & MID($A1,SMALL(IFERROR(IF(LEFT(MID($A1,COLUMN($A$1:$KN$1),9),4)="9190",COLUMN($A$1:$KN$1),4^8),4^8),3),9) & " " & MID($A1,SMALL(IFERROR(IF(LEFT(MID($A1,COLUMN($A$1:$KN$1),9),4)="9190",COLUMN($A$1:$KN$1),4^8),4^8),4),9) & " " & MID($A1,SMALL(IFERROR(IF(LEFT(MID($A1,COLUMN($A$1:$KN$1),9),4)="9190",COLUMN($A$1:$KN$1),4^8),4^8),5),9) & " " & MID($A1,SMALL(IFERROR(IF(LEFT(MID($A1,COLUMN($A$1:$KN$1),9),4)="9190",COLUMN($A$1:$KN$1),4^8),4^8),6),9) & " " & MID($A1,SMALL(IFERROR(IF(LEFT(MID($A1,COLUMN($A$1:$KN$1),9),4)="9190",COLUMN($A$1:$KN$1),4^8),4^8),7),9) & " " & MID($A1,SMALL(IFERROR(IF(LEFT(MID($A1,COLUMN($A$1:$KN$1),9),4)="9190",COLUMN($A$1:$KN$1),4^8),4^8),8),9) & " " & MID($A1,SMALL(IFERROR(IF(LEFT(MID($A1,COLUMN($A$1:$KN$1),9),4)="9190",COLUMN($A$1:$KN$1),4^8),4^8),9),9) & " " & MID($A1,SMALL(IFERROR(IF(LEFT(MID($A1,COLUMN($A$1:$KN$1),9),4)="9190",COLUMN($A$1:$KN$1),4^8),4^8),10),9)
注意:上述公式假定你A列的数据最多只有300字符,如果超过,则要改公式;而且假定你A列中最多出现10个发票号,如果超高,则要改公式。
然后选定B1单元格后鼠标点击进去上面的公式栏,然后按Ctrl+Shift+Enter/回车三键(按住Ctrl+Shift两键,然后按Enter/回车),直至公式首尾出现{ },然后向下拖动填充B1单元格公式到B2、B2等B列单元格。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-11

复制数据到Word中,按ctrl+h,勾选使用通配符,查找9190[0-9]{5},查找全部,字体标红。



查找替换掉黑色字体,全部替换。


再次使用通配符查找替换,如下图。





复制回Excel,按空格分列。

第2个回答  2019-09-12

抓图最忌没有行列号!看我的抓图。有限公式!

B2输入

=IFERROR(MID(A2,MAX(ISNUMBER(--MID(A2,ROW(INDIRECT("1:"&(LEN(A2)-8))),9))*ROW(INDIRECT("1:"&(LEN(A2)-8))))-1,9),"")

数组公式,输入后先不要回车,按Ctrl+Shift+Enter结束计算,再向下填充。

C2输入

=IFERROR(MID(LEFT(A2,FIND(" 9",A2)-1),MAX(ISNUMBER(--MID(LEFT(A2,FIND(" 9",A2)-1),ROW(INDIRECT("1:"&(LEN(LEFT(A2,FIND(" 9",A2)-1))-8))),9))*ROW(INDIRECT("1:"&(LEN(LEFT(A2,FIND(" 9",A2)-1))-8)))),9),"")

也是数组公式,操作同上。

第3个回答  2019-09-11
编程写代码来处理,再多再复杂也不怕
第4个回答  2019-09-11
又有一个号码的,又有两个号码的,建议使用代码唉
相似回答