Страницы: 1
RSS
Подсчет уникальных значений по формуле
 
Подскажите можно ли сделать расчет уникальных значений по формуле без использования макросов. Обычно уникальные значения можно найти, сделав из списка сводную таблицу(Пример), дальше сделать формулу СЧЕТЗ. Но хотелось бы это сделать одной формулой.
«Всё гениальное просто» перефразировка афоризма Леонардо да Винчи
 
файл не открывал
вот пример ФМ
=ЕСЛИОШИБКА(ИНДЕКС(Город;НАИМЕНЬШИЙ(ЕСЛИ(ПОИСКПОЗ(Город;Город;0)+1=СТРОКА(Город);СТРОКА(Город);"Ж");СТРОКА()-1));"")
у меня простая версия Экселя, в ней нет кнопки "Прочитать мысли и сгенерировать файл пример"
 
смотря что нужно, если количество вхождений для 1 в вашем примере ( на выходе хотим получить 9), то
Код
=СЧЁТЕСЛИ(A2:A29;1)
а если хотим посчитать сколько всего разных значений в диапазоне (хотим получить 4), то
Код
=СУММПРОИЗВ(1/СЧЁТЕСЛИ(A2:A29;A2:A29))
Помогли? отпишись, а то мы же волнуемся )))
 
Спасибо guzen_pilot то что надо :)
«Всё гениальное просто» перефразировка афоризма Леонардо да Винчи
 
guzen_pilot подскажите формула =СУММПРОИЗВ(1/СЧЁТЕСЛИ(A2:A29;A2:A29)) действует с небольшим диапазоном? У меня 11934 строки. Формула показывает"0".
«Всё гениальное просто» перефразировка афоризма Леонардо да Винчи
 
Наверное, не ввели как формулу массива. Три клавиши.
 
Формула посчитала, но прошло несколько минут. судя по всему большие массивы считаются очень долго.  
«Всё гениальное просто» перефразировка афоризма Леонардо да Винчи
 
vikttur, это не формула массива, несмотря на то, что она обрабатывает массив, точнее в данном случае не обязательно вводить как формулу массива, так как на выходе у нас одно значение
Demonik, формула очень "тяжелая" - при использовании большого диапазона ее подсчет займет достаточно времени, а такой пересчет будет происходить каждый раз, как изменятся влияющие ячейки, с этим нужно работать, и тут все зависит от того насколько часто нужно это число и насколько важна его точность (допустим обновлять его реже)
Помогли? отпишись, а то мы же волнуемся )))
 
Цитата
guzen_pilot написал: vikttur, это не формула массива
Ну да. Не досмотрел. Обычно применял с СУММ, отсюда и утверждение
Цитата
в данном случае не обязательно вводить как формулу массива, так как на выходе у нас одно значение
Немного не так. Внутри - массив, но с СУММ нужно вводить как формулу массива. Применение СУММПРОИЗВ в данном случае позволяет работать формуле без массивного ввода.
 
М-да формула действительно тяжелая. Проще делать сводную и дальше делать подсчет значений. Времени на эту процедуру уходит меньше.
«Всё гениальное просто» перефразировка афоризма Леонардо да Винчи
 
Попробуйте уникальность определять в отдельном столбце:
=--(ПОИСКПОЗ(A2;A$2:A29;)=СТРОКА(A1))
Счет по столбцу.

Вариант: на копии данных применить инструмент Удалить_дубликаты и посчитать значения
 
vikttur, правильно написал, для большого списка лучше выделить дополнительный столбик и в нем найти уникальные данные, а потом их посчитать, будет эффективнее, а всякие сводные и похожее лично я избегаю
Помогли? отпишись, а то мы же волнуемся )))
 
Это понятно если выделить уникальные можно даже не заморачиваться. Просто счетз(). В моем случае файл отчета сортировать по уникальности нельзя.
«Всё гениальное просто» перефразировка афоризма Леонардо да Винчи
 
Цитата
В моем случае файл отчета сортировать по уникальности нельзя
Это в каком смысле?
Помогли? отпишись, а то мы же волнуемся )))
 
Помогите сделать следующую формулу: есть таблица в повторяющимися значениями, мне нужно чтобы в другом столбце напротив каждого значения стояло значение 1-уникальное, 0-повторяющееся, т.е. если имя встречается 2 раза, то напротив первого значения этого имени должно быть 1, напротив повтора 0.
 
Вопрос не по теме. Создайте отдельную тему с названием, отражающим суть задачи
Страницы: 1
Наверх