检查Excel中的单元格是否包含部分文本
有时,在我的工作中,我必须检查一个单元格或一系列单元格是否包含我正在查找的部分文本。
例如,假设我想检查单元格是否包含文本字符串“ABC”。 该单元格可能具有其他字符串或字符,但只要它具有我正在查找的字符串(即“ABC”),它就满足我的条件。
在本文中,我将向您展示几种方法来检查单元格是否包含部分文本或不使用一些简单的公式。 我还将向您展示如何突出显示包含部分文本字符串的单元格。
推荐:如何在Windows 10中设置Gmail
检查单元格是否包含部分文本匹配
下面,我有一个数据集,其中 A 列中有产品 ID,我想检查产品 ID 是否包含字符串“ABK”。
如果它包含该字符串,我希望在 B 列的相邻单元格中返回“是”,如果它不包含该字符串,我希望它返回“否”。
这是为我做到这一点的公式:
=IF(ISNUMBER(SEARCH("ABK",A2)),"Yes","No")
在单元格 B2 中输入此公式,然后将其复制到该列中的所有单元格,以获得 A 列中所有产品 ID 的结果。
现在,让我解释一下这个公式是如何运作的。
公式的 SEARCH 函数 (搜索(“ABK”,A2)) 在单元格 A2 中查找字符串“ABK”,如果找到,则返回找到该字符串的起始位置的数值。
在我们的公式(单元格 B2 中)中,公式的这一部分返回 1,因为它找到了产品 ID 开头的字符串。 如果找不到该字符串,它将返回#VALUE! 错误。
ISNUMBER(搜索(“ABK”,A2)) – 如果 SEARCH 函数的结果是数值,则公式的这部分返回 TRUE,否则返回 FALSE。
如果 ISNUMBER 公式返回 TRUE,则使用 IF 函数给出“是”;如果 ISNUMBER 公式返回 FALSE,则使用 IF 函数给出“否”。
注意:SEARCH 函数不区分大小写。 因此,它会将 ‘ABK’ 和 ‘abk’ 视为同一字符串。 如果您想进行区分大小写的查找,可以使用 FIND 函数而不是 SEARCH。
Also read: How to Count Cells that Contain Text Strings
检查单元格中文本开头的部分文本匹配
在上面的示例中,我想检查我正在查找的字符串是否存在于单元格中的任何位置。
但是,如果我想检查每个单元格开头是否存在字符串该怎么办?
这可以在公式中使用通配符来完成。
下面,我有一个数据集,其中 A 列中有产品 ID,我想检查产品 ID 是否以字符串“ABK”开头。
下面是我可以用来执行此操作的公式:
=IF(COUNTIF(A2,"ABK*"),"Yes","No")
在单元格 B2 中输入此公式,并将其复制到该列中的所有单元格。
现在,让我们了解这个公式是如何工作的。
上面的公式使用以下 COUNTIF 公式 (COUNTIF(A2,”ABK*”),在单元格 A2 中查找字符串“ABK*”。
星号
是 Excel 中的通配符,表示任意数量的字符。 因此,当我使用 ABK* 时,我会查找以 ABK 开头并且后面可以包含任意数量的字符的任何字符串。
如果 COUNTIF 函数发现单元格中的内容以 ABK 开头,则返回 1;如果不是,则返回 0。
如果 COUNTIF 函数的结果为 1,则 IF 函数给出“是”; 它返回“否”
Also read: How to Compare Text in Excel
注意:如果 A 列的单元格中有任何前导空格,此函数将给出错误的结果。 如果是这种情况,请首先删除这些前导空格,或者在公式中使用 TRIM(A2) 而不是 A2。
检查单元格文本末尾的部分文本匹配
如果您想检查单元格中文本末尾是否存在查找字符串,您可以使用通配符修改公式以轻松完成此操作。
用于检查单元格末尾是否包含部分文本的数据集
=IF(COUNTIF(A2,"*US"),"Yes","No")
这是为我做到这一点的公式:
用于检查单元格是否在结束公式处包含部分文本的数据集
在上面的公式中,我使用 *US 作为 COUNTIF 中的条件。
这将使 COUNTIF 函数检查单元格的内容,并且仅当它在单元格末尾找到字符串“US”时才返回 1。
使用星号
字符串“US”之前表示该单元格可以包含任何文本字符串,但只要以“US”结尾,COUNTIF 公式就会返回 1。
Also read: Find the Closest Match in Excel (using Formulas)
如果它不以字符串“US”结尾,则 COUNTIF 公式将返回 0。
如果 COUNTIF 函数的结果为 1,则 IF 函数给出“是”; 否则,它会给我们一个“不”
检查与 AND 条件的部分匹配
下面,我在 A 列中有产品 ID,我想检查单元格中的 ID 是否以“ABK”开头并以“US”结尾。
用于检查单元格是否包含部分文本 AND 条件的数据集
=IF(AND(COUNTIF(A2,"ABK*"),COUNTIF(A2,"*US")),"Yes","No")
因此,我需要同时检查同一单元格中的两个部分匹配,才能满足此条件。
在单元格 B-2 中输入此公式,然后将其应用到该列中的所有其他单元格。
用于检查单元格是否包含部分文本和条件公式的数据集
- 现在,让我解释一下这个公式是如何运作的。
- 我使用了 AND 函数来检查两个单独公式的结果:
COUNTIF(A2,”ABK*”) – 如果单元格内容以字符串“ABK”开头,则返回 1,否则返回 0
COUNTIF(A2,”*US”) – 如果单元格内容以字符串“US”结尾,则返回 1,否则返回 0
Also read: Lookup the Second, the Third, or the Nth Value in Excel
仅当两个 COUNTIF 函数都返回 1(这意味着字符串以“ABK”开头并以“US”结尾)时,AND 函数才会返回 TRUE。 否则,它会给我们一个 FALSE。
如果 AND 给出 TRUE,则 IF 函数在单元格中返回值“Yes”,否则返回“No”
检查与 OR 条件的部分匹配
下面,我在 A 列中设置了一些产品 ID 数据,我想检查单元格是否以字符串“ABK”开头或以“US”结尾。 如果满足这两个条件中的任何一个或两个条件,我希望在相邻的单元格中得到“是”。
=IF(OR(COUNTIF(A2,"ABK*"),COUNTIF(A2,"*US")),"Yes","No")
这是执行此操作的公式:
使用 OR 条件公式检查部分匹配
- 上面的公式检查单元格 A2 中的值是否以“ABK”开头或以“US”结尾。 如果其中一个条件为 True,则返回“Yes”; 否则,返回“No”。以下是该公式的逐步细分:
- =如果(…):IF 函数检查条件,如果条件为 true,则返回“Yes”;如果条件为 false,则返回“No”。
- 或者(…):OR函数用于检查两个条件,如果其中一个条件为真,则OR函数返回TRUE。
- COUNTIF(A2,“ABK*”)
- :这是 OR 函数内的第一个条件。 COUNTIF 函数检查单元格 A2 中的值是否以“ABK”开头。 星号
Also read: How to Extract a Substring in Excel (Using TEXT Formulas)
是代表任意数量字符的通配符。 因此,“ABK*”将匹配以“ABK”开头的任何内容,例如“ABK-879-US”、“ABK-616-ER”等。如果匹配,COUNTIF 函数将返回 1。
COUNTIF(A2, “*US”):这是 OR 函数内的第二个条件。 它检查单元格 A2 中的值是否以“US”结尾。 再次,星号
代表“US”之前的任意数量的字符。 因此,“*US”将匹配任何以“US”结尾的内容,例如“ABK-879-US”、“LDJ-124-US”等。如果匹配,COUNTIF 函数将返回 1。
“是”、“否”:这些是 IF 函数将返回的值。 如果任一条件为真(即 A2 以“ABK”开头或以“US”结尾),则公式返回“Yes”。 如果两个条件都不满足,则返回“否”。
在上面的所有示例中,我检查了单元格是否包含部分文本字符串,并在相邻列中得到了结果。
在本节中,我将向您展示如何使用条件格式来突出显示包含所需部分文本的所有单元格。
- 假设我正在使用下面的数据集,其中 A 列中有产品 ID,并且我想突出显示产品 ID 包含字符串 ABK 的所有单元格(它可以位于字符串中的任何位置)。
- 突出显示单元格是否包含部分文本数据集
- 以下是执行此操作的步骤:
- 单击“主页”选项卡。
- 单击条件格式选项。 单击条件格式选项
- 选择新规则选项
=ISNUMBER(SEARCH("ABK",A2))
- 选择选项 –
- 选择使用公式来确定要设置格式的单元格选项
- 单击格式按钮。 这将打开“设置单元格格式”对话框。
单击格式按钮
在填充选项卡中选择要用于突出显示单元格的颜色
单击“确定”。
上述步骤将在选定的单元格上应用条件格式,并且任何具有字符串“ABK”的单元格都将以指定的颜色突出显示。
带有部分文本的销售会突出显示
您可以根据您的条件修改公式。
注意:请记住,条件格式中的公式需要返回 TRUE 或 FALSE。 当满足条件且公式结果为 TRUE 时,它会突出显示单元格。
单击此处下载示例文件因此,您可以使用这些公式方法来检查单元格是否包含部分文本匹配。 我介绍了一些场景,您可以在单元格中的任意位置、开头或结尾检查单元格的部分文本匹配情况。我希望本 Excel 教程对您有所帮助。