Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Возможно ли суммирование ячеек, содержащих SUMM () или СУММ()?
 
Добрый день.
Есть данные в столбце, переодически данные суммируются через Summ(диапазон).
Возможно ли написать функцию , что просуммирует эти Summ-ы ... что то вроде "суммесли"  , но с аргументами "если ячейка содержит формулу "*=сумм(*"
Добавлять столбцы я не хочу.
:sceptic:  
Изменено: Les555 - 8 Дек 2018 13:23:29
 
Что-то как-то... непонятно. Суммировать значения, которые получены в результате суммирования? Можно, но по-другому.
Покажите файл-прмер.
 
Код
Function СУММСУММ(rg As Range) As Double
  Dim c As Range
  For Each c In rg
    If c.Formula Like "=SUM(*" Then СУММСУММ = СУММСУММ + c
  Next
End Function
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко , спасибо.

Без макроса невозможно?  
 
Увы, в таком варианте не за что зацепиться. Формулы с СУММ размещены хаотично? Логика какая-то может быть? Название строк, размещение? Во вторую СУММ всегда попадает первая? Их только две или может быть другое количество?

Цитата
Les555 написал: Возможно ли написать функцию , что просуммирует эти Summ-ы ..
Игорь такую и написал.
 
Цитата
Les555 написал:
Есть данные в столбце, переодически данные суммируются через Summ(диапазон).
Используйте функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ. В стиле R1C1 во всех ячейках с суммой будет одна и та же формула
Код
=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;R8C:R[-1]C)
Изменено: Казанский - 8 Дек 2018 14:43:35
 
=ЕСЛИ(ЛЕВБ(ф;5)="=СУММ";L8;)
ф - именованная формула  с макрофункцией ПОЛУЧИТЬ.ФОРМУЛУ
Макросы разрешить.
 
Цитата
vikttur написал: Игорь такую и написал.
Игорь верно написал, но только если согласиться использовать макросы. А если нет ?
Я приложил новый файл - там есть за что "зацепиться"...сверху нужной ячейки есть слова "Общая с/c"

Количество ячеек , которые нужно суммировать неопределено и большое..
Изменено: Les555 - 8 Дек 2018 14:58:56
 
Массивно и для Excel 2013 и выше кажется
=SUM(IFERROR(LEFT(FORMULATEXT(L8:L15);4)={"=SUM"\"=СУМ"};)*L8:L15)
Для универсальности с доп. ячейкой чтоб
в L20 =SUM(1)
и
=SUM(IFERROR(LEFT(FORMULATEXT(L8:L15);4)=LEFT(FORMULATEXT(L20);4);)*L8:L15)
Изменено: БМВ - 8 Дек 2018 15:06:30
 
Цитата
Les555 написал:
зацепиться"...сверху нужной ячейки есть слова "Общая с/c"
а сразу сказать это?
=SUMIF(N8:N52;$N$8;N9:N53)
 
БМВ , я когда загрузил Ваш ответный файл и нажал "разрешить редактирования" формулы сбросились в "0".: т.е. я вижу, что вначале они давали верный результат, а потом - все сброшено в "0"
 
Цитата
Les555 написал: Я приложил новый файл - там есть за что "зацепиться"..
И кто Вам мешал сделать это раньше?
Цитата
2.2. Опишите максимально подробно вашу задачу и желаемый результат. Желательно уточнить вашу версию Excel.
2.3. Приложите файл(ы) с примером (общим весом не более 300Кб) в реальной структуре и форматах данных того, что есть сейчас и того, что хотелось бы на выходе.
  Для кого это в правилах написано? А ведь и другие меньше бы времени теряли, и решение получили бы сразу:
=СУММЕСЛИ(N8:N8000;N8;N9:N8001)
Можно еще проще:
=СУММ(N9:N8000)/2

В первом кривейшем примере вообще ерунду указали - в одну СУММ попала другая СУММ. На будущее: относитесь к подготовке примера более ответственно.
 
БМВ ,  vikttur  . Cпасибо, отлично работает!
Я не указал этого, потому , что не придавал значения окружающим ячейкам ...но и пользователь может внести изменения в структуру таблицы, что "сломает" эту формулу.

Цитата
БМВ: Массивно и для Excel 2013 и выше кажется...
А вот это  почему то у меня не работает, хотя,  мне кажется,  это было бы самое "универсальное" решение
 
vikttur,  Я деление отмел именно по тому что в первом примере был ….   и еще, не факт что не будет чего, что не нужно суммировать.

Цитата
Les555 написал:
вот это  почему то у меня не работает,
тут сложно сказать, я даже язык поменял и проверил, все работает. Может кто еще проверит.
 
Казанский, в приведенном файле итоги получаются неверные.
Кроме того, нужно менять все формулы с "сумм" на ПРОМЕЖУТОЧНЫЕ.ИТОГИ, а их могут быть сотни...  
 
Цитата
Les555 написал:
нужно менять все формулы с "сумм" на ПРОМЕЖУТОЧНЫЕ.ИТОГИ, а их могут быть сотни...
Ctrl+H с параметрами Искать в формулах и НЕ Ячейка целиком спасёт отца русской демократии.
 
Цитата
Les555 написал:
но только если согласиться использовать макросы. А если нет ?
- тогда кладёте код в надстройку.
 
Hugo, при перемещении файла с одного компа на другой
Цитата
БМВ написал:
тут сложно сказать, я даже язык поменял и проверил, все работает. Может кто еще проверит.
видимо дело в версии , у меня наверно устаревшая Excel 2010
 
Цитата
Les555 написал:
у меня наверно устаревшая Excel 2010
видимо да, смотрите или через интерфейс File/Acount  Или в ячейке используйте формулу =ИНФОРМ("версия")  или =ИНФОРМ("release")  напишет номер .
Изменено: БМВ - 9 Дек 2018 11:32:00
Страницы: 1
Читают тему (гостей: 2)
Наверх