乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > VBA 判断单元格是否包含字符 <em>EXCEL</em>-excel 包含特定字符,exce

VBA 判断单元格是否包含字符 <em>EXCEL</em>-excel 包含特定字符,exce

作者:乔山办公网日期:

返回目录:excel表格制作


主要操作步骤:用公式IF(ISNUMBER(FIND("A",A1)),"有","无"),即可。

具体操作步骤:

  1. 判断字符串中是否包含大写字母A,可用公式=IF(ISNUMBER(FIND("A",A1)),"有","无")。

  2. 下拉公式会发现,含有小写e79fa5e98193e58685e5aeb9339字母a的结果是无,该公式里的FIND函数提取的是指定的字符区分大小写。

  3. 如果要判断是不是包含字母A且不区分大小写,可用SEARCH函数代替FIND函数,公式=IF(ISNUMBER(SEARCH("A",A1)),"有","无")。

  4. 要想判断单元格中是否包含多个指定字符中的某一个,如判断单元格中是否包含“大”、“小”、“20”这三个字符中的一个,可用公式=IF(OR(ISNUMBER(FIND({"大";"小";"20"},A1))),"有","无")。

  5. 下拉公式会发现,只要包含这三个字符中的任意一个,结果都是有。

  6. 而要判断是否同时包含这三个字符,只要把公式中的OR改成AND即可,公式=IF(AND(ISNUMBER(FIND({"大";"小";"20"},A1))),"有","无")。

  7. 要判断包含这三个字符中的几个,可用公式=COUNT(FIND({"大";"小";"20"},A1))。

  8. 要判断单元格中是否包含字母A,且不论在字符串的什么位置,也不区分大小写,可用公式=IF(COUNTIF(A1,"*A*"),"有","无")。

  9. 如果要判断四个字符中是否以字母A开头,公式=IF(COUNTIF(A1,"A???"),"有","无")或=IF(COUNTIF(A1,"A*"),"有","无")。



举例说明,有两个单元格:a1:存放abc a2:为空白。设计一个vba程序,判定a1和a2是否为空白,并将结果放在b1(放a1的结果)和b2(放a2的结果

代码如下

Sub 判定()

Dim m_s As String

Dim m_t As Integer

Dim 结果 As String

Dim I As Integer

For I = 1 To 2

m_s = Cells(I, 1) '读取a列的值

m_t = Len(m_s)

If m_t > 0 Then

   结果 = "非空值"

Else

   结果 = "空值"

End If

Cells(I, 2) = 结果 '结果放到b列

Next

End Sub

执行代码后结果如图:


可以利用if和find函数

1)公式为:=IF(FIND("D",A1),"包含","不包含"),

2)解释:D为找的内容,A1为字符串所在单元格

3)截图:



Excel中,可以利用find函数来判断一个字符创中是否包含某一特定字符。

关于find函数:

函数 FIND 和 FINDB 用于在第二个文本串中定位第一个文本串,并返回第一个文本串的起始位置的值,该值从第二个文本串的第一个字符算起。

  • 这些函数可能并不适用于所有语言。

  • FIND 适用于使用单字节字符集 (SBCS) 的语言,而 FINDB 适用于使用双字节字符集 (DBCS) 的语言。 您的计算机上的默认语言设置对返回值的影响方式如下:

  • 无论默认语言设置如何,函数 FIND 始终将每个字符(不管是单字节还是双字节)按 1 计数。

  • 当启用支持 DBCS 的语言的编辑并将其设置为默认语言时,FINDB 会将每个双字节字符按 2 计数。 否则,FINDB 会将每个字符按 1 计数。

  • 支持 DBCS 的语言包括日语、中文(简体)、e799bee5baa6e4b893e5b19e339中文(繁体)以及朝鲜语。

    语法

    FIND(find_text, within_text, [start_num])

    FINDB(find_text, within_text, [start_num])

    FIND 和 FINDB 函数语法具有下列参数:

  • find_text    必需。 要查找的文本。

  • within_text    必需。 包含要查找文本的文本。

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

  • 备注

  • FIND 和 FINDB 区分大小写,并且不允许使用通配符。 如果您不希望执行区分大小写的搜索或使用通配符,则可以使用 SEARCH 和 SEARCHB 函数。

  • 如果 find_text 为空文本 (""),则 FIND 会匹配搜索字符串中的首字符(即编号为 start_num 或 1 的字符)。

  • Find_text 不能包含任何通配符。

  • 如果 within_text 中没有 find_text,则 FIND 和 FINDB 返回 错误值 #VALUE!。

  • 如果 start_num 不大于 0,则 FIND 和 FINDB 返回 错误值 #VALUE!。

  • 如果 start_num 大于 within_text 的长度,则 FIND 和 FINDB 返回 错误值 #VALUE!。

  • 可以使用 start_num 来跳过指定数目的字符。 以 FIND 为例,假设要处理文本字符串“AYF0093.YoungMensApparel”。 若要在文本字符串的说明部分中查找第一个“Y”的编号,请将 start_num 设置为 8,这样就不会搜索文本的序列号部分。 FIND 从第 8 个字符开始查找,在下一个字符处找到 find_text,然后返回其编号 9。 FIND 始终返回从 within_text 的起始位置计算的字符编号,如果 start_num 大于 1,则会对跳过的字符计数。

示例:

举例说明如下:

1.判断A列的字符串中是否包含B列字符:

2.输入公式如下:

公式解释:find函数用法=find(要查找的字符串,被查找的字符串,起始位置(可省略)),这里加了一个iferror函数,当查找不到时,捕获错误,并重新发挥值。

3.下拉填充,如果返回数字则说明包含,返回文本就是不包含。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网