Как создать тепловую карту из двухбуквенных комбинаций в списке слов - PullRequest
0 голосов
/ 22 апреля 2019

Мне дали список из 40000 или около того 8-буквенных слов и что бы проанализировать частоту двухбуквенных комбинаций в этих словах.Подобно this .

Я использовал функцию COUNTIF очень некрасивым и неэффективным способом и считаю, что должен быть лучший способ выполнить эту задачу.

ДляПример ниже - то, что я использовал бы для частоты ED, где B2: B40162 содержит список слов.

=COUNTIF(B2:B40162, "??????ed")+COUNTIF(B2:B40162, "?????ed?")+COUNTIF(B2:B40162, "????ed??")+COUNTIF(B2:B40162, "???ed???")+COUNTIF(B2:B40162, "??ed????")+COUNTIF(B2:B40162, "?ed?????")+COUNTIF(B2:B40162, "ed??????")

Я уверен, что есть не только лучший метод, но также и метод, который позволяет мневыделять ячейки вместо того, чтобы вручную вводить комбинацию букв 26² раз.

1 Ответ

2 голосов
/ 22 апреля 2019

Предполагается, что ваша Сетка начинается в C1 (поскольку ваш список в B)

=COUNTIFS($B:$B,"*" & D$1 & $C2 & "*")

Поместите это в D2 и копируйте вверх и вниз.

Вышеуказанное будет учитываться в каждом матче только один раз за ячейку. Например, EDITED будет засчитан только один раз для ED, если это не сработает, тогда вам нужно будет добавить множество COUNTIF (), используя модель, с которой вы начали.

=COUNTIF($B:$B, "??????" & D$1 & $C2 )+COUNTIF($B:$B, "?????" & D$1 & $C2 & "?")+COUNTIF($B:$B, "????" & D$1 & $C2 & "??")+COUNTIF($B:$B, "???" & D$1 & $C2 & "???")+COUNTIF($B:$B, "??" & D$1 & $C2 & "????")+COUNTIF($B:$B, "?" & D$1 & $C2 & "?????")+COUNTIF($B:$B, D$1 & $C2 & "??????")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...