|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
В общем вопрос наверное простой, но никак не доходит как решить его. Есть таблица с большим количеством строк и столбцов. На ее основе мне нужно посчитать количество строчек удовлетворяющих заданной группе условий, на данный момент использую функцию СЧЕТЕСЛИМН, по столбцам А, В, С. Так вот мне нужно сделать подсчет строчек по указаным критериям, но чтобы не было повторений значений ячеек данных строк по столбцу D Надеюсь понятно объяснил ) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2014, 11:35 |
|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
Александр808, Живой пример помог бы понять лучше, но по ощущениям SUMPRODUCT должен помочь. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2014, 21:02 |
|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
Если есть возможность использовать дополнительную колонку, например X, то в нее ввести формулу и протянуть до конца =ЕСЛИ(ПОИСКПОЗ(D1;$D:$D;0)<>СТРОКА();"";1) И уже колонку X использовать в вашей формуле СЧЕТЕСЛИМН. Проблема возникает, если есть пустые значения в колонке D, как ее решить я не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2014, 21:50 |
|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
Увы, мое предложение не подходит, не понял задачу. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2014, 22:26 |
|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
Вот скажем аналогичный пример: Таблица со строками А 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 Вот не знаю как сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2014, 08:22 |
|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
Александр808, =СУММПРОИЗВ((A1:A9=1)*(B1:B9=4)*(C1:C9=7)*(ЧАСТОТА(D1:D8;D1:D8)>0)) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2014, 10:59 |
|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
Те же грабли, что я наступил:) Если поменять первую строку на 1 4 6 8, то меняется результат с 4 на 3, а должен остаться 4. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2014, 11:22 |
|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
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) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2014, 11:41 |
|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
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)) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2014, 11:42 |
|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
Восхищен, весьма изящно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2014, 12:11 |
|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
Кстати, раз уж все равно формула массива и все такое, то можно чуть сократить: для любых данных: =СЧЁТ(ЕСЛИ(ЧАСТОТА(ЕСЛИ((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)) - в данной вариации формулы можно пренебречь сравнением с нулем ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2014, 12:31 |
|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
Большое Спасибо! Проверил работает ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2014, 14:37 |
|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
А если D1:D8 не числа, а различные символы ? точнее может быть все что угодно и числа и символы ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2014, 14:40 |
|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
Александр808, Тогда надо идти другим путем - ЧАСТОТА не работает с текстом. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2014, 14:55 |
|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
Кстати, вот ошибка почему то, считает 4 строчки, а должно быть 3 Глюк Экселя ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2014, 15:12 |
|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
Александр808, Это глюк ввода. Формула должна вводиться как формула массива. Вы явно не читали по ссылке, когда я выкладывал первую формулу... Если правильно вводить - формула все верно считает - 3. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2014, 15:36 |
|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
Хм верно, хотя сначало считалось верно. Спасибо за поправку ) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2014, 15:58 |
|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
Кажется удалось скрестить ужа с ежом:), т.е. можно и символьные поля использовать в колонках A:D, например в колонке B =СЧЁТ(ЕСЛИ(ЧАСТОТА(ЕСЛИ((A1:A8=1)*(B1:B8="ффф")*(C1:C8=7);ПОИСКПОЗ(D1:D8;D1:D8;0));ПОИСКПОЗ(D1:D8;D1:D8;0))>0;1)) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2014, 21:13 |
|
Подсчет строк по заданным условиям и без повторения
|
|||
---|---|---|---|
#18+
Александр808, Более сложная формула, но зато не формула массива, и считает по последнему совпадению. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2014, 22:31 |
|
|
start [/forum/topic.php?fid=61&gotonew=1&tid=2174050]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
12ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 190ms |
0 / 0 |