Exce表格网

excel中如何判断单元格字符个数(excel识别特定字符个数)

来源:www.0djx.com  时间:2022-12-28 17:20   点击:270  编辑:表格网  手机版

1. excel识别特定字符个数

在B1单元格中输入下列公式:=LOOKUP(32767,FIND(D$1:D$3,A1),D$1:D$3)。再拖动填充到B2~B4单元格。

解析:

因为这道题把城市的名称保存在同一列中,我们容易联想起LOOKUP函数的向量形式

,它可以在一个向量中寻找某个值,返回另一个向量中处于同一位置的值。

LOOKUP函数的向量形式的语法为:LOOKUP(lookup_value, lookup_vector, [result_vector])lookup_value

必需。 LOOKUP

在第一个向量中搜索的值。 Lookup_value

可以是数字、文本、逻辑值、名称或对值的引用。lookup_vector

必需。 只包含一行或一列的区域。 lookup_vector

中的值可以是文本、数字或逻辑值。重要:

lookup_vector

中的值必须按升序排列:..., -2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE;否则,LOOKUP

可能无法返回正确的值。 文本不区分大小写。result_vector

可选。只包含一行或一列的区域。result_vector

参数必须与 lookup_vector

参数大小相同。其大小必须相同。

很显然,D$1:D$3,也就是向量 {广州,上海,北京},构成了第三个参数result_vector。

我们需要构建第二个参数lookup_vector。

这道题要求从公司名称中提取地名,例如从“北京市东湖五金厂”中提取“北京”,我们容易联想起FIND函数

。它可以在一个字符串中查找另一个字符串,并且返回后者在前者中的位置,如果找不到,会返回#VALUE!错误。

FIND函数的语法为:FIND(find_text, within_text, [start_num])find_text

必需。 要查找的文本。within_text

必需。 包含要查找文本的文本。start_num

可选。 指定开始进行查找的字符。 within_text 中的首字符是编号为 1 的字符。 如果省略 start_num,则假定其值为 1。

FIND函数的第一个参数find_text,可以是向量或数组

。我们可以用FIND函数,依次在A1单元格中查找“广州”、“上海”、“北京”的位置,即FIND(D$1:D$3,A1)。很明显,FIND函数在这里找不到“广州”或“上海”,但是可以找到“北京”并返回其位置1。于是,查找结果会临时存储为一个向量 {#VALUE!,#VALUE!,1}。这个向量可以充当LOOKUP函数的第二个参数lookup_vector

现在,我们把目光放到LOOKUP函数的第一个参数lookup_value。

这个函数有一个属性:如果 LOOKUP 函数找不到 lookup_value,则该函数会与 lookup_vector 中小于或等于 lookup_value 的最大值进行匹配

。这个函数还有一个隐藏属性:它会忽略第二个参数lookup_vector中的错误信息

,所以对于#VALUE!这样的错误信息,它只会视而不见。

我们要在此基础上考虑容错性的问题。假如A1单元格不是“北京市东湖五金厂”,而是“中国联合通信集团北京分公司”,也就是说,“北京”的位置不一定是1。穷举一下,由于在Excel中,每个单元格最多可以输入32767个字符,而且“北京”可能在任意一个位置,那么“北京”的位置将会是1~32766。

因为“北京”的位置可能是1~32766之间的任意整数,为了能让LOOKUP找到“北京”所在的位置,我们必须把第一个参数lookup_value设为超过32766的一个整数,32767正好合适

参考资料:

[1] LOOKUP函数。https://support.office.com/zh-cn/article/LOOKUP-函数-446D94AF-663B-451D-8251-369D5E3864CB

[2] FIND、FINDB函数。https://support.office.com/zh-cn/article/FIND、FINDB-函数-C7912941-AF2A-4BDF-A553-D0D89B0A0628

2. excel统计含有特定字符单元格个数

1、LEFT函数:

用法:LEFT(要提取字符所在单元格,从左侧开始提取的个数)

例如:=LEFT(A1,2) 意思是从A1单元格提取前两个字符。

2、RIGHT函数:

用法:RIGHT(要提取字符所在单元格,从右侧开始提取的个数)

例如:=RIGHT(A1,2) 意思是从A1单元格提取最后两个字符。

3、MID函数:

用法:MID(要提取字符所在单元格,开始位置,提取个数)

例如:=MID(A1,2,2) 意思是从A1单元格提的第二个单元格开始,提取两个字符,也就提取A1单元格第2个和第3个字符。

注:用MID函数,也可以替代前两个函数,比如:=MID(A1,1,2)与=LEFT(A1,2)的结果是一样的,再比如:=MID(A1,LEN(A1)-2+1,2)与=RIGHT(A1,2)的结果是一样的只是这里用到LEN函数,其作用是取得单元格字符串的长度。

4、提取后的字符合并:

字符合并要用到连接符号:&

比如:=LEFT(A1,2)&RIGHT(A1,2) 意思是把A1单元格的前两个和最后两个字符,提取出来组成一个新的字符。

下面给出两种方法:

方法1. 如果会用vba的话可以考虑自定义函数:

按alt+f11唤出vbe编辑窗口,插入-模块,将下方代码贴入:

Public Function Zstr(str As String, tj As String) With CreateObject("Vbscript.Regexp") .Pattern = "^(\d+).*" & tj & ".*" .Global = True .MultiLine = True .ignorecase = False If .test(str) Then Set mh = .Execute(str) Zstr = mh(0).submatches(0) Else Zstr = CVErr(xlErrNA) End If End WithEnd Function回到工作表中

在c1里输入如下公式:=zstr(A1,B1)

方法2. 公式(略长):

=--LEFT(TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200)),MAX(1,FIND(B1,SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200)))-200),FIND(B1,SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200))))),FIND("=",TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200)),MAX(1,FIND(B1,SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200)))-200),FIND(B1,SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1)+200))))))-1)

假设是A列

i=range("a65536").end(xlup).row()

msgbox range("A" & i).value

msgbox range("A" & i-1).value

如果ID值都是4位数的话,那么用以下代码就可以了:

Sub www() Dim y% For y = 1 To Cells(1, Columns.Count).End(xlToLeft).Column Cells(2, y) = Right(Cells(1, y), 4) Next yEnd Sub

excel提取单元格内某字符后面一位的数据全部提取出来 用vba实现 - : C1=IF(ISERROR(FIND("张三",A1)),"",MID(A1,FIND("张三",A1)+2,1))&IF(OR(ISERROR(FIND("张三",A1)),ISERROR(FIND("张三",B1))),"","+")&IF(ISERROR(FIND("张三",B1)),"",MID(B1,FIND("张三",B1)+2,1)) 然后下拉 这个可以实现提取A和B列中第一个张三后面的数字

EXCEL怎么提取单元格内某字符后面的所有文字 - : =MID(A1,FIND("房",A1)+1,LEN(A1)-FIND("房",A1))

EXCEL中如何提取单元格中最后一个字符 - : 方案a:复制到记事本中,再从记事本复制到word中.设置段落格式为:右对齐.将插入点置于最后一个字符右侧,按住alt不放,压住鼠标左键,选中要删除的区域,删除.然后复制回excel 方案b:假设数据在a列,则到一个空列,输入=left(a1,len(a1)-1) 向下填充公式,就得到你要的结果了.

excel怎样获取单元格中特定字符前面或者后面的内容 - : 方法一:用函数=MID(A1,FIND("|",A1)+1,99),参数你根据自己的事情情况调整... 方法二:用查找替换功能.先把这列复制两列,然后以列为单位去查找,查找*|,替换,则可得到|后面的字符,查找|*替换,则可得到|前面的字符

EXCEL怎么提取单元格内某字符后面的所有文字: 假设 ...房顶上...这个在a1单元格,现在在a2单元格提取, 在a2单元格输入下列公式: =right(a1,len(a1)-find("房",a1)+1)

在EXCEL表格里,怎么提取某一单元格中的一部分文字 - : 用mid(),比如:从单元格a1(内容为“在excel表格里”)提取“excel”,可以用公式:=mid(a1,2,5),表示在a1中,以第2个字符开始的5个字符组成的字符串.

excel中提取单元格内指定最后一个符号前的内容 - : 假设字符数不超过100个,用:=LEFT(A1,LOOKUP(1,0/(MID(A1,ROW($1:$100),1)="#"),ROW($1:$100))-1)

excel中如何提取某个字符前面、后面的字符,长度不一、每个单元格都有这个字符: 前面的,=LEFT(A1,FIND(”@”,A1)-1),@就是那个字符.后面的,=MID(A1,FIND(”@”,A1)+1,99)

EXCEL 单元格中有两个字符,如何提取其中一个字符后面的内容: 如果是提取最后的数字,可用下面公式:=LOOKUP(9^9,--RIGHT(A1,ROW(1:99)))也可用下面公式:=--MID(A1,FIND("x",SUBSTITUTE(A1,"x","",1))+2,99)数字99可以换成适当的数,如12.如果提取文本,可用第二个公式,将前面的“--”去掉.

如何用最简单的公式截取Excel单元格内最后一个空字符后面的所有信息. - : =TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",100),LEN(A1)-LEN(SUBSTITUTE(A1," ",))),100))

觉得有用点个赞吧

3. excel识别特定字符个数的方法

按照如下步骤即可在excel中筛选出单元格的字符长度(汉字字数)大于10的行,并使字体变成红色:

1、首先在excel中新建一个不同内容的工作表。

2、选中文本内容,在开始工具栏中点击条件格式,再选择新建规则。

3、然后在弹出来的对话框中点击使用公式确定要设置格式的单元格,再在下方的文本框中输入"= LEN(A1)>10",然后点击格式。

4、在弹出来的对话框中点击字体,点击红色,再点击两次确定即可。

5、点击确定后,excel表中的字符长度(汉字字数)大于10的行,字体也变成红色了

4. excel显示字符串个数

1、首先在excel表格中输入一组数据,需要在其中计算含有“**”符号的个数。

2、点击空白单元格选择“fx”中的COUNTIF函数。

3、对应的公式如下:=COUNTIF(A:A,"**"),统计在A列中含有“**”的总数。

5. excel中识别字符串中的几个数

从这个字符串中取出来,还是在一列中选中所有包含此数字的行? 如果是取出来用:=MID(A1,5,7) A1要取字符串的单元格位置,5从第几位取,7取多少位的字符串

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
用户名: 验证码:点击我更换图片