从另一个单元格的文本段落中出现单词的实例数

问题描述 投票:0回答:1

我想计算在文本中使用名称/关键字的次数

Page    Contain check
Page 1  sfdsd
Page 2  This is Service 1 and Service 2
Page 3  sfdsd
Page 4  fsdf
Page 5  This is Service 1 
Page 6  Service 2 is on sale
Page 7  sdf
Page 8  Service 2 is good

我尝试使用countif公式= countif(A:A,F:F),但未给出结果

=countif(A:A,F:F)

预期结果如下

Names      Expected Result
Service 1   2
Service 2   3
Service 3   0

“名称可以在一个单元格中计算两次。

e.g. 'Service 1' is featured, please check more features of 'Service1' below"

因此在这种情况下,服务1被计算2次

excel excel-formula excel-2010 excel-2007
1个回答
1
投票

假设您具有以下命名范围:

  • Contain_check是包含名称的字符串列表

假定名称在A2:A4范围内列出,您可以在单元格B2中使用以下公式来计算名称的出现并将其向下拖动以应用于:

=SUMPRODUCT(LEN(Contain_check)-LEN(SUBSTITUTE(Contain_check,A2,"")))/LEN(A2)

替换A2以适合您的情况。

Demo

逻辑是使用SUBSTITUTE函数从字符串中删除目标名称,使用LEN函数比较在删除目标名称之前和之后的字符串长度,将差值除以名称将为您提供每个字符串中目标名称的“计数”,最后使用SUMPRODUCT函数来累加计数。

**请注意,在您的示例'Service 1' is featured, please check more features of 'Service1' below"中,Service 1之间有一个空格,而Service1之间没有空格,因此从技术上讲,它们是两个不同的名称,并且每个名称仅返回一个计数,但没有2。请说明您是否要将Service 1Service1视为相同的名称?

© www.soinside.com 2019 - 2024. All rights reserved.