Как посчитать количество ячеек с одинаковым словом?

Автор itsi, 22 марта 2020, 15:11

0 Пользователи и 1 гость просматривают эту тему.

itsi

Всем привет!
Наверняка это не сложная задача, но я новичок в Libreoffice calc и не могу сообразить, поэтому буду благодарен за помощь.
Есть некоторое количество ключевых фраз по которым на сайт заходят люди. Фразы состоят из двух-трёх слов в основном. Одни слова повторяются чаще, другие реже. Задача в том, чтобы определить эту частоту и ранжировать слова по частоте встречаемости в разных фразах.
Я так понимаю, что сначала нужно каждое слово во фразе поместить в отдельную ячейку, и как-то потом настроить, чтобы автоматически всё это вычислить. Подскажите, пожалуйста, кто знает.

economist

А не лучше ли использовать готовые SEO-инструменты, которые и слова проранжируют, и словоформы (стемминг и лемматизацию) - сделают, и графики нарисуют? Ведь повторить все эти техники формулами и макросами Calc - не только мыслезатратно, но и просто невозможно. Т.е. оно, конечно, может представлять собой чисто спортивный интерес или для обучения алгоритмам. Но чтобы так убивать время - это слишком. Конечно, если это не 10 фраз по 2-3 слова. Тогда хватит =СЧЁТЕСЛИ(). Но ведь фраз не 10?   

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

itsi

Спасибо за ответ! Да, фраз, конечно, больше десяти. Я хочу проанализировать по каким словам люди находят меня и понять, какие мне стоит употреблять чаще, а какие лучше поменять. Не знал, что есть готовые инструменты для этого, хотя можно было предположить. Подскажите, пожалуйста, какие лучше подойдут для этой задачи? Я чуть погуглил, там сотни разных инструментов, и я потерялся в этом всём.

mikekaganski

Возьмите исходные текстовые данные. В текстовом редакторе замените все последовательности пробелов на абзацы (например, регулярное выражение \s+ на \n). Затем полученный массив "по слову на строку" вставьте в новый документ Calc как текст без форматирования (в ячейку A1 первого листа). Добавьте второй лист.

Вернитесь на первый лист, выделите эти данные и примените стандартный фильтр (без условий, но с исключением дубликатов и копированием результата на второй лист в ячейку A1). Теперь у Вас появится набор из всех уникальных слов. Справа от него используйте формулу =COUNTIF($Sheet1.A:A;A1) в ячейке B1. Растяните эту формулу вниз напротив всех уникальных слов.

И наконец отсортируйте список по столбцу B.
С уважением,
Михаил Каганский

itsi

Спасибо за помощь! Никогда бы не догадался до этого :)
По совету выше таки нашёл довольно простой онлайн-инструмент, позволяющий выполнить эту задачу. Ссылка, если ещё кому-то понадобится вдруг:
https://webscript.ru/cgi-bin/text/text.cgi