Hoe celwaarden in een kolom optellen totdat de lege cel is bereikt?
Als u een lijst met getallen heeft die gevuld zijn met enkele lege cellen, en nu, moet u de getallen boven of onder tot lege cellen in deze lijst optellen om de volgende resultaten te krijgen. Heeft u een snelle of gemakkelijke manier om deze taak in Excel op te lossen?
Som celwaarden hierboven op tot lege cel
Som celwaarden hieronder op tot lege cel
Som celwaarden hieronder op tot lege cellen met matrixformule
Som celwaarden hierboven op tot lege cellen met VBA-code
Som celwaarden hieronder op tot lege cellen met matrixformule
Om onderstaande celwaarden bij elkaar op te tellen tot blanco, is hier een matrixformule, doe dit als volgt:
1. Voer deze formule in een lege cel naast uw kolom met nummers in, E1Bijvoorbeeld.
=IF(D1="",SUM(D1:INDEX(D1:$D$17,MATCH(TRUE,(D2:$D$17=""),0))),"") (D1, D2 zijn de eerste twee cellen in uw kolom, D17 is de laatste lege cel in de cijferkolom).
2. Druk vervolgens op Ctrl + Shift + Enter toetsen samen en sleep vervolgens de vulgreep naar de cellen waarvan u de onderstaande getallen wilt optellen tot lege plekken, zie screenshot:
Som celwaarden hierboven op tot lege cellen met VBA-code
Als u bovenstaande celwaarden moet optellen tot lege cellen, kan de volgende VBA-code u een plezier doen.
1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.
2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.
VBA-code: som celwaarden hierboven op tot blanco:
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. Druk vervolgens op F5 toets om deze code uit te voeren, en er verschijnt een promptvenster om u eraan te herinneren het celbereik te selecteren waarvan u de cellen hierboven wilt optellen tot lege cellen, zie screenshot:
4. Dan klikken OK knop, zijn alle celwaarden boven lege cellen opgeteld zoals in het volgende screenshot wordt getoond:
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar effici毛ntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!