EXCEL大本营
2016-10-07 10:25
A列是数据源,包括文字和数字,要求提取出文本中间的数字,如图所示 动画演示过程: 解析(选取公式按F9,可查看返回结果): 单元格B1公式=MID(A1,MIN(FIND(ROW($A$1:$A$10)-1,A1&"0123456789")),LEN(A1)*2-LENB(A1))*1,输入完成后同时按三个键:CTRL+SHIFT+回车 1、LENB函数,计算字符串的字节,一个汉字代表2个 2、LEN函数,计算字符串的字节,一个汉字代表1个 3、LEN()*2-LENB()返回结果=文本中数字的个数 4、ROW($A$1:$A$10)返回的是1到10的值,减去1,返回的是0到9,共10个数字 5、FIND(ROW($A$1:$A$10)-1,A1&"0123456789"),表示查找0-9分别在文本中出现的位置,若单元格中匹配不了要查找的数值,则会出现错误值,故单元格A1要连接上数值串"0123456789";整个函数返回的结果是{18;19;7;9;8;23;24;25;26;27} 6、MIN(FIND(ROW($A$1:$A$10)-1,A1&"0123456789")),返回文本中第一个出现数字的位置 7、MID(A1,MIN(FIND(ROW($A$1:$A$10)-1,A1&"0123456789")),LEN(A1)*2-LENB(A1))*1=MID(A1,7,6)*1=243423 函数提取出来的是文本型数字,乘于1,转变成数字型 8、最后一步,也是最为关键的一步:对于数组公式,需要同时按住三个键:CTRL+SHIFT+回车键 |
|