У меня есть список ключевых слов и я хочу подсчитать количество подходящих ключевых слов в тексте каждой ячейки из файла EXCEL - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть 2 листа в файле Excel.один - это словарь, а второй - лист, содержащий столбец текста.Я хочу сопоставлять столбцы ключевых слов словаря один за другим, а затем количество соответствующих ключевых слов в каждой ячейке текстового столбца.

Я пробовал эти формулы: = (LEN (B2) -LEN (SUBSTITUTE (B2, Sheet1! A: A, ""))) / LEN (Sheet1! A: A) в этой B2 является первой (начальной) ячейкой текстового столбца, а Sheet1! A: A является словарным столбцом другого листа.но в результате я получаю ноль в результате

= (LEN (B2) -LEN (ЗАМЕНА (B2, Sheet1! A: A, ""))) / LEN (Sheet1! A: A)

Результат будет примерно так:

         Text                      number_of_keyword_match    | number_of_keyword_match using DIC col 2 |  ........
                                        using DIC col 1

1 any Text or sentence/sentences          e.g match "3"             
2                                                    7              
3                                                    0              
4                                                    15             
5    .................................................                                   
7 .....................................................
.......................................................
..................................continue up to 2815 rows....

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

Если ваш ввод текста выглядит следующим образом:

 |          A           |
-+----------------------+
1|apple apple beat beat |
2|apple beat beat carrot|
3|carrot apple apple    |

, а ваш словарь выглядит следующим образом:

 |   A   |   B   |
-+-------+-------+
1|apple  |beat   |
2|beat   |carrot |
3|       |       |

Эта формула даст вам счет на слово на ячейку текста

=(LEN(text!A1)-LEN(SUBSTITUTE(text!A1,dictionary!A1,"")))/LEN(dictionary!A1)

(В этом примере 2)

Если я правильно понимаю, ожидаемый результат будет дополнительными столбцами на листе text, где каждая ячейка содержит сумму подсчетов каждогослово в соответствующем столбце в dictionary, верно?Например:

 |          A           | B | C |
-+----------------------+---+---+
1|apple apple beat beat | 4 | 2 |
2|apple beat beat carrot| 3 | 3 |
3|carrot apple apple    | 2 | 1 |

Для этого можно использовать формулы массива , начиная с этой в ячейке B1:

=SUM(IFERROR((LEN(text!$A1)-LEN(SUBSTITUTE(text!$A1;dictionary!A:A;"")))/LEN(dictionary!A:A);0))

Но вместо нажатия Enter вставив его, нажмите Ctrl+Shift+Enter, чтобы запустить его как формулу массива.Затем перетащите эту формулу вниз и вправо, чтобы получить все нужные значения.

0 голосов
/ 05 февраля 2019

Я бы рассмотрел countif () в качестве примера:

=COUNTIF(Sheet2!A1:A10,Sheet1!A1)

, который предполагает, что ваш список начинается в ячейке A1 на листе 1, а ваш текст - в ячейке a1 на листе 2.

enter image description here

Чтобы перетащить формулу в том виде, в котором я ее показывал, без перемещения диапазона данных вам нужно:

=COUNTIF(Sheet2!A$1:A$10,Sheet1!A1)

, если вы поставите $ перед буквами, то столбцыне двигайся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...