Excel 自定义实现Contains函数

Excel 自定义实现Contains函数,在Excel中,我们经常需要检查一个单元格是否包含一个特定的值。但除了非空单元格检查外,没有任何默认的内置函数用于检查单元格是否包含一个值或数字、特定文本或任何其他值。

本文介绍了三种方法实现Contains功能,检查单元格中是否包含指定文本。

我们先简单介绍一下SEARCHISNUMBER函数。

SEARCH函数

Excel中内置的SEARCH函数返回指定字符串中子串的位置。

语法:

=SEARCH(find_text, within_text, [start_num])

这个函数返回 find_textwithin_text 中的第一个字符的位置。

FIND函数不同,SEARCH函数不允许使用通配符,而且不区分大小写。

参数说明:

  • find_text(必选项)—该参数表示要查找的文本。
  • within_text(必选项)—该参数表示被搜索的文本。
  • start_num(可选项)—该参数表示要搜索的文本中的起始位置,默认值为1。

返回值:

这个函数返回子字符串的位置。

ISNumber函数

Excel中内置的ISNUMBER函数,用于判断一个单元格中是否包含指定的数字,将返回一个布尔值。

如果不包含相同的数字,则返回FALSE。

你可以使用 ISNUMBER 来检查一个单元格是否包含一个数字,或者用于判断另一个函数的输出是否是一个数字。

语法:

=ISNUMBER(value)

参数说明:

Value (必选项)—该参数表示要检查的指定值。

返回值:

如果单元格包含指定的数字,这个函数将返回一个布尔值TRUE。

如果不包含相同的数字,则返回FALSE。

在Excel中实现CONTAINS函数

下面给出了一个数据,在Substring列中我们给出了子字符串来,Contains列检查它们是否包含在主字符串中。

Excel 自定义实现Contains函数

通过SEARCH和ISNUMBER实现CONTAINS函数

实现步骤:

  1. 首先使用 SEARCH 函数查看文本是否包含子字符串

    公式:=SEARCH (B2, A2)

    Excel 自定义实现Contains函数

    说明:上面的函数将返回子字符串Sea在主字符串中的位置,以39作为输出。

  2. ISNUMBER函数合并到上述公式中

    公式:ISNUMBER(SEARCH(B2,A2))

    Excel 自定义实现Contains函数

    说明:由于单元格A2包含字符串Sea,因此SEARCH函数将返回一个数字。又因为单元格C2包含数字,所以最终返回TRUE,表明主字符串中包含子字符串。

  3. 使用矩形框最右侧的+选项将公式拖拽到单元格下方。将得到以下输出

    Excel 自定义实现Contains函数

还可以检查单元格是否包含特定的文本,而不显示子字符串,需要确保将子字符串括在双引号中。

通过FIND和和ISNUMBER实现大小写敏感的CONTAINS函数

如果希望公式区分大小写,可以用FIND函数替换SEARCH函数。

Find函数

Excel内置的 FIND函数返回指定子字符串在给定主字符串中的位置(以数字格式)。

如果找到文本,则返回数值位置;如果没有找到文本,函数返回一个#VALUE错误。

语法:

=FIND (find_text, within_text, [start_num])

参数:

  • find_text (必选项)—该参数表示要查找的文本。
  • within_text (必选项)—该参数表示被搜索的文本。
  • start_num (可选项)—该参数表示要搜索的文本中的起始位置。默认值为1。

返回值:

这个函数返回一个数字值,表示子字符串在主字符串中的位置。

使用FIND函数实现CONTAINS函数

实现步骤:

  1. 使用FIND 函数查看文本是否包含子字符串。

    公式为:=FIND (B2, A2)

    Excel 自定义实现Contains函数

    说明:上述函数将返回一个错误,因为Sea中的S在子字符串中是大写的,而在主字符串中是小写的。

  2. 将ISNUMBER函数合并到上述公式中。

    公式:=ISNUMBER(FIND(B2,A2))

    Excel 自定义实现Contains函数

    说明:FIND是大小写敏感的;因此子字符串Sea在主字符串匹配成功,并将返回#VALUE错误。因为单元格C2不包含任何数字,它将返回FALSE。

  3. 使用矩形框最右侧的+选项将公式拖拽到单元格下方。您将得到以下输出。

    Excel 自定义实现Contains函数

  4. 您还可以使用IF函数定制上述公式:如果excel匹配的子字符串与主字符串,它将返回Found;否则返回Not Found

    公式:=IF(ISNUMBER(FIND(B2,A2)),"Found", "Not Found")

Excel 自定义实现Contains函数

通过IF和COUNTIF实现CONTAINS函数

先简单介绍一下COUNTIF函数。

COUNTIF函数

Excel中的COUNTIF函数计算符合标准的单元格数量。

语法:

=COUNTIF(range, criteria)

参数:

range(必选项)—这个参数表示被查找的文本。

criteria(必选项)—该参数表示检查条件。

返回值:

这个函数返回满足检查标准的数量。

使用IF和COUNTIF实现CONTAINS函数

实现步骤:

  1. 首先使用COUNTIF 函数查看文本是否包含子字符串。

    公式:=(COUNTIF(A2,"*"&B2&"*"))

    Excel 自定义实现Contains函数

    说明:上述函数将简化为=(COUNTIF(A2,"*Sea*")。公式(*)中的星号匹配指定文本中的零或多个字符。如果发现子字符串,则返回计数。因为在我们的文本中,Sea只出现一次,所以它将返回1。

  2. 我们将在上面的公式中加入IF函数。

    公式:=IF(COUNTIF(A2,"*"&B2&"*"),"Found", "Not Found")

    Excel 自定义实现Contains函数

    说明:COUNTIF会忽略大小写,因此在上述例子中会返回TRUE。

  3. 使用矩形框最右侧的+选项将公式拖拽到单元格下方。您将得到以下输出。

    Excel 自定义实现Contains函数

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程