Excel公式技巧:高效提取字符串中的数字

创始人
2024-12-27 09:48:32
0 次浏览
0 评论

如何将字符串中的数字提取出来

从字符串中提取数字是处理数据时的一项常见任务。
有多种方法可以实现这一目标。
如果您首先知道数字的起始位置和长度,则可以使用以下公式:=--mid(a1,5,3)。
此公式用于提取单元格A1中从第5位数字开始的3个数字。
如果需要提取特定字符串后面的数字,可以使用=-lookup(0,-mid(a1,find("ABC",a1)+len("ABC"),row(1:99)))。

这将提取单元格A1中字符串“ABC”之后的所有数字。
当数字与其他汉字相邻时,可以使用不同的公式。
如果数字位于字符串的开头,则可以使用=left(a1,2*len(a1)-lenb(a1));如果数字位于字符串末尾,则使用=right(a1,2*len(a1)-lenb(a1))。
这些公式适用于数字和汉字的组合。
如果不指定任何条件,只需要提取单元格中的数字,可以使用=-lookup(0,-mid(a1,min(find(row(1:10)-1,a1&1/17))),行(1:99)))。
必须通过按键盘快捷键Ctrl+Shift+Enter来结束此公式。
此方法适用于任何需要从单元格中提取数字的情况。
这些方法可以有效地从字符串中提取数字,以进行进一步的数据处理和分析。
这些公式在Excel中非常方便,可以帮助用户快速高效地处理数据。
在实际应用中,这些公式可以根据需要进行调整和优化。
例如,如果需要处理包含多个数字的字符串,则可能需要使用更复杂的公式来提取所有数字或特定数字。
此外,还可以组合其他函数和逻辑来解决更复杂的数字提取任务。
简而言之,从字符串中提取数字是数据处理的重要组成部分。
通过掌握这些公式和方法,用户可以更加轻松地处理和分析数据,提高工作效率。

Excel提取字符串中的数字

单元格中的数据由文本和数字组成(例如如何使用公式提取单元格中的数字?先别看答案,自己尝试一下。
公式的思想是首先找到第一个数字在字符串文本中出现的位置,然后从该位置提取所有数据。
公式数组公式如下:=1*MID(A1,MATCH(FALSE,ISERROR(1*MID(A1,ROW(1:10),1)),0),255)公式分析首先,公式:MID(A1,ROW(1:10),1)将单元格A1中的数据转换为数组:{"E";"x";"c";"e";"l";"2";“0”;“1”;“7”;“”}。
我们假设单元格A1中的数据长度不会超过10个字符。
然后将数组乘以1,即公式:1*MID(A1,ROW(1:10),1),得到数组{#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;2;0;1;7;#VALUE!}。
接下来,使用IFERROR函数。
如果数组中存在错误值,则转为TRUE,否则为FALSE,即公式:ISERROR(1*MID(A1,ROW(1:10),1)))获取数组。
{真;真;真;真;假;假;假;假;真}。
使用MATCH函数查找数组中第一个FALSE出现的位置,即MATCH(FALSE,ISERROR(1*MID(A1,ROW(1:10),1))得到值6.,0),即数字从第六个字符开始出现。
这次的公式为=1*MID('Excel2017',6,256),意思是提取字符串'Excel2017'中从第六位开始的256个字符数据,从而取出字符'2017',然后乘以1,将其转换为数字。
通过使用汇总MID功能,可以实现数据分离。
将数字乘以文本将产生错误的值。
MATCH函数搜索指定值的第一次出现。
通过将数字与数字文本相乘来将其转换为数字下一期Excel公式练习18:计算每行中的非空白单元格数GET如何使用公式获取每行中的第一个非空白单元格?例如,下图所示的工作表需要使用公式根据顶部的表格查找每个项目的开始日期。
换句话说,需要在B1:G1中找到与单元格区域B2:G6的每行中的第一个非空白单元格相对应的日期。

excel如何提取字符串中的数字

Excel中的字符串提取共有三种常见格式。
第一种是通过剪切掉部分原始文本来创建新文本,第二种是将文本和数字分开,第三种是从文本中提取数字。

常用于提取字符串的函数包括left(rihgt)、mid和Replace。
LEFT函数从左到右提取,RIGHT函数从右到左提取。
MID函数也从左到右提取,但不一定从第一个字符开始。

第一个问题是从下图所示的电子邮件地址中提取“@”字符之前的文本作为帐号。

上图中显示的电子邮件地址包含用户的帐号,但单独的LEFT函数并不能说明帐号的长度。
使用FIND函数实现。

FIND函数的用途是返回一个字符串在另一个字符串中的起始位置。
FIND函数的格式为:FIND(指定要搜索的文本、包含要搜索的文本的文本以及开始搜索的字符)。

这题的思路是用FIND("@",A19)返回A19单元格中“@”的位置,用LEFT函数从左边缘开始提取。
从单元格A19到“@”字符。

所以第一个问题的公式是=LEFT(A19,FIND("@",A19)-1),你所要做的就是把它拉下来。

还可以使用数组公式=LEFT(A19:B25,FIND("@",A19:B25)-1)三键终止和下拉。

第二个问题是提取下图中显示的电话号码的区号和号码。

提取区号的方法与第一题相同,计算公式为=LEFT(A29,FIND("-",A29)-1)。

要提取下一个数字,请使用LEN函数获取单元格A29的长度减去“-”符号之前的值。
右侧函数中的Num_chars值是所需的字符数。
提取出来的。
公式为:=RIGHT(A29,LEN(A29)-FIND("-",A29))。

上面的公式包含一个非常简单但非常有用的函数:LEN函数。
它的功能是返回文本字符串中的字符数。
LEN函数的语法为LEN(text)。
Text是您要检查长度的文本。
空格也算作字符。

问题3:从下图所示的15位和18位身份证号码中提取出生日期、性别和年龄。

首先是身份证号码对应的性别。
如果15位数字的最后一位是奇数,则为男性;如果为偶数,则为男性。
如果18位数字的第17位是奇数,则为女性,如果为男性,则为偶数。
二、身份证号对应的出生日期:如果是15位,则第7、8位为出生年份(2位),第9、10位为出生月份,第11、12位为出生月份是出生年份。
这些数字是您的生日期。
18位数字:7-10位为出生年份,11-12位为出生月份,13-14位为出生日期。

性别提取必须通过嵌套多个函数来完成。
利用IF函数判断MOD函数的值来判断性别是男还是女。
公式为:=IF(MOD(RIGHT(LEFT(A37,17)),2),"男","女")

IF函数的语法结构为:这里是:IF(条件,结果1,结果2)。
处理符合条件的数据,满足条件则输出结果1,不满足条件则输出结果2。
结果1或结果2可以省略,但不能同时省略。

IF()函数是一个逻辑判定函数。
如果条件为true,则返回TRUE,TRUE值为1。
否则,返回FALSE,FALSE值为0。

还有其他几个公式可用于提取性别。

第一,=IF(ISODD(MID(A37,8+LEN(A37)/2,1)),"男","女")

第二,=IF(ISODD(MID(A37,IF(LEN(A37)=15,15,17),1)),"男","女")

第三,=IF(MOD(MID(A37,15,3),2),"男","女")

要提取出生日期,您可以使用以下公式:=TEXT(IF(LEN)(A37)=15,19,"")&MID(A37,7,6+IF(LEN(A37)=18,2)),"#-00-00")拉下来并实施。

年龄计算公式为:=DATEDIF(TEXT(MID(A37,7,6+2*(LEN(A37)=18)),"#-00-00"),NOW(),“y”),下拉。

问题4:从下图中显示的联系信息中提取姓名和电话号码。

第一种方法:提取电话号码并在单元格E3中输入公式:=MID(A3,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A3&"0123456789")),LEN(A3))并下拉。
要提取名称,只需下拉=SUBSTITUTE(A3,E3,"")。

第二种方法:提取姓名的公式为:=LEFT(A3,LENB(A3)-LEN(A3))提取电话号码的公式为:=RIGHT(A3,2*LEN(A3)-LENB(A3))。

问题5:提取下图所示单元格中的数字。

有两种方法可以实现此目的。
一种是使用自定义函数。
其次,使用嵌套函数表达式。

要实现此目的,请使用以下两个表达式之一:第一:=-LOOKUP(,-MID(A11,MIN(FIND({0,1,2,3,4,5,6,7),8,9},A11&1234567890)),ROW($1:$15)))第二:=-LOOKUP(,-MIDB(A11,SEARCHB("?",A11),ROW($1:$15)))

但是,在上面的公式中,源数据是如果是的话,LOOKUP会忽略搜索时它。
例如,如果B11单元格中的No.235为No.0235,则上述计算公式中的0将被忽略。

如何提取字符串中的数字?

您可以使用中、左、右等功能。
方法如下:1.指定数字在字符串中的起始位置和长度。
公式示例:=--mid(a1,5,3)该公式的结果是从单元格A1中的第5位数字开始提取3个数字。
2.提取某一行之后的数字。
公式示例:=-lookup(0,-mid(a1,find("ABC",a1)+LEN("ABC"),row(1:99)))公式的结果是提取行ABC后得到单元格A1。
数字。
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即可完成公式。
热门文章
1
JavaScript数组转字符串:两种方... 如何 用 js把 数组 转换成 字符串这里的系列窗口为您提供了两种方式。1。使用...

2
C语言实现三角形面积计算:海伦公式应用实... 如何用c语言编写已知三角形三边求面积?已知语言C可以找到三角形三角侧的面积,如下...

3
计算机专业核心:C语言在多学科中的应用与... 哪些专业学c语言对于计算机专业来说,入门级编程语言C是用来为学生的编程打下坚实的...

4
JSF架构解析与Java学习资源分享:J... JavaServerFacesJSF体系结构JavaServerFaces(JS...

5
数据结构C语言版深度解析与C语言入门很简... 《数据结构(C语言版)》.严蔚敏吴伟民著.pdf在《数据结构(C语言版)》一书中...

6
C语言字符串常量解析:区别、用途及存储方... 什么是字符串常量字符串常量是C语言中的一种数据类型,它是由一对双引号括起来的字符...

7
C语言printf函数:格式字符串与输出... printf函数中的格式与输出项有什么关系?在C语言中,printf函数中的格式...

8
Excel技巧:计算字符串起始位置与合并... 如何计算字符串在特定文本中的起始位置,怎么计算字符串在特定文本中的起始位置您可以...

9
Python发音全解:掌握正确的发音方法... python怎么读我的很多学习编程的朋友可能都知道Python这个词,但是他们中...

10
字符与字符串:编程中的基础文本类型解析 字符串什么意思字符串是由数字、字母和下划线组成的字符串,表示为s=“a1a2…a...