Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Подсчет строк по заданным условиям и без повторения / 20 сообщений из 20, страница 1 из 1
05.05.2014, 11:35
    #38632962
Подсчет строк по заданным условиям и без повторения
В общем вопрос наверное простой, но никак не доходит как решить его.
Есть таблица с большим количеством строк и столбцов. На ее основе мне нужно посчитать количество строчек удовлетворяющих заданной группе условий, на данный момент использую функцию СЧЕТЕСЛИМН, по столбцам А, В, С. Так вот мне нужно сделать подсчет строчек по указаным критериям, но чтобы не было повторений значений ячеек данных строк по столбцу D
Надеюсь понятно объяснил )
...
Рейтинг: 0 / 0
05.05.2014, 21:02
    #38633793
iMrTidy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет строк по заданным условиям и без повторения
Александр808,

Живой пример помог бы понять лучше, но по ощущениям SUMPRODUCT должен помочь.
...
Рейтинг: 0 / 0
05.05.2014, 21:50
    #38633839
sergeyvg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет строк по заданным условиям и без повторения
Если есть возможность использовать дополнительную колонку, например X, то в нее ввести формулу и протянуть до конца
=ЕСЛИ(ПОИСКПОЗ(D1;$D:$D;0)<>СТРОКА();"";1)
И уже колонку X использовать в вашей формуле СЧЕТЕСЛИМН.
Проблема возникает, если есть пустые значения в колонке D, как ее решить я не знаю.
...
Рейтинг: 0 / 0
05.05.2014, 22:26
    #38633864
sergeyvg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет строк по заданным условиям и без повторения
Увы, мое предложение не подходит, не понял задачу.
...
Рейтинг: 0 / 0
06.05.2014, 08:22
    #38634047
Подсчет строк по заданным условиям и без повторения
Вот скажем аналогичный пример:
Таблица со строками
А B C D
1 4 7 8
1 4 9 4
2 3 7 8
1 4 7 8
1 4 7 5
1 4 7 2
1 4 7 2
1 4 7 6

Скажем мне нужно подсчитать сколько строчек где А = 1, В = 4 и С = 7
Их как видим 6 штук. А теперь мне нужно посчитатать это же количество но без повторений значений по солбцу D, тогда их будет 4 . Так как по столбцу D у нас есть два повторения - одно со значением 8, второе созначением 2

Вот не знаю как сделать
...
Рейтинг: 0 / 0
06.05.2014, 10:59
    #38634232
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет строк по заданным условиям и без повторения
Александр808,

=СУММПРОИЗВ((A1:A9=1)*(B1:B9=4)*(C1:C9=7)*(ЧАСТОТА(D1:D8;D1:D8)>0))
...
Рейтинг: 0 / 0
06.05.2014, 11:22
    #38634268
sergeyvg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет строк по заданным условиям и без повторения
Те же грабли, что я наступил:) Если поменять первую строку на 1 4 6 8, то меняется результат с 4 на 3, а должен остаться 4.
...
Рейтинг: 0 / 0
06.05.2014, 11:41
    #38634309
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет строк по заданным условиям и без повторения
sergeyvgЕсли поменять первую строку на 1 4 6 8, то меняется результат с 4 на 3, а должен остаться 4.Тогда все проще:
=СЧЁТ(ЕСЛИ(ЧАСТОТА(ЕСЛИ((A1:A9=1)*(B1:B9=4)*(C1:C9=7);D1:D8);D1:D8)>0;1))

формула массива (вводится Ctrl+Shift+Enter)
...
Рейтинг: 0 / 0
06.05.2014, 11:42
    #38634312
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет строк по заданным условиям и без повторения
The_Prist=СЧЁТ(ЕСЛИ(ЧАСТОТА(ЕСЛИ((A1:A9=1)*(B1:B9=4)*(C1:C9=7);D1:D8);D1:D8)>0;1))И диапазоны можно уравнять для простоты понимания:
=СЧЁТ(ЕСЛИ(ЧАСТОТА(ЕСЛИ((A1:A8=1)*(B1:B8=4)*(C1:C8=7);D1:D8);D1:D8)>0;1))
...
Рейтинг: 0 / 0
06.05.2014, 12:11
    #38634371
sergeyvg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет строк по заданным условиям и без повторения
Восхищен, весьма изящно.
...
Рейтинг: 0 / 0
06.05.2014, 12:31
    #38634408
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет строк по заданным условиям и без повторения
Кстати, раз уж все равно формула массива и все такое, то можно чуть сократить:
для любых данных:
=СЧЁТ(ЕСЛИ(ЧАСТОТА(ЕСЛИ((A1:A8&B1:B8&C1:C8="147");D1:D8);D1:D8)>0;1))
=СЧЁТ(ЕСЛИ(ЧАСТОТА(ЕСЛИ((A1:A8&B1:B8&C1:C8="147");D1:D8);D1:D8);1)) - в данной вариации формулы можно пренебречь сравнением с нулем

только для числовых данных:
=СЧЁТ(ЕСЛИ(ЧАСТОТА(ЕСЛИ((A1:A8+B1:B8+C1:C8=12);D1:D8);D1:D8)>0;1))
=СЧЁТ(ЕСЛИ(ЧАСТОТА(ЕСЛИ((A1:A8+B1:B8+C1:C8=12);D1:D8);D1:D8);1)) - в данной вариации формулы можно пренебречь сравнением с нулем
...
Рейтинг: 0 / 0
06.05.2014, 14:37
    #38634624
Подсчет строк по заданным условиям и без повторения
Большое Спасибо! Проверил работает
...
Рейтинг: 0 / 0
06.05.2014, 14:40
    #38634628
Подсчет строк по заданным условиям и без повторения
А если D1:D8 не числа, а различные символы ? точнее может быть все что угодно и числа и символы
...
Рейтинг: 0 / 0
06.05.2014, 14:55
    #38634648
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет строк по заданным условиям и без повторения
Александр808,

Тогда надо идти другим путем - ЧАСТОТА не работает с текстом.
...
Рейтинг: 0 / 0
06.05.2014, 15:12
    #38634668
Подсчет строк по заданным условиям и без повторения
Кстати, вот ошибка почему то, считает 4 строчки, а должно быть 3
Глюк Экселя ?
...
Рейтинг: 0 / 0
06.05.2014, 15:36
    #38634692
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет строк по заданным условиям и без повторения
Александр808,

Это глюк ввода. Формула должна вводиться как формула массива. Вы явно не читали по ссылке, когда я выкладывал первую формулу...
Если правильно вводить - формула все верно считает - 3.
...
Рейтинг: 0 / 0
06.05.2014, 15:58
    #38634724
Подсчет строк по заданным условиям и без повторения
Хм верно, хотя сначало считалось верно. Спасибо за поправку )
...
Рейтинг: 0 / 0
06.05.2014, 21:13
    #38635019
sergeyvg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет строк по заданным условиям и без повторения
Кажется удалось скрестить ужа с ежом:), т.е. можно и символьные поля использовать в колонках A:D, например в колонке B
=СЧЁТ(ЕСЛИ(ЧАСТОТА(ЕСЛИ((A1:A8=1)*(B1:B8="ффф")*(C1:C8=7);ПОИСКПОЗ(D1:D8;D1:D8;0));ПОИСКПОЗ(D1:D8;D1:D8;0))>0;1))
...
Рейтинг: 0 / 0
06.05.2014, 22:31
    #38635053
iMrTidy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсчет строк по заданным условиям и без повторения
Александр808,

Более сложная формула, но зато не формула массива, и считает по последнему совпадению.
...
Рейтинг: 0 / 0
07.05.2014, 10:47
    #38635284
Подсчет строк по заданным условиям и без повторения
Проверил вариант
=СЧЁТ(ЕСЛИ(ЧАСТОТА(ЕСЛИ((A1:A8=1)*(B1:B8="ффф")*(C1:C8=7);ПОИСКПОЗ(D1:D8;D1:D8;0));ПОИСКПОЗ(D1:D8;D1:D8;0))>0;1))

Все отлично! Спасибо всем кто принял участие )
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Подсчет строк по заданным условиям и без повторения / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]