如何在Excel中进行字符串的部分匹配(8种简单方法)

  • Share This
Hugh West

每当你在工作表中处理大范围的数据时,部分匹配或模糊匹配是快速找到匹配对象的有效方法。 此外,如果你想执行部分匹配字符串,最直接的解决方案是使用 野生动物 此外,Excel有许多选项,如 VLOOKUP , XLOOKUP , 索引 匹配 ,结合 基金会 今天,我们将学习如何通过其他函数来完成这一任务。 执行部分匹配字符串 在Excel中。

下载实践工作手册

下载这个练习表,在阅读本文时练习一下这个任务。

部分匹配字符串.xlsx

在Excel中执行部分匹配字符串的8种方法

实际上。 部分匹配字符串 在Excel中,可以通过使用单个函数或同时使用多个函数来实现。 在这篇文章中,我们将学习 8种不同的方法 下面,我们将以详细的步骤来演示这些方法。

1.采用IF & OR语句来执行字符串的部分匹配

的"。 基金会 "函数不支持 通配符 然而,结合 基金会 与其他函数一起可用于执行部分匹配字符串。 现在,我们来学习一下。

在这里,在下面的例子中,我们有一个数据表,其中一些候选人的名字是在 "姓名" 现在,我们需要识别包含在列中给出的文本字符串之一的名称 2 3 这意味着我们需要找出包括字母 "A "的名字。 "A" "L" .

步骤。

  • 首先,在 "状态" 列在单元格中 "E5" ,应用 如果,或者 公式。

基本上,这个公式的格式是。

=IF(OR(ISNUMBER(SEARCH(text,cell)),ISNUMBER(SEARCH(text,cell)), "value_if_true", "value_if_false")

现在,将这些值插入公式中。 因此,部分匹配的最终公式是:。

=if(or(isnumber(search(c5,b5)),isnumber(search(d5,b5))), "yes", "no")

公式分解

  • 在这里,文本是 C5 (A), D5 (L) 该公式将确保是否 C5 D5 是部分匹配字符串。
  • 那么,该细胞是 B5 (Jonathan) .
  • 价值_如果_真实 "是" .
  • 价值_如果是假的 "不" .
  • 然后,按 进入。 而该公式将确定部分匹配字符串。

  • 现在将这个公式应用到其余的单元格中,得到最终结果。 或者你可以将 填充手柄 图标到 自动填表 其他单元格中的相应数据。

最后,你会得到所有的部分匹配。

2.使用IF、ISNUMBER和SEARCH函数进行字符串的部分匹配

同样,我们可以找出包含以下内容的结果 部分匹配字符串 通过使用 基金会。 身份证号码 ,以及 搜索 在Excel中的函数。

在这里,考虑一个包含列的数据集 "姓名" , "匹配字符串" ,以及 "状态" 我们需要确定包含以下内容的名称。 部分匹配字符串 栏目中的 "匹配字符串" .

  • 现在,应用公式中的 IF, ISNUMBER ,以及 搜索 中的功能。 "状态" 列在单元格中 D5 .

这里,格式是。

=IF(ISNUMBER(SEARCH("text", cell)), value_if_true, value_if_false)

  • 因此,你应该插入这些值。 部分匹配字符串的最终公式是
=if(isnumber(search(c5,b5)), "yes", "not found")

  • 然后,按 进入 .

最后,我们的结果就实现了。

公式分解

  • 在这里,文本是 C5 (A) 该公式将确保是否 C5 是指 部分匹配字符串 或不。
  • 那么,该细胞是 B5 (Jonathan) .
  • 价值_如果_真实 "是" .
  • 价值_如果是假的 "未找到" .
  • 最后,对该列中的所有单元格应用这个公式,以找出所有含有 部分匹配字符串 .

3.使用VLOOKUP函数进行字符串的部分匹配

在这里,在本节中,我们现在将使用 VLOOKUP 函数来执行一个 部分匹配 的字符串。

现在,让我们考虑一个表格,其中给出了一些候选人的名字和他们的等级。

  • 首先,复制列头并将其粘贴到工作表中的某个地方。 我们将在那里执行任务。

  • 然后,应用 VLOOKUP 函数中的 F5 该公式为
=VLOOKUP($E$5& "*",$B$5:$C$10,2,FALSE)

公式分解

  • 首先。 查询_价值 $E$5& "*" 在这里,我们使用 星号 (*) 作为一个通配符,可以匹配 或更多 文本 弦乐。
  • 其次。 表_数组 $B$5:$C$10 .
  • 第三。 Col_index_num 2 .
  • 第四。 [range_lookup] 失败 因为我们要的是完全匹配的 .
  • 然后,按 进入 .

因此,该公式表现为 部分匹配字符串 .

  • 现在,应用同样的公式 2 或更多的次数来掌握这个功能。

最后,你会得到所有的部分匹配。

阅读更多。 如何在Excel中使用VLOOKUP进行部分匹配(4种方法)

4.结合XLOOKUP函数来进行部分匹配

ǞǞǞ XLOOKUP 身份证号码 也可以完成一个 部分匹配字符串 现在,让我们看看下面的例子。

在下面的例子中。 表。 在 首先 桌子上, 部分匹配字符串 现在,我们需要确定在 第二 表,其中包含了 部分匹配 字符串,然后返回与这些名字相关的等级。

  • 现在,在细胞中 F5 ,应用该公式。

这里,这个公式的格式是。

=XLOOKUP(lookup_value,ISNUMBER(SEARCH(text,cell)), return_array)

  • 所以,你应该在公式中插入这些值。
=xlookup(true,isnumber(search($b$5:$b$10,e5)), $c$5:$c$10)

  • 然后,按 进入 .

最后,该公式成功地将等级返回到含有 部分匹配 弦乐。

公式分解

  • 首先。 查找_值 "TRUE" .
  • 其次,该文本是 $B$5:$B$10 .
  • 第三,该细胞是 E5 ( 亨利-乔纳森) 而该公式将返回的等级为 亨利-乔纳森。
  • 第四。 return_array C$5:$10 .
  • 然后,对所有的细胞做同样的处理。

因此,你会看到所有的比赛。

5.使用INDEX函数与MATCH函数进行字符串的部分匹配

在这里,我们可以返回文本,它包含了 部分匹配字符串。 使用 索引 匹配 在Excel中的函数。

现在,请看下面的例子,其中 表。 在 首先 桌子上, "姓名" "等级" 在这篇文章中,给出了一些候选人的情况。 第二 表,一个 部分匹配字符串 在这个时候,我们需要从以下几个方面确定名字 首先 表,其中包含了 部分匹配 弦乐。

  • 现在,在列中 F5 ,应用 索引 匹配 计算公式为
=INDEX($B$5:$B$10,MATCH(E5& "*",$B$5:$B$10,0))

  • 然后,按 进入 .

因此,我们得到了一个名字 "罗本" 其中包含了 部分匹配字符串(Rob)。

公式分解

  • 首先,该阵列是 $B$5:$B$10 .
  • 其次。 查找_值 E5& "*" 在这里,我们使用 星号 (*) 作为一个 通配符 匹配的 或多个文本字符串。
  • 第三。 lookup_array $B$5:$B$10 .
  • 第四。 [match_type] 精确(0)。

此外,在 星号(*) 可以在单元格的两边使用,如果你在单元格的两边都有字符的话。 部分匹配字符串 .考虑,我们有一个 部分匹配字符串 "ni" 它有 通配符 两边的字符,现在我们将使用这个 星号(*) 在细胞的两边。

  • 因此,为了让你更好地理解,请使用以下公式在 F6 细胞。
=INDEX($B$5:$B$10,MATCH("*"&E6&"*",$B$5:$B$10,0))

  • 然后,按 进入 来获得结果。

6.组合函数来执行两列的部分匹配字符串

你可以雇用一个 组合 的功能,如 基金会 功能。 和函数 ,ISNUMBER 功能,以及 搜索 函数来找出一个 部分匹配字符串 此外,你还可以根据自己的喜好,为不同类型的结果修改这些函数。 现在,请看下面的例子。 在这里我们有 因此,基于这两个标准,我们必须提取部分匹配字符串。

步骤。

  • 首先,你必须选择一个新的单元格 C5 你想保持状态的地方。
  • 第二,你应该使用下面的公式,在 C5 细胞。
=IF(AND(ISNUMBER(SEARCH($E$6, B5)), ISNUMBER(SEARCH($F$6, B5)), "发现", "")

  • 最后,按 进入 来获得结果。

公式分解

  • 在这里。 搜索($f$6, b5) 将搜索是否有任何字符串 广告 B5 细胞。
    • 输出:#VALUE!。
  • 然后,在 身份证号码 函数将检查上述输出是否是一个数字。
    • 输出:FALSE。
  • 同样地。 isnumber(search($e$6, b5)) 将做同样的操作。 这里, 搜索 函数将找到 9 B5 细胞。
    • 输出:FALSE。
  • 在这之后, 函数将检查这两个逻辑是否是 是的。
    • 输出:FALSE。
  • 最后是 基金会 函数将返回" 发现" 如果前面的逻辑都变成 是的。 否则,它将返回一个 无效细胞。
    • 输出。 这里,输出是 空白/空虚 因为没有匹配的字符串值的 B5 细胞。
  • 现在,拖动 填充手柄 图标到 自动填表 其他单元格中的相应数据。

最后,你将找到部分匹配的字符串。

7.应用数组公式寻找部分匹配的两列字符串

你可以用一个数组公式来应用 组合 的一些功能,如 基金会 功能。 COUNT功能 , 搜索 函数来找出一个 部分匹配字符串 此外,你还可以根据自己的喜好修改这些函数,以获得不同类型的结果。 现在,请看下面的例子。 实际上,我们有 因此,根据这两个标准,我们必须提取出 部分匹配字符串 .

步骤。

  • 首先,你必须选择一个新的单元格 C5 你想保持状态的地方。
  • 第二,你应该使用下面的公式,在 C5 细胞。
=IF(COUNT(SEARCH({"A", "12"}, B5))=2, "发现", "" )

  • 最后,按 进入 来获得结果。

公式分解

  • 在这里。 search({"a", "12″}, b5) 将搜索是否有任何字符串 A 和数字 12 B5 细胞。
    • 输出:{#VALUE!,7}。
  • 然后,在 COUNT 函数将从上述输出中计算出有效单元格。
    • 输出:1.
  • 最后是 基金会 函数将返回" 发现" 如果在 COUNT 函数返回 2. 否则,它将返回一个 无效细胞。
    • 输出。 这里,输出是 空白/空虚 因为没有匹配的字符串值的 B5 细胞。
  • 因此,拖动 填充手柄 图标到 自动填表 其他单元格中的相应数据。

最后,你将找到部分匹配的字符串。

如何在Excel中获取部分匹配字符串的位置

这里,最有趣的部分是,你可以只使用 匹配 函数来找出一个 部分匹配字符串 现在,请看下面的例子。 基本上,我们有标准。 因此,根据这个标准,我们必须提取出 部分匹配字符串 "有等级的名字" 列。

步骤。

  • 首先,你必须选择一个新的单元格 D9 你想保留结果的地方。
  • 其次,你应该使用下面的公式,在 D9 细胞。
=MATCH("*"&D6& "*", B5:B10, 0)

  • 最后,按 进入 来获得结果。

公式分解

  • 首先。 查找_值 "*"&D6& "*" 在这里,我们使用 星号 (*) 作为一个 通配符 匹配的 或多个文本字符串。
  • 其次。 lookup_array B5:B10 .
  • 第三。 [match_type] 精确(0)。

阅读更多。 如何使用INDEX和匹配进行部分匹配(2种方法)

需要记住的事情

✅在这里, XLOOKUP 函数只在 微软365版本 因此,仅有的用户在 Excel 365 可以使用这个功能。

✅那么, VLOOKUP 函数总是搜索来自 最左边的 此外,这个函数 "从来没有" 上的数据进行搜索。 左边 .

✅最后, 星号(*) 被作为一个 通配符 因此,将它用在两边的 部分匹配字符串 如果你在两边都需要通配符的话。

练习部分

现在,你可以自己练习所解释的方法。

总结

在这篇文章中,我们将讨论如何执行 部分匹配字符串 在Excel中使用 因此,希望这篇文章在你遇到问题时对你有用。 此外,如果你有任何困惑,欢迎分享你的想法。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.