一、单元格A1中有如下内容:要提取出数字
 
 
提取Excel单元格中连续的数字的函数公式是:
=LOOKUP(9E+307,--MID(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&1234567890)),ROW($1:$8)))
 或者
=LOOKUP(9E+307,--MID(H2,MIN(FIND({0;1;2;3;4;5;6;7;8;9},H2&1234567890)),ROW(INDIRECT("1:"&LEN(H2)))))
解释一下这个公式
 FIND函数——查询文本所在位置
FIND(find_text,within_text,[start_num])
FIND(需查的文本,包含查文本的单元格,开始查单元格的字符位置(可选))
此处FIND函数是搜索{1,2,3,4,5,6,7,8,9,0}数字在“A1&1234567890”中所在的位置;
A1&1234567890的目的是在用FIND函数查询时,不出现错误值,使之后的MIN函数可以正常运行。
FIND({1,2,3,4,5,6,7,8,9,0},“小王58670098负责财务1234567890”)
选取划黑后按F9,得出的位置为:{19,20,21,22,7,9,10,8,13,11}
 
 
 
MIN函数——返回列表中的最小值
MIN(number1,number2,……)
MIN(数字1,数字2,……)
将FIND所得结果{19,20,21,22,7,9,10,8,13,11}带入MIN函数,最小值所得为7,正是第一个数值出现的位置;
也正是之前FIND函数中使用A1&1234567890的原因。
 
 
 
MID函数——返回文本字符串从指定位置开始特定数目的字符,即提取某段字符。
MID(text,start_num,num_chars)
MID(被提取的文本或单元格,开始提取的字符位置,提取的字符个数)
将上述MIN函数所得带入MID(A1,7,ROW($1:$8);
ROW($1:$8)使用row函数不是用来计算行,而是借用其作为常量。当然1:8是可以修改的,只要大于数值个数就不影响结果。
 
 
 
--MID(……)中“--”的作用是将MID得出的结果变为数值,使其可以被LOOKUP函数查询到。
MID(……)选取划黑后按F9{"5";"58";"586";"5867";"58670";"586700";"5867009";"58670098"}
--MID(……)选取划黑后按F9{5;58;586;5867;58670;586700;5867009;58670098}
 
 
 
LOOKUP函数——从返回某个查询的值(数组形式)
LOOKUP(lookup_value,array)
LOOKUP(在数组中查的值,数组范围区域)
 
很重要的一点:
如果 LOOKUP 不到 lookup_value 的值,它会使用数组中小于或等于 lookup_value 的最大值。
LOOKUP(9E+307,……)其中9E+307指的是一个不会出现的超大值,9后面有307个0, 9E+307又可以写成9*10^307;那么此处搜索这个超大值,肯定无法到,因此返回的内
容将是小于或等于{5;58;586;5867;58670;586700;5867009;58670098}的最大值,即58670098。
 
 
二、如果内容中除汉子字母外 只有连续的11位数字
可以用一下的公式 手机号都是1开头的(find函数从第一个1字开始)
假如数据在a1
=MID(A1,FIND("1",A1),11)
或者
=MIDB(A1,SEARCHB("?",A1),11)
Search函数
实例:如果A1=学习的革命,则公式“=SEARCH("的",A1)”返回3,=SEARCHB("的",A1)返回5。
假设数据在A列。
B1输入公式
=if(len(a1)=11,a1,"")
下拉复制公式
追问
我的数据在j列
应该在k1输入公式如下=if(len(j1)=j1,j1,"")吗?
如果是这样,没反应
回答
=if(len(j1)=11,,j1,"")
Excel如何取出一段文字中的数字
2011-10-12
这要分好几情况:
1.要取前几位,或者后几位,如果都是数值,那么可以用left( )和right( )函数。
2.要取的是中间的几位,那么可以用MID(text,start_num,num_chars)函数。
3.还有一种是混合类型的,比如“11年秋书法竞赛一等奖(1000元)”、“11年秋英语朗诵比赛二等奖(500元)”,要取出其中的1000和500,那需要的函数就比较复杂,但也是可以实现的。
我们就是要在EXCEL中将单元格中数字和字符混合在一起的部分自动地把数字取出来。
一般公式:
=LOOKUP(9E+307,--MIDB(A1,SEARCHB("?",A1),ROW(INDIRECT("1:"&LEN(A1)))))
A1指要取出文字的单元格,MID前面是两个-,公式里的引号要记得全部改为英文的引号。(下同)
但是,这样做对小数不适用,我们再加以改进:
=LOOKUP(9E+307,--MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1234567890)),ROW(INDIRECT("1:"&LEN(A1)))))
但你会发现,我们上面的例子要的是后面的那个数字,而不是前面的,那么就还得改进,我们用right(A1,7)取后7位替换原公式中的A1,如果如下:
=LOOKUP(9E+307,--MID(right(A1,7),MIN(FIND({0;1;2;3;4;5;6;7;8;9},right(A1,7)&1234567890)),ROW(INDIRECT("1:"&LEN(right(A1,7))))))
至此,我们终于解决了上面的问题。
EXCLE中怎么用公式提取一段话中的数字。
推荐回答:
如果你那个编号的前面都是"到",后面都是"号",可以在B1输入=MID(A1,FIND("到",A1)+1,FIND("号",A1)-FIND("到",A1)-1)  复制B1下拉粘贴即可:
=================↓↓↓希望下面信息能帮到您↓↓↓======================
如何在Excel中提取小数点后面的数字问题:如何在Excel中提取小数点后面的数字
回答:在Excel中,如果某个单元格中包含一个带小数,要用公式提取该数值小数点后面的数字,例如A1单元格中包含一个数值“59178.68”,在B1单元格中输入下面的公式: =RIGHT(A1,LEN(A1)-FIND( . ,A1)) 公式返回结果“68”。 要取得纯小数,...
EXCLE中怎么用公式提取一段话中的数字问题:EXCLE中怎么用公式提取一段话中的数字
回答:如果你那个编号的前面都是"到",后面都是"号",可以在B1输入=MID(A1,FIND("到",A
1)+1,FIND("号",A1)-FIND("到",A1)-1)  复制B1下拉粘贴即可:excel 字符串转数组
用自定义函数提取单元格内字符串中的数字问题:用自定义函数提取单元格内字符串中的数字
回答:...和数字的字符串,要提取其中的数字,通常可以用下面的公式,例如字符串“隆平高科000998”在A1单元格中,在B1中输入数组公式: =MID(A1,MATCH(1,--ISNUMBER(--MID(A1,ROW(INDIRECT( 1: &LEN(A1))),1)),0),COUNT(--MID(A1,ROW(INDIRECT( 1: &LEN(A1))),1)))...
如何用Excel从字母数字字符串中提取数字问题:如何用Excel从字母数字字符串中提取数字
回答:...字,然后只返回其后的数字。 算法 此办理方案包罗建设公式以完成下列任务: 1.将字母数字字符串解析为单独的字符。 2.确定解析后的字符串中是否有数字。 3.确定命字在字母数字字符串中的位置。 4.计较字母数字字符串中数...
Excel怎样按中文小写数字排序问题:Excel怎样按中文小写数字排序
回答:...按拼音的顺序。遇到这种情况,通常需要添加辅助列,用公式或宏代码将中文小写数字转换为阿拉伯数字后再进行排序。 本文以上图为例介绍用公式转换中文小写数字阿拉伯数字的方法,以B列和C列为辅助列,在B列提取城...
直接提取Excel2007单元格小数点后第N位数字问题:直接提取Excel2007单元格小数点后第N位数字
回答:...cel2007,打开需要处理的数据清单,在F2单元格输入下面的公式回车得到结果7,公式的意思是向右取2位小数,也就是7。 在验证结果准确无误之后,我们放心的双击单元格填充柄,将余下的进行计算。 如果结果显...

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。