中的部分匹配在本文中,我们将学习如何在Excel中提取值数组中的所有部分匹配项。

例如,我们有一个很大的值数组,我们需要提取所有与字符串匹配的值。我们将结合使用IF函数,ISNUMBER函数和SEARCH函数。让我们对这些功能有所了解。

IF函数用于逻辑测试,并根据测试结果返回值。

语法:

= IF (

logical_test , [value_if_true] , [value_if_false] )

Excel的ISNUMBER函数是一个布尔函数,如果提供的值分别是数字或非数字,则该函数将返回TRUE或FALSE。

语法

=

ISNUMBER

( value )

Excel中的SEARCH函数返回字符串中子字符串或search_text的第一个字符的位置,也可以将其输入其他函数。 SEARCH函数不区分大小写。

语法:

= SEARCH (

find_text , within_text , [start_num] )

find_text:在inner_text中找到的文本。

inside_text:在inside_text中找到的find_text。

[start_num]:开始的字符位置。默认值为1。现在,我们将使用上述函数构造一个公式。使用公式:

公式:

说明:

= IF (

ISNUMBER

( SEARCH (

string , cell ) ) , cell , “” )

  • SEARCH函数在单元格值中查找字符串,如果找到则返回字符串在单元格值中的位置,否则返回#VALUE!错误。

  • ISNUMBER函数检查SEARCH函数是否返回数字。

如果返回值是True,则ISNUMBER函数返回TRUE,而#VALUE返回FALSE!错误。

  • 如果ISNUMBER函数返回TRUE,则IF函数返回单元格值;如果ISNUMBER函数返回FALSE,则IF函数返回空单元格。让我们以示例的方式来了解此函数。

在这里,我们有一个值列表和一个字符串值(T恤)。

我们需要在“匹配项”列中找到匹配项列表。使用以下公式提取字符串(T恤)的所有部分匹配项。

Partial matches in an array 1

使用公式:

说明:

= IF ( ISNUMBER ( SEARCH ( string , A2 ) ), A2 , “” )

  • SEARCH函数在单元格值中查找字符串,并返回8(即字符串(T恤)在单元格值(紫色T恤)中的位置)。

  • ISNUMBER函数检查值8是否为数字。 ISNUMBER函数返回TRUE。

  • IF函数返回value_if_True,它是单元格值(紫色T恤)。

此处,单元格值作为单元格参考值给出。使用Ctrl + D快捷键或将Excel中的下拉选项将公式复制到其余单元格中。

Partial matches in an array 2

如您所见,我们使用公式获得了所有值。现在我们需要匹配项列表。因此,我们将过滤结果。请按照以下步骤过滤结果。

Partial matches in an array 3

。使用Ctrl + Shift + L *选项应用filter。右键单击“匹配”字段上的箭头键。

。取消勾选(空白)选项,然后单击确定。