Страницы: 1
RSS
Извлечение уникальных значений из динамического диапазона.
 
Всем доброго времени суток!

Появилась необходимость в извлечении уникальных значений из динамического диапазона. Поиском по форуму ничего подходящего не нашел.
Просьба к знатокам: помогите, пожалуйста! Рассматриваю только варианты с формулами.
Пример во вложенном файлике. Там формула как надо не работает.
Заранее спасибо всем откликнувшимся!
Изменено: ran-nn - 22.12.2015 11:01:00
 
Цитата
2.2. Опишите максимально подробно вашу задачу и желаемый результат. Желательно уточнить вашу версию Excel.
---
=ЕСЛИОШИБКА(ИНДЕКС($B:$B;НАИМЕНЬШИЙ(ЕСЛИ(ПОИСКПОЗ($B$4:$B$18;$B:$B;0)=СТРОКА($A$4:$A$18);СТРОКА($A$4:$A$18);"");СТРОКА($A1)));"")
Изменено: JayBhagavan - 22.12.2015 11:05:31

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
JayBhagavan написал:
Цитата2.2. Опишите максимально подробно вашу задачу и желаемый результат. Желательно уточнить вашу версию Excel.---
Версия Excel 2010. Задача - иметь динамический список уникальных значений из указанного столбца таблицы.
 
Цитата
JayBhagavan написал:
=ЕСЛИОШИБКА(ИНДЕКС($B:$B;НАИМЕНЬШИЙ(ЕСЛИ(ПОИСКПОЗ($B$4:$B$18;$B:$B;0)=СТРОКА($A$4:$A$18);СТРОКА($A$4:$A$18);"");СТРОКА($A1)));"")
Формула работает! Спасибо! Буду тестить.
 
Не массивная и короче:
=ЕСЛИОШИБКА(ИНДЕКС($B:$B;АГРЕГАТ(15;6;СТРОКА($A$4:$A$18)/(ПОИСКПОЗ($B$4:$B$18;$B:$B;0)=СТРОКА($A$4:$A$18));СТРОКА($A1)));"")

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
JayBhagavan написал:
=ЕСЛИОШИБКА(ИНДЕКС($B:$B;АГРЕГАТ(15;6;СТРОКА($A$4:$A$18)/(ПОИСКПОЗ($B$4:$B$18;$B:$B;0)=СТРОКА($A$4:$A$18));СТРОКА($A1)));"")
Спасибо! Тоже работает.
 
что за функция Агрегат? в 2007 что-то не нашел
 
Цитата
Sparkof написал:
что за функция Агрегат? в 2007 что-то не нашел
В 2010 м справка рассказывает следующее:

АГРЕГАТ (функция АГРЕГАТ)

Возвращает агрегатный результат вычислений по списку или базе данных.
Функция АГРЕГАТ позволяет обойти ограничение условного форматирования.  Гистограммы, наборы значков и цветовые шкалы не отображается, если в диапазоне  есть ошибки. Это связано с тем, что функции МИН, МАКС и ПРОЦЕНТИЛЬ не  вычисляются, если в диапазоне вычисления есть ошибка. Функции НАИБОЛЬШИЙ,  НАИМЕНЬШИЙ и СТАНДОТКЛОНВ влияют на работу некоторых правил условного  форматирования по тем же причинам. Функция АГРЕГАТ позволяет использовать все  эти функции, поскольку ошибки в этом случае пропускаются. Кроме того, с помощью  функции АГРЕГАТ можно применять различные агрегатные функции к списку или базе  данных с возможностью пропускать скрытые строки и значения ошибок.

Ссылочная форма
АГРЕГАТ(номер_функции;параметры;ссылка1; [ссылка2]; …)

Форма массива
AGGREGATE(function_num, options, array, [k])
Изменено: ran-nn - 22.12.2015 15:12:38
 
Sparkof, она доступна с 2010.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
Страницы: 1
Наверх