Авт. счетчик промежуточных значений
Кузьмич
Дата: Вторник, 20.03.2018, 18:40 |
Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 77
Репутация:
2
±
Замечаний:
0% ±
Excel 2013
Всем доброго здравия! Хотел сделать автоматический счетчик промежуточных значений. Формулой считает, но тупит со страшной силой Код
=СУММПРОИЗВ(--(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;ДВССЫЛ("A"&СТРОКА(11:1048576))))*(A11:A1048576="А"))
Возможно макрос поможет с решением проблемы!Файл прилагается! В файле - Лист2 в первом столбце формула эта есть, если её применить к определенному диапазону A2:А3 и к n-количеству листов, то вообще висяк страшный. Ребятушки, помогите, выручайте.
Всем доброго здравия! Хотел сделать автоматический счетчик промежуточных значений. Формулой считает, но тупит со страшной силой Код
=СУММПРОИЗВ(--(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;ДВССЫЛ("A"&СТРОКА(11:1048576))))*(A11:A1048576="А"))
Возможно макрос поможет с решением проблемы!Файл прилагается! В файле - Лист2 в первом столбце формула эта есть, если её применить к определенному диапазону A2:А3 и к n-количеству листов, то вообще висяк страшный. Ребятушки, помогите, выручайте. Кузьмич
Ну, теперь вся утка наша...
Ответить
Сообщение Всем доброго здравия! Хотел сделать автоматический счетчик промежуточных значений. Формулой считает, но тупит со страшной силой Код
=СУММПРОИЗВ(--(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;ДВССЫЛ("A"&СТРОКА(11:1048576))))*(A11:A1048576="А"))
Возможно макрос поможет с решением проблемы!Файл прилагается! В файле - Лист2 в первом столбце формула эта есть, если её применить к определенному диапазону A2:А3 и к n-количеству листов, то вообще висяк страшный. Ребятушки, помогите, выручайте. Автор - Кузьмич Дата добавления - 20.03.2018 в 18:40
nilem
Дата: Среда, 21.03.2018, 07:15 |
Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация:
563
±
Замечаний:
0% ±
Excel 2013, 2016
Кузьмич , привет СТРОКА(11:1048576))))*(A11:A1048576="А")) - скорее всего, из-за этого "тупит". Возьмите диапазон поменьше, напр., СТРОКА(11:1000))))*(A11:A1000="А"))
Кузьмич , привет СТРОКА(11:1048576))))*(A11:A1048576="А")) - скорее всего, из-за этого "тупит". Возьмите диапазон поменьше, напр., СТРОКА(11:1000))))*(A11:A1000="А"))nilem
Яндекс.Деньги 4100159601573
Ответить
Сообщение Кузьмич , привет СТРОКА(11:1048576))))*(A11:A1048576="А")) - скорее всего, из-за этого "тупит". Возьмите диапазон поменьше, напр., СТРОКА(11:1000))))*(A11:A1000="А"))Автор - nilem Дата добавления - 21.03.2018 в 07:15
Кузьмич
Дата: Среда, 21.03.2018, 14:09 |
Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 77
Репутация:
2
±
Замечаний:
0% ±
Excel 2013
СТРОКА(11:1048576))))*(A11:A1048576="А")) - скорее всего, из-за этого "тупит".
Всё верно, но у меня база символов будет почти до самого низу листов. Только макрос сможет решить этот вопрос.
СТРОКА(11:1048576))))*(A11:A1048576="А")) - скорее всего, из-за этого "тупит".
Всё верно, но у меня база символов будет почти до самого низу листов. Только макрос сможет решить этот вопрос.Кузьмич
Ну, теперь вся утка наша...
Сообщение отредактировал Кузьмич - Среда, 21.03.2018, 14:09
Ответить
Сообщение СТРОКА(11:1048576))))*(A11:A1048576="А")) - скорее всего, из-за этого "тупит".
Всё верно, но у меня база символов будет почти до самого низу листов. Только макрос сможет решить этот вопрос.Автор - Кузьмич Дата добавления - 21.03.2018 в 14:09
sboy
Дата: Среда, 21.03.2018, 14:32 |
Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация:
724
±
Замечаний:
0% ±
Excel 2010
из приложенного примера непонятно зачем вообще нужна такая формула... может так подойдет?Код
=СЧЁТЕСЛИ(A$11:A$1048576;$G2)
из приложенного примера непонятно зачем вообще нужна такая формула... может так подойдет?Код
=СЧЁТЕСЛИ(A$11:A$1048576;$G2)
sboy
Яндекс: 410016850021169
Ответить
Сообщение из приложенного примера непонятно зачем вообще нужна такая формула... может так подойдет?Код
=СЧЁТЕСЛИ(A$11:A$1048576;$G2)
Автор - sboy Дата добавления - 21.03.2018 в 14:32
Кузьмич
Дата: Среда, 21.03.2018, 17:58 |
Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 77
Репутация:
2
±
Замечаний:
0% ±
Excel 2013
из приложенного примера непонятно зачем вообще нужна такая формула... может так подойдет? =СЧЁТЕСЛИ(A$11:A$1048576;$G2)
Дело в том, что счетчик должен считать отфильтрованный остаток, а эта формула не подойдет, т.к она считает всё и видимое и скрытое фильтром.
из приложенного примера непонятно зачем вообще нужна такая формула... может так подойдет? =СЧЁТЕСЛИ(A$11:A$1048576;$G2)
Дело в том, что счетчик должен считать отфильтрованный остаток, а эта формула не подойдет, т.к она считает всё и видимое и скрытое фильтром.Кузьмич
Ну, теперь вся утка наша...
Ответить
Сообщение из приложенного примера непонятно зачем вообще нужна такая формула... может так подойдет? =СЧЁТЕСЛИ(A$11:A$1048576;$G2)
Дело в том, что счетчик должен считать отфильтрованный остаток, а эта формула не подойдет, т.к она считает всё и видимое и скрытое фильтром.Автор - Кузьмич Дата добавления - 21.03.2018 в 17:58
Gustav
Дата: Среда, 21.03.2018, 19:35 |
Сообщение № 6
Группа: Админы
Ранг: Участник клуба
Сообщений: 2877
Репутация:
1217
±
Замечаний:
±
начинал с Excel 4.0, видел 2.1
Расширил файл и формулу от sboy :Код
=СЧЁТЕСЛИМН(A$11:A$1100;$G2;$G$11:$G$1100;1)
В диапазоне $G$11:$G$1100 - UDF, возвращающая 1/0 в зависимости от видимости/невидимости строки: [vba]Код
Function rowIsVisible() Application.Volatile If Application.Caller.Rows(1).Hidden Then rowIsVisible = 0 Else rowIsVisible = 1 End If End Function
[/vba] Считает, но как-то всё громоздковато... Попробуйте, конечно, но не думаю, что будет комфортно на больших объёмах...
Расширил файл и формулу от sboy :Код
=СЧЁТЕСЛИМН(A$11:A$1100;$G2;$G$11:$G$1100;1)
В диапазоне $G$11:$G$1100 - UDF, возвращающая 1/0 в зависимости от видимости/невидимости строки: [vba]Код
Function rowIsVisible() Application.Volatile If Application.Caller.Rows(1).Hidden Then rowIsVisible = 0 Else rowIsVisible = 1 End If End Function
[/vba] Считает, но как-то всё громоздковато... Попробуйте, конечно, но не думаю, что будет комфортно на больших объёмах... Gustav
МОИ: Ник , Tip box: 41001663842605
Ответить
Сообщение Расширил файл и формулу от sboy :Код
=СЧЁТЕСЛИМН(A$11:A$1100;$G2;$G$11:$G$1100;1)
В диапазоне $G$11:$G$1100 - UDF, возвращающая 1/0 в зависимости от видимости/невидимости строки: [vba]Код
Function rowIsVisible() Application.Volatile If Application.Caller.Rows(1).Hidden Then rowIsVisible = 0 Else rowIsVisible = 1 End If End Function
[/vba] Считает, но как-то всё громоздковато... Попробуйте, конечно, но не думаю, что будет комфортно на больших объёмах... Автор - Gustav Дата добавления - 21.03.2018 в 19:35
Pelena
Дата: Среда, 21.03.2018, 21:23 |
Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19603
Репутация:
4660
±
Замечаний:
±
Excel 365 & Mac Excel
Проверьте такой вариант
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Проверьте такой вариант Автор - Pelena Дата добавления - 21.03.2018 в 21:23
Кузьмич
Дата: Среда, 21.03.2018, 21:40 |
Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 77
Репутация:
2
±
Замечаний:
0% ±
Excel 2013
Pelena , Идеальное решение!!! Благодарю за помощь!
Pelena , Идеальное решение!!! Благодарю за помощь!Кузьмич
Ну, теперь вся утка наша...
Сообщение отредактировал Кузьмич - Среда, 21.03.2018, 21:43
Ответить
Сообщение Pelena , Идеальное решение!!! Благодарю за помощь!Автор - Кузьмич Дата добавления - 21.03.2018 в 21:40
gling
Дата: Четверг, 22.03.2018, 00:21 |
Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2689
Репутация:
764
±
Замечаний:
0% ±
2010
Вариант формулами. Проверьте на больших объемах. В примере торможения не заметил.Код
=СУММПРОИЗВ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;ДВССЫЛ("A"&СТРОКА($A$11:ИНДЕКС($A$11:$A$1048576;ПОИСКПОЗ("ЯЯ";$A$11:$A$1048576;1)))))*(A$11:ИНДЕКС(A$11:A$1048576;ПОИСКПОЗ("ЯЯ";A$11:A$1048576;1))=$G2))
Вариант формулами. Проверьте на больших объемах. В примере торможения не заметил.Код
=СУММПРОИЗВ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;ДВССЫЛ("A"&СТРОКА($A$11:ИНДЕКС($A$11:$A$1048576;ПОИСКПОЗ("ЯЯ";$A$11:$A$1048576;1)))))*(A$11:ИНДЕКС(A$11:A$1048576;ПОИСКПОЗ("ЯЯ";A$11:A$1048576;1))=$G2))
gling
ЯД-41001506838083
Сообщение отредактировал gling - Четверг, 22.03.2018, 00:32
Ответить
Сообщение Вариант формулами. Проверьте на больших объемах. В примере торможения не заметил.Код
=СУММПРОИЗВ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;ДВССЫЛ("A"&СТРОКА($A$11:ИНДЕКС($A$11:$A$1048576;ПОИСКПОЗ("ЯЯ";$A$11:$A$1048576;1)))))*(A$11:ИНДЕКС(A$11:A$1048576;ПОИСКПОЗ("ЯЯ";A$11:A$1048576;1))=$G2))
Автор - gling Дата добавления - 22.03.2018 в 00:21