Frage von MGB1976, 74

Wie lautet ein Makro in Excel 2010, wenn ich die Summe in Spalte B brauche, sofern die alphanumerische Bezeichnung in Spalte A gleich ist?

Beispiel:

Spalte A Spalte B 
a123 100
bb11 200
bb11 100
ccc3 400

Nach Ausführung des Makros soll es so ausschauen:

Spalte A Spalte B 
a123 100
bb11 300
ccc3 400

Vielen Dank schon mal

Antwort
von daCypher, 63

Geht am besten mit einer Pivot-Tabelle. Google mal danach. Oder probier ein bisschen rum (alles markieren, auf Einfügen > Pivot-Table gehen. Danach weiß ichs grad nicht auswendig. Jedenfalls musst du Spalte1 gruppieren und Summe von Spalte2 auswählen)

Expertenantwort
von Suboptimierer, Community-Experte für Excel, 54

Das geht mit dem Befehl Daten → Datentools → Konsolidierung (siehe Screenshot)

Nach der Konsolidierung kannst du die Quelldaten durch die Konsolidierung ersetzen.

Expertenantwort
von Oubyi, Community-Experte für Excel, 43

Teste mal dieses Makro mal genau in einer KOPIE:

Sub Konsolidieren()
Dim L As Long
Dim Zelle As Range
For L = 2 To 10000
 Set Zelle = Cells(L, 1)
  If IsEmpty(Zelle) Then Exit For
  Do While Zelle.Value = Zelle.Offset(-1, 0).Value
  Zelle.Offset(-1, 1).Value = Zelle.Offset(-1, 1).Value + Zelle.Offset(0, 1).Value
  Zelle.EntireRow.Delete
  Set Zelle = Cells(L, 1)
  Loop
Next L
End Sub


Das ist vielleicht noch nicht optimal, sollte aber klappen.
Oder?


Antwort
von augsburgchris, 38

Muss es zwingend ein Makro sein? ansonsten einfach SUMMEWENN

Kommentar von Iamiam ,

und wenn immer gerade ein (und nur ein) anderer String abgefragt werden soll, dann eine Zeile unter der/n Überschrift/en einfügen (sei Zeile 3 und eine Leerzeile, Datenfilter setzen(ab Zeile5), gewünschten String wählen und in Zelle B3 =Teilergebnis(9;B5:B55555).

Teilergebnis(9;... ist Summe/Teilsumme/Zwischensumme der sichtbaren Werte.

Da die Fkt in den vergangenen Versionen stark erweitert wurde, guckst Du am besten auch nochmal in der xl-Formelhilfe nach

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten