считать случаи вхождения слова из абзацев текста в другой ячейке - PullRequest
0 голосов
/ 09 ноября 2019

Я хочу посчитать, сколько раз имя / ключевое слово использовалось в тексте

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)

Ожидаемый результат: followx

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 раза

1 Ответ

2 голосов
/ 09 ноября 2019

Предположим, у вас есть следующий именованный диапазон:

  • Contain_check - список строк, содержащих имена

Предположим, что именаперечисленные в диапазоне A2:A4, вы можете использовать следующую формулу в ячейке B2, чтобы подсчитать вхождение имени и перетащить его вниз, чтобы применить его к:

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

Заменить A2 в соответствии с вашим случаем.

Demo

Логика заключается в использовании функции SUBSTITUTE для удаления целевого имени из строк, используйте * 1025Функция * LEN для сравнения длины строки до и после удаления целевого имени, деления разницы на длину имени даст вам «количество» целевого имени из каждой строки и, наконец, использование SUMPRODUCT функция для суммирования.

* Обратите внимание, в вашем примере 'Service 1' is featured, please check more features of 'Service1' below", Service 1 имеет пробел между ними, в то время как Service1 не имеет пробелов между ними, так что технически онидва разных имени и это будет только ретуОдин счет для каждого из них, но не 2. Пожалуйста, уточните, если вы хотите трактовать Service 1 и Service1 как одно и то же имя?

...