Страницы: 1
RSS
Вывод наиболее часто встречаемого текстового значения
 
Добрый день!
Имеется столбец с вариантами повторяющихся текстовых значений, так же в столбце есть пустые строки. Необходимо в отдельную ячейку вывести значение самого часто повторяющегося варианта. Почитав форум, нашел формулу через массив:
Цитата
{=ИНДЕКС(M17:M116;МОДА(ПОИСКПОЗ(M17:M116;M17:M116;0)))}

Но данная формула выводит пустую ячейку, т.к. их в столбце больше всего. Прошу хотя бы дать намек как в данную формулу вставить проверку на пустую ячейку. Знаю что это делается через ЕПУСТО(), но я не пойму куда ее пристроить. Спасибо!

 
jubugeska, попробуйте так.
Код
=МОДА(ЕСЛИ(M17:M116=МОДА(M17:M116);"";M17:M116))
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
=МОДА(ЕСЛИ(M17:M116=МОДА(M17:M116);"";M17:M116))
Выводит #ЗНАЧ!
Не совсем понял как должна работать данная формула. Можно пожалуйста объяснить?
 
приложите пример
 
Цитата
adike написал:
приложите пример
Конечно, извиняюсь что сразу не приложил пример
 
Такой вариант
=ИНДЕКС(A:A;ПОИСКПОЗ(МОДА(ЕСЛИ(A3:A200<>"";СЧЁТЕСЛИ(A:A;A3:A200)));СЧЁТЕСЛИ(A:A;A1:A200);))
Формула массива. Вводится одновременным нажатием Ctrl+Shift+Enter
Скажи мне, кудесник, любимец ба’гов...
 
Цитата
_Boroda_ написал:
Такой вариант=ИНДЕКС(A:A;ПОИСКПОЗ(МОДА(ЕСЛИ(A3:A200<>"";СЧЁТЕСЛИ(A:A;A3:A200)));СЧЁТЕСЛИ(A:A;A1:A200))Формула массива. Вводится одновременным нажатием Ctrl+Shift+Enter
О господи, я уже почти 2 дня с этим борюсь. Это работает. Нереальное Вам спасибо!
Но как, я не понимаю. Что значат символы "<>" я как понимаю, это и есть проверка на пустоту. Я не встречал данный синтаксис просто, и думал что необходимо делать ЕПУСТО(). Непременно пойду штудировать инфо по данной формуле. Еще раз большое спасибо!
 
у вас там пусто только визуально напишите в В3 такую формулу =ЕПУСТО(A3) и посмотрите что вам скажет функция
Лень двигатель прогресса, доказано!!!
 
И  я не совсем понимаю, МОДА, функция же игнорирует текстовые значения. Какова её роль в формуле?
 
Цитата
jubugeska написал:
думал что необходимо делать ЕПУСТО()
ЕПУСТО проверяет именно пустоту ячейки, а не значение. Если в ячейке формула, которая вернула "", ЕПУСТО всё равно вернёт ЛОЖЬ, а <>"" — ИСТИНА.
 
Цитата
StoTisteg написал:
ЕПУСТО проверяет именно пустоту ячейки, а не значение
Спасибо! Учту информацию! Буду знать  :)  
 
Цитата
jubugeska написал:
Но как, я не понимаю.
Давайте по порядку:

1. СЧЁТЕСЛИ(A:A;A3:A200) считает, сколько раз значения из А3:А200 совпадают со значениями из А:А. По идее, нужно было написать СЧЁТЕСЛИ(A3:A200;A3:A200), но и так тоже работает (в первый аргумент СУММЕСЛИ можно писать целиком столбец, эта функция сама "отрубит" лишнее и получится СЧЁТЕСЛИ(A3:A102;A3:A200)). В итоге получаем массив, состоящий из количества вхождений значений диапазона А3:А200 в этот же диапазон

2. A3:A200<>"" - проверяем, не равны ли значения из А3:А200 пусто. Если не равны, то ИСТИНА, если равны, то ЛОЖЬ

3. ЕСЛИ(A3:A200<>"";СЧЁТЕСЛИ(A:A;A3:A200)) - если в п.2 ИСТИНА, то берем соответствующее значение из п.1, иначе - ЛОЖЬ (заметьте, что ЛОЖЬ - это текстовое значение, функция МОДА его игнорирует)

4. МОДА(ЕСЛИ(A3:A200<>"";СЧЁТЕСЛИ(A:A;A3:A200))) - из полученного в п.3 с помощью МОДА выбираем наиболее часто встречающееся число

5. ПОИСКПОЗ(МОДА(ЕСЛИ(A3:A200<>"";СЧЁТЕСЛИ(A:A;A3:A200)));СЧЁТЕСЛИ(A:A;A1:A200);) - это число из п.4 ищем в массиве А1:А200. Заметьте, что массив А1:А200 взят таким образом, чтобы в нем количество пустых ячеек было заведомо больше, чем максимальное количество повторов из п.4. Это сделано для того, чтобы не н получилась ситуация, когда количество пустых ячеек массива случайно оказалось бы равно количеству из п.4, тогда формула могла бы работать неверно

6.  ИНДЕКС(A:A;ПОИСКПОЗ(МОДА(ЕСЛИ(A3:A200<>"";СЧЁТЕСЛИ(A:A;A3:A200)));СЧЁТЕСЛИ(A:A;A1:A200);)) - из массива А:А вынимаем то по счету значение, которое нашли в п.5

* И да, "несоответствие" пишется вместе
Изменено: _Boroda_ - 06.09.2018 13:11:48
Скажи мне, кудесник, любимец ба’гов...
 
Цитата
_Boroda_ написал:
Давайте по порядку:
Достаточно исчерпывающая информация. Все разложено по полкам. На просторах интернета столь развернутого ответа не встречал! Большое спасибо!
Страницы: 1
Наверх