Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2018, 10:15   #1
DENGA-RU
Пользователь
 
Регистрация: 02.04.2009
Сообщений: 33
По умолчанию Ограничение функции СУММ в ексель

Можно ли обойти ограничение функции СУММ в ексель больше 298 ячеек =СУММ((A1;A2;...A298)) ?
Вложения
Тип файла: xls сумма -2003.xls (24.5 Кб, 16 просмотров)
DENGA-RU вне форума Ответить с цитированием
Старый 26.01.2018, 11:13   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Мсье знает толк в извращениях.

по сабжу: пользоваться вспомогательными критериями для СУММЕСЛИ или VBA
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 26.01.2018, 13:44   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

сумма тех ячеек, что Вы указали в сумм (и тех что уже не поместились)
записывается так:
Код:
=СУММ(B1:K33)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 26.01.2018, 14:13   #4
DENGA-RU
Пользователь
 
Регистрация: 02.04.2009
Сообщений: 33
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
сумма тех ячеек, что Вы указали в сумм (и тех что уже не поместились)
записывается так:
Код:
=СУММ(B1:K33)
Тут просто макрос написал, который ищет разделы в листе на тысячи строк, а в разделах ищет соответствующие строки и адреса выбранных строк он добавляет через функцию Сумм в каждый адрес раздела, но столкнулся с ограничением функции, когда в одном из разделов он выбрал около 700 строк. Так как задать сразу область =СУММ(B1:K33) не получится, потомучто там много не нужных для расчета строк. Вот и думаю если какой выход или только через VBA считать ?

Последний раз редактировалось DENGA-RU; 26.01.2018 в 14:17.
DENGA-RU вне форума Ответить с цитированием
Старый 26.01.2018, 14:26   #5
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Скорее всего поможет СУММЕСЛИ, как написал Aleksandr H., или СУММЕСЛИМН или СУММПРОИЗВ. Конкретно можно посоветовать, только увидев файл.

В VBA для сборки диапазона используйте функцию Union - она умеет сцеплять отдельные ячейки в диапазон:
Код:
?union(range("B1"),range("B2"),range("B3")).Address 
$B$1:$B$3
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 27.01.2018, 15:35   #6
DENGA-RU
Пользователь
 
Регистрация: 02.04.2009
Сообщений: 33
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Скорее всего поможет СУММЕСЛИ, как написал Aleksandr H., или СУММЕСЛИМН или СУММПРОИЗВ. Конкретно можно посоветовать, только увидев файл.

В VBA для сборки диапазона используйте функцию Union - она умеет сцеплять отдельные ячейки в диапазон:
Код:
?union(range("B1"),range("B2"),range("B3")).Address 
$B$1:$B$3
Пример вложил, но думаю с помощью функции дело наверно не решить, так как 700 адресов слишком много для любой версии екселя, остается только средствами VBA.
Вложения
Тип файла: xls Пример.xls (21.5 Кб, 13 просмотров)
DENGA-RU вне форума Ответить с цитированием
Старый 27.01.2018, 16:19   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
=СУММПРОИЗВ(B3:B13*ЕТЕКСТ(A3:A13))
когда Вы научитесь вопросы формулировать?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 27.01.2018, 18:24   #8
DENGA-RU
Пользователь
 
Регистрация: 02.04.2009
Сообщений: 33
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Код:
=СУММПРОИЗВ(B3:B13*ЕТЕКСТ(A3:A13))
когда Вы научитесь вопросы формулировать?
Спасибо Вам большое за решение, просто я думал, что такое делается только через функцию СУММ. И хотелось бы еще узнать, можно ли суммировать по условию полужирного шрифта или по содержанию текста, например "Подраздел" ?
Вложения
Тип файла: xls Пример.xls (21.5 Кб, 12 просмотров)
DENGA-RU вне форума Ответить с цитированием
Старый 27.01.2018, 19:31   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

по содержимому ячеек - можно
Код:
=СУММПРОИЗВ(B3:B15*(ДЛСТР(A3:A15)>ДЛСТР(ПОДСТАВИТЬ(A3:A15;"подраздел";""))))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 28.01.2018, 14:39   #10
DENGA-RU
Пользователь
 
Регистрация: 02.04.2009
Сообщений: 33
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
по содержимому ячеек - можно
Код:
=СУММПРОИЗВ(B3:B15*(ДЛСТР(A3:A15)>ДЛСТР(ПОДСТАВИТЬ(A3:A15;"подраздел";""))))
Большое спасибо за решение.
DENGA-RU вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ограничение функции ЕСЛИ inna_ned Microsoft Office Excel 18 27.08.2016 12:24
Что скорее СУММ(А:А) или СУММ(А1:А20000)? Aleksandr H. Microsoft Office Excel 0 27.01.2016 15:58
Ограничение времени выполнения функции Crystallon Общие вопросы Delphi 4 25.09.2010 09:08
Функции в Ексель Юра_ Microsoft Office Excel 5 16.12.2008 14:26