如何在另一列的每一行中搜索字符串数组并获取 excel 中的计数

How to search for array of string in each row of another column and get the count in excel

我有一个 excel,其中有一个地址列和另一个包含查找字符串列表的查找列(列表):-

Address List
St Dunstans Street; Waterlooville; PO7 5YT; United Kingdom London
Simone Weil Avenue; Week; EX18 0DJ; United Kingdom Whitehill
Greyfriars Road; Carbrooke; IP25 8PW; United Kingdom Southampton
Terrick Rd; Elham; CT4 9GQ; United Kingdom Jameston
Earls Avenue; Whitehill; ME13 2QW; United Kingdom United Kingdom
Cheriton Rd; West Newton; HU11 7LB; United Kingdom
Marlborough Crescent; Southampton; SO15 4JL; United Kingdom
Baldock Street; Newton; ML12 6PZ; United Kingdom

我想搜索 Address 列中 List 中的所有字符串和 return 匹配的字符串数 我想要达到的目标:-

Address Count_Flag List
St Dunstans Street; Waterlooville; PO7 5YT; United Kingdom 1 London
Simone Weil Avenue; Week; EX18 0DJ; United Kingdom 1 Whitehill
Greyfriars Road; Carbrooke; IP25 8PW; United Kingdom 1 Southampton
Terrick Rd; Elham; CT4 9GQ; United Kingdom 1 Jameston
Earls Avenue; Whitehill; ME13 2QW; United Kingdom 2 United Kingdom
Cheriton Rd; West Newton; HU11 7LB; United Kingdom 1
Marlborough Crescent; Southampton; SO15 4JL; United Kingdom 2
Baldock Street; Newton; ML12 6PZ; United Kingdom 1

我试过这样的事情:

=--ISNUMBER(SEARCH(@$D:$D,A2))

您可以尝试将通配符与 COUNTIFS() 函数一起使用。

=COUNTIFS(A2:A9,"*"&C2&"*")

您可以使用:

B2中的公式:

=SUM(--ISNUMBER(FIND("; "&D:D&";","; "&A2&";")))

或者,如果您没有 ms365,则使用 SUMPRODUCT() 而不是 SUM()

请注意,串联的 semi-colons 用于防止误报匹配。向下拖动公式。

您可以简单地使用这个公式,如下图所示

单元格 B2 中使用的公式

=SUMPRODUCT(--ISNUMBER(SEARCH($D:$D,$A2)))

公式中各函数的分解:-

SEARCH($D:$D,$A2)

SEARCH 函数 return 是一个文本字符串在另一个文本字符串中的位置。搜索 returns within_text 中 find_text 的第一个字符的位置。与 FIND 不同,SEARCH 允许通配符,而不是 case-sensitive.

{#VALUE!;#VALUE!;#VALUE!;#VALUE!;45}

这就是 return 当你 select 并按 F9 时的位置

接下来,我们需要检查它是否是一个数字,所以我们使用下面的

ISNUMBER(SEARCH($D:$D,$A2))

And Returns TRUE 和 FALSE 的数组

{FALSE;FALSE;FALSE;FALSE;TRUE}

为了将其转换为 BOOLEAN VALUES,我们使用双重否定将 TRUE 或 FALSE 值强制转换为其数字等价物,1 和 0

--ISNUMBER(SEARCH($D:$D,$A2))

以上转换为1 & 0

{0;0;0;0;1}

现在我们可以简单地将整个包含在 SUMPRODUCT 中以获得计数