Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Подсчет количества уникальных значений по критерию - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Подсчет количества уникальных значений по критерию (Формулы/Formulas)
Подсчет количества уникальных значений по критерию
Zara_90 Дата: Среда, 28.01.2015, 19:10 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день.
Возникла следуйщая сложность.
Необходимо с помощью формулы подсчитать количество уникальных значений из расширенной таблицы по параметру.В таблицу с значениями входят текстовые и численные данные,а так же пустые ячейки.
Количество отрезков(AB,BC,KK...) и их размер переменный.
В качестве основы я использую формулу:

Код
={СУММ(ЕСЛИ(ЧАСТОТА(ЕСЛИ(ДЛСТР(H3:H19)>0;ПОИСКПОЗ(H3:H19;H3:H19;0);"");ЕСЛИ(ДЛСТР(H3:H19)>0;ПОИСКПОЗ(H3:H19;H3:H19;0);""))>0;1))}


Сложность состоит в том,чтобы к этой формуле прикрутить условие,которое позволит подсчитовать количество уникальных значений на конкретном участке(сейчас считает уникальные значения по всей таблице).Еще раз подчеркиваю,что размер участков переменный и выбирать вручную диапазон для каждого участка - не вариант.
Спасибо.
К сообщению приложен файл: Quation.xls (26.5 Kb)
 
Ответить
СообщениеДобрый день.
Возникла следуйщая сложность.
Необходимо с помощью формулы подсчитать количество уникальных значений из расширенной таблицы по параметру.В таблицу с значениями входят текстовые и численные данные,а так же пустые ячейки.
Количество отрезков(AB,BC,KK...) и их размер переменный.
В качестве основы я использую формулу:

Код
={СУММ(ЕСЛИ(ЧАСТОТА(ЕСЛИ(ДЛСТР(H3:H19)>0;ПОИСКПОЗ(H3:H19;H3:H19;0);"");ЕСЛИ(ДЛСТР(H3:H19)>0;ПОИСКПОЗ(H3:H19;H3:H19;0);""))>0;1))}


Сложность состоит в том,чтобы к этой формуле прикрутить условие,которое позволит подсчитовать количество уникальных значений на конкретном участке(сейчас считает уникальные значения по всей таблице).Еще раз подчеркиваю,что размер участков переменный и выбирать вручную диапазон для каждого участка - не вариант.
Спасибо.

Автор - Zara_90
Дата добавления - 28.01.2015 в 19:10
vikttur Дата: Среда, 28.01.2015, 19:56 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Если записи не разбросаны (расположены блоками), все проще.
Создаем именованный диапазон:
Код
=СМЕЩ(Лист1!$H$2;ПОИСКПОЗ(Лист1!$B9;Лист1!$G$3:$G$19;);;СЧЁТЕСЛИ(Лист1!$G$3:$G$19;Лист1!$B9))

Используем этот диапазон (имя отИдо) в формуле массива:
Код
=СУММ(1/СЧЁТЕСЛИ(отИдо;ЕСЛИ(отИдо=0;"";отИдо)))-И(СЧЁТЕСЛИ(отИдо;""))
К сообщению приложен файл: 2638316.xls (26.5 Kb)
 
Ответить
СообщениеЕсли записи не разбросаны (расположены блоками), все проще.
Создаем именованный диапазон:
Код
=СМЕЩ(Лист1!$H$2;ПОИСКПОЗ(Лист1!$B9;Лист1!$G$3:$G$19;);;СЧЁТЕСЛИ(Лист1!$G$3:$G$19;Лист1!$B9))

Используем этот диапазон (имя отИдо) в формуле массива:
Код
=СУММ(1/СЧЁТЕСЛИ(отИдо;ЕСЛИ(отИдо=0;"";отИдо)))-И(СЧЁТЕСЛИ(отИдо;""))

Автор - vikttur
Дата добавления - 28.01.2015 в 19:56
Zara_90 Дата: Среда, 28.01.2015, 20:19 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Решение не очень красивое,но рабочее,спасибо.Если есть еще варианты,то с удовольствием выслушаю.
 
Ответить
СообщениеРешение не очень красивое,но рабочее,спасибо.Если есть еще варианты,то с удовольствием выслушаю.

Автор - Zara_90
Дата добавления - 28.01.2015 в 20:19
vikttur Дата: Среда, 28.01.2015, 20:53 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Что для Вас красота? Многоэтажная формула с массой лишних вычислений?
Код
=СЧЁТ(1/ЧАСТОТА(ЕСЛИОШИБКА(ПОИСКПОЗ(ЕСЛИ($G$3:$G$19=B3;ЕСЛИ($H$3:$H$19<>"";$H$3:$H$19));H3:H19;););СТРОКА(H3:H20)-3))-1

ЕСЛИОШИБКА в Excel-2003 не работает.

В рабочих файлах нужно смотреть на оптимальность вычислений. Там красота спрятана.
Доп. столбец:
Код
=--ЕСЛИ(H3<>"";ПОИСКПОЗ(H3;ИНДЕКС($H$3:H3;ПОИСКПОЗ(G3;$G$3:G3;)):H3;)=СТРОКА(A1)-ПОИСКПОЗ(G3;$G$3:G3;)+1)

Результирующая формула:
Код
=СУММЕСЛИ($G$3:$G$19;B3;$F$3:$F$19)

И никаких массивных вычислений.
К сообщению приложен файл: 2184598.xls (28.0 Kb)


Сообщение отредактировал vikttur - Среда, 28.01.2015, 21:19
 
Ответить
СообщениеЧто для Вас красота? Многоэтажная формула с массой лишних вычислений?
Код
=СЧЁТ(1/ЧАСТОТА(ЕСЛИОШИБКА(ПОИСКПОЗ(ЕСЛИ($G$3:$G$19=B3;ЕСЛИ($H$3:$H$19<>"";$H$3:$H$19));H3:H19;););СТРОКА(H3:H20)-3))-1

ЕСЛИОШИБКА в Excel-2003 не работает.

В рабочих файлах нужно смотреть на оптимальность вычислений. Там красота спрятана.
Доп. столбец:
Код
=--ЕСЛИ(H3<>"";ПОИСКПОЗ(H3;ИНДЕКС($H$3:H3;ПОИСКПОЗ(G3;$G$3:G3;)):H3;)=СТРОКА(A1)-ПОИСКПОЗ(G3;$G$3:G3;)+1)

Результирующая формула:
Код
=СУММЕСЛИ($G$3:$G$19;B3;$F$3:$F$19)

И никаких массивных вычислений.

Автор - vikttur
Дата добавления - 28.01.2015 в 20:53
Zara_90 Дата: Среда, 28.01.2015, 22:26 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Для меня красота это универсальность.Когда одну формулу(хоть и трехэтажную) можно использовать в любом месте и многократно,только диапазоны меняй :)
Одно решение - одна формула.Причем типовое.С конструкциями с дополнительными колонками,диапазони и т.д. могут возникать сложности когда одно и тоже действие надо выполнять многократно.Ну это ИМХО.
Вариант с

Код
=СЧЁТ(1/ЧАСТОТА(ЕСЛИОШИБКА(ПОИСКПОЗ(ЕСЛИ($G$3:$G$19=B3;ЕСЛИ($H$3:$H$19<>"";$H$3:$H$19));H3:H19;););СТРОКА(H3:H20)-3))-1


подходит идеально,спасибо.
 
Ответить
СообщениеДля меня красота это универсальность.Когда одну формулу(хоть и трехэтажную) можно использовать в любом месте и многократно,только диапазоны меняй :)
Одно решение - одна формула.Причем типовое.С конструкциями с дополнительными колонками,диапазони и т.д. могут возникать сложности когда одно и тоже действие надо выполнять многократно.Ну это ИМХО.
Вариант с

Код
=СЧЁТ(1/ЧАСТОТА(ЕСЛИОШИБКА(ПОИСКПОЗ(ЕСЛИ($G$3:$G$19=B3;ЕСЛИ($H$3:$H$19<>"";$H$3:$H$19));H3:H19;););СТРОКА(H3:H20)-3))-1


подходит идеально,спасибо.

Автор - Zara_90
Дата добавления - 28.01.2015 в 22:26
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Подсчет количества уникальных значений по критерию (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!