Как просуммировать значения ячеек в столбце до первой пустой ячейки?
Если у вас есть список чисел, содержащий пустые ячейки, и вам нужно просуммировать числа выше или ниже до ближайших пустых ячеек, чтобы получить результаты, как показано ниже, существуют ли быстрые и простые способы выполнить эту задачу в Excel?
Суммировать значения ячеек выше до пустой ячейки

Суммировать значения ячеек ниже до пустой ячейки

Суммирование значений ячеек ниже до пустых ячеек с помощью формулы массива
Суммирование значений ячеек выше до пустых ячеек с помощью кода VBA
Суммирование значений ячеек ниже до пустых ячеек с помощью формулы массива
Чтобы просуммировать значения ячеек вниз до первой пустой ячейки, используйте приведённую ниже формулу массива. Выполните следующие действия:
1. Введите эту формулу в пустую ячейку рядом со столбцом чисел,например, E1.
=IF(D1=«»,SUM(D1:INDEX(D1:$D$17,MATCH(TRUE,(D2:$D$17=""),0))),"") (D1, D2 — это первые две ячейки в вашем столбце, D17 — последняя пустая ячейка в столбце с числами).
2. Затем одновременно нажмите клавиши Ctrl + Shift + Enter и перетащите маркер заполнения вниз на ячейки, для которых нужно просуммировать числа до пустых ячеек (см. снимок экрана).

Суммирование значений ячеек выше до пустых ячеек с помощью кода VBA
Если вам нужно просуммировать значения ячеек выше до первой пустой ячейки, приведённый ниже код VBA придёт на помощь.
1. Удерживая нажатыми клавиши ALT + F11, откройте окно Microsoft Visual Basic для приложений.
2. Выберите пункт Вставка > Модуль и вставьте следующий код в окно Модуля.
Код VBA: суммирование значений ячеек выше до пустых ячеек:
Sub InsertTotals()
'Updateby Extendoffice
Dim xRg As Range
Dim i, j, StartRow, StartCol As Integer
Dim xTxt As String
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.AddressLocal
Set xRg = Application.InputBox("please select the cells:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
StartRow = xRg.Row
StartCol = xRg.Column
For i = StartCol To xRg.Columns.Count + StartCol - 1
For j = xRg.Row To xRg.Rows.Count + StartRow - 1
If Cells(j, i) = "" Then
Cells(j, i).Formula = "=SUM(" & Cells(StartRow, i).Address & ":" & Cells(j - 1, i).Address & ")"
StartRow = j + 1
End If
Next
StartRow = xRg.Row
Next
End Sub
3. Затем нажмите клавишу F5, чтобы запустить этот код. Появится диалоговое окно с запросом на выбор диапазона ячеек, для которых нужно просуммировать значения выше — вплоть до пустых ячеек (см. снимок экрана).

4. Нажмите кнопку OK, и все значения ячеек над пустыми ячейками будут просуммированы, как показано на следующем снимке экрана:

Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек