Excel提取字符串中的数字
发布时间:2025-05-12 14:25:45 发布人:远客网络
一、Excel提取字符串中的数字
1、单元格中的数据包含文本和数字(如),如何使用公式提取出该单元格中的数字?
2、先找到字符串文本中第1个数字出现的位置,然后取出从该位置起的全部数据。
3、=1*MID(A1,MATCH(FALSE,ISERROR(1*MID(A1,ROW(1:10),1)),0),255)
4、将单元格A1中的数据转换成一个数组:{“E”;”x”;”c”;”e”;”l”;”2”;”0”;”1”;”7”;””}。
5、我们假设单元格A1中的数据长度不会超过10个。
6、得到数组{#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;2;0;1;7;#VALUE!}。
7、接下来,使用IFERROR函数,若数组中是错误值则转换成TRUE,否则为FALSE,即公式:
8、ISERROR(1*MID(A1,ROW(1:10),1))
9、得到数组{TRUE; TRUE; TRUE; TRUE; TRUE;FALSE; FALSE; FALSE; FALSE;TRUE}。
10、使用MATCH函数,查找数组中第一个FALSE出现的位置,即
11、MATCH(FALSE,ISERROR(1*MID(A1,ROW(1:10),1)),0)
12、得到值6,即字符串中的第6个字符开始出现数字。此时的公式为
13、即从字符串“Excel2017”的第6位开始提取256个字符数据,从而取出字符“2017”,然后将其乘以1,转换成数字。
14、使用MID函数,可以实现数据分离。
15、MATCH函数精确查找指定值第1次出现的位置。
16、数字与数字形式的文本相乘,将其转换为数字。
17、Excel公式练习18:获取每行中第一个非空单元格
18、如何使用公式获取每行中第一个非空单元格?例如下图所示工作表,要求使用公式根据上半部分的表格求各项目的开工日期。
19、也就是说,要求出单元格区域B2:G6的每行中第一个非空单元格对应的B1:G1中的日期。
二、excel单元格内怎样提取字符串中的数字
1、根据数字所在单元格文本字符串位置的不同,可以使用MID函数或MIDB函数、RIGHT函数或RIGHTB函数、LEFT函数或LEFTB函数来进行提取。
2、MID或MIDB用途:MID返回文本串中从指定位置开始的特定数目的字符,该数目由用户指定。MIDB返回文本串中从指定位置开始的特定数目的字符,该数目由用户指定。MIDB函数可以用于双字节字符。
3、语法:MID(text,start_num, num_chars)或MIDB(text, start_num,num_bytes)。
4、参数:Text是包含要提取字符的文本串。Start_num是文本中要提取的第一个字符的位置,文本中第一个字符的start_num为1,以此类推;Num_chars指定希望MID从文本中返回字符的个数;Num_bytes指定希望MIDB从文本中按字节返回字符的个数。
5、实例:如果a1=电子计算机,则公式“=MID(A1,3,2)”返回“计算”,=MIDB(A1,3,2)返回“子”。
6、RIGHT或RIGHTB用途:RIGHT根据所指定的字符数返回文本串中最后一个或多个字符。RIGHTB根据所指定的字节数返回文本串中最后一个或多个字符。
7、语法:RIGHT(text,num_chars),RIGHTB(text,num_bytes)。
8、参数:Text是包含要提取字符的文本串;Num_chars指定希望RIGHT提取的字符数,它必须大于或等于0。如果num_chars大于文本长度,则RIGHT返回所有文本。如果忽略num_chars,则假定其为1。Num_bytes指定欲提取字符的字节数。
9、实例:如果A1=学习的革命,则公式“=RIGHT(A1,2)”返回“革命”,=RIGHTB(A1,2)返回“命”。
10、LEFT或LEFTB用途:根据指定的字符数返回文本串中的第一个或前几个字符。此函数用于双字节字符。
11、语法:LEFT(text,num_chars)或LEFTB(text, num_bytes)。
12、参数:Text是包含要提取字符的文本串;Num_chars指定函数要提取的字符数,它必须大于或等于0。Num_bytes按字节数指定由LEFTB提取的字符数。
13、实例:如果A1=电脑爱好者,则LEFT(A1,2)返回“电脑”,LEFTB(A1,2)返回“电”。
三、请教EXCEL函数达人:如何提取字符串中的数字。
1、给出数字的起始位置和长度。示例公式:=--mid(a1,5,3)
公式结果为提取A1单元格中从第5位开始的3个数字。
2、提取某特定字符串后的数字。示例公式:=-lookup(0,-mid(a1,find("ABC",a1)+LEN("ABC"),row(1:99)))
公式结果为提取A1单元格中字符串ABC之后的数字。
3、数字在一侧其他则中文字符组成。示例公式:数字在前,公式=left(a1,2*len(a1)-lenb(a1));数字在后,公式=right(a1,2*len(a1)-lenb(a1))
4、没有给出任何条件,只要求将单元格中的数字提出。通用公式=-lookup(0,-mid(a1,min(find(row(1:10)-1,a1&1/17)),row(1:99)))
按组合键ctrl+shift+enter结束公式。