Страницы: 1
RSS
сумма по части столбца
 
Доброго дня

есть столбец с заполненными ячейками, есть разрывы(незаполненные ячейки, по 2 ячейки подряд)
задача: в первой свободной ячейке посчитать сумму заполненных до неё ячеек, соответственно и в дальнейших незаполненных ячейках надо вставлять такую же сумму, именно частей столбца, от незаполненной ячейки до ячейки суммирования
столбец очень большой, порядка 7000 строк
Изменено: Hob - 05.05.2024 14:59:54
 
Hob,  выделить с запасом для суммы внизу и выполнить макрос
Код
Sub tt()
Dim c As Range, t

For Each c In Selection
If c = Empty Then
c = t: t = Empty
Else
t = t + c
End If
Next
End Sub

Можно ещё по ходу дела и пометить какнить сумму - жирненьким там, или красным-жёлтым...
Изменено: Hugo - 05.05.2024 14:47:02
 
Так нужно?
Алексей М.
 
спасибо!!!
теперь бы въехать как это работает!
Изменено: Hob - 06.05.2024 09:21:51
 
Цитата
написал:
Так нужно?
так! спасибо огромное!
теперь бы разобраться как это работает)))
Изменено: Hob - 06.05.2024 09:27:34
 
Цитата
написал:
выделить с запасом для суммы внизу и выполнить макрос
сильно плаваю я пока с макросами ...
буду тестить, разбираться
 
Цитата
написал:
как это работает
Код
=СУММ(A$1:A5)-СУММ(A$1:ИНДЕКС(A:A;ПРОСМОТР(2;1/(A$1:A5="");СТРОКА(A$1:A5))))
Пояснение для формулы в А6
СУММ(A$1:A5) - сумма от первой ячейки столбца до предыдущей ячейки с формулой
ПРОСМОТР(2;1/(A$1:A5="");СТРОКА(A$1:A5)) - определяет строку с ближайшей пустой ячейкой выше ячейки с формулой.
СУММ(A$1:ИНДЕКС(A:A;ПРОСМОТР(2;1/(A$1:A5="");СТРОКА(A$1:A5))) - сумма от первой ячейки столбца до ближайшей пустой ячейки выше ячейки с формулой
Разница сумм есть искомая сумма.
Алексей М.
 
Цитата
написал:
ПРОСМОТР(2;1/(A$1:A5="");СТРОКА(A$1:A5)) - определяет строку с ближайшей пустой ячейкой выше ячейки с формулой.
1/(A$1:A5="") - а вот это? ложь/истина - пустая ячейка?
Изменено: Hob - 06.05.2024 12:45:09
 
Цитата
написал:
1/(A$1:A5="") - а вот это?
просматриваемый вектор {1:1:#ДЕЛ/0!:#ДЕЛ/0!:#ДЕЛ/0!}
Ищем 2
Если функции ПРОСМОТР не удается найти искомое_значение, то в просматриваемом_векторе  выбирается наибольшее значение, которое меньше искомого_значения или равно ему.
Находит последнюю единицу, а функция возвращает соответствующее значение из вектора результатов {1:2:3:4:5} - т.е. 2
Алексей М.
 
Цитата
написал:
просматриваемый вектор {1:1:#ДЕЛ/0!:#ДЕЛ/0!:#ДЕЛ/0!}Ищем 2Если функции ПРОСМОТР не удается найти искомое_значение, то в просматриваемом_векторе  выбирается наибольшее значение, которое меньше искомого_значения или равно ему.Находит последнюю единицу, а функция возвращает соответствующее значение из вектора результатов {1:2:3:4:5} - т.е. 2
въехал!
спасибо!
с праздником!
Страницы: 1
Наверх