Hoe cellenwaarden in een kolom optellen totdat een lege cel bereikt wordt?
Als u een lijst met getallen hebt die hier en daar lege cellen bevat, en u wilt nu de getallen boven of onder optellen tot aan de lege cellen in deze lijst om de volgende resultaten te krijgen. Heeft u snelle of gemakkelijke manieren om dit in Excel te doen?
Cellenwaarden hierboven optellen totdat een lege cel
Cellenwaarden hieronder optellen totdat een lege cel
Cellenwaarden hieronder optellen totdat lege cellen met een matrixformule
Cellenwaarden hierboven optellen totdat lege cellen met VBA-code
Cellenwaarden hieronder optellen totdat lege cellen met een matrixformule
Om cellenwaarden hieronder op te tellen totdat er lege cellen zijn, is hier een matrixformule, doe het als volgt:
1. Voer deze formule in een lege cel naast uw kolom met getallen in, bijvoorbeeld E1.
=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 getallenkolom).
2. Druk vervolgens tegelijkertijd op Ctrl + Shift + Enter, en sleep daarna de vulgreep naar beneden naar de cellen waarin u de getallen hieronder wilt optellen totdat er lege cellen zijn, zie screenshot:
Cellenwaarden hierboven optellen totdat lege cellen met VBA-code
Als u cellenwaarden hierboven moet optellen totdat lege cellen, kan de volgende VBA-code u helpen.
1. Houd de toetsen ALT + F11 ingedrukt om het venster Microsoft Visual Basic for Applications te openen.
2. Klik op Invoegen > Module, en plak de volgende code in het Modulevenster.
VBA-code: Cellenwaarden hierboven optellen totdat lege cellen:
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 de F5-toets om deze code uit te voeren, en er verschijnt een pop-upvenster dat u eraan herinnert de reeks cellen te selecteren die u wilt optellen totdat er lege cellen zijn, zie screenshot:
4. Klik vervolgens op de knop OK, alle cellenwaarden boven de lege cellen zijn opgeteld zoals in de volgende schermafbeelding te zien is:
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!