Table of contents
每当你在工作表中处理大范围的数据时,部分匹配或模糊匹配是快速找到匹配对象的有效方法。 此外,如果你想执行部分匹配字符串,最直接的解决方案是使用 野生动物 此外,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中使用 八 因此,希望这篇文章在你遇到问题时对你有用。 此外,如果你有任何困惑,欢迎分享你的想法。