Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilen addieren wenn Bedingungen erfüllt sind

Zeilen addieren wenn Bedingungen erfüllt sind
24.09.2018 13:27:38
Samantha
Hallo zusammen,
Ich bräuchte ein Makro, dass mir Werte in zwei Spalten zusammen rechnet wenn zwei Bedingungen erfüllt sind.
Ausgangstabelle
A B C D
5 2 500 30
5 2 300 20
4 1 200 66
4 2 600 78
2 5 500 52
1 5 700 100
Endtabelle
A B C D
5 2 800 50
4 1 200 66
4 2 600 78
2 5 500 52
1 5 700 100
Das Makro soll in Spalte A schauen ob es doppelte Werte gibt. Wenn ja soll er in Spalte D schauen ob die Werte auch gleich sind.
Wenn ja dann soll er in Spalte C und in Spalte D die Werte addieren und anschließend die überflüssigen Zeilen löschen.
Kann mir hier jemand weiterhelfen?
Danke
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen addieren wenn Bedingungen erfüllt sind
24.09.2018 13:44:53
Daniel
Hi
Muss es ein Makro sein?
Mit Hilfe der Pivittabelle ließe sich die Auswertung mit ein paar Klicks zusammenstellen.
Gruß Daniel
AW: Zeilen addieren wenn Bedingungen erfüllt sind
24.09.2018 13:45:20
ChrisL
Hi
In Spalte E und F die Formel einsetzen
=SUMMEWENNS(C:C;$A:$A;$A1;$B:$B;$B1)
=SUMMEWENNS(D:D;$A:$A;$A1;$B:$B;$B1)
Formel in Werte umwandeln. Duplikate entfernen. Spalten C und D löschen.
Der Vorgang müsste sich mit dem Makrorekorder aufzeichnen lassen.
cu
Chris
Anzeige
AW: Zeilen addieren wenn Bedingungen erfüllt sind
24.09.2018 13:48:20
Toastie
Entweder habe ich deine Erläuterung nicht verstanden oder dein Beispiel passt nicht. Summieren soll er doch nur wenn die Werte in Spalte A und in Spalte D identisch sind (so stehts zumindest in deinem Text). Oder meintest du Spalte B?
AW: Zeilen addieren wenn Bedingungen erfüllt sind
25.09.2018 10:30:46
Samantha
Hallo
Danke für eure Rückmeldungen. Ich meine natürlich Spalte B.
Also ein Makro wäre mir lieber, da mein ganzes Excelsheet anschließend mit einem Makro bearbeitet werden soll.
Vielen Dank.
Anzeige
AW: Zeilen addieren wenn Bedingungen erfüllt sind
25.09.2018 10:38:23
Samantha
Ich hab die Formel ausprobiert. Allerdings liefert mir die Formel falsche Ergebnisse. Da es vorkommen kann, dass in Spalte A die ID auch 10mal vorkommt und nur wenn dann die Spalte B auch immer das gleich drin steht soll er mir die Spalte C und D summieren.
AW: Zeilen addieren wenn Bedingungen erfüllt sind
25.09.2018 10:43:05
Samantha
https://www.herber.de/bbs/user/124201.xlsx
Das wäre meine Beispieldatei
Anzeige
AW: Zeilen addieren wenn Bedingungen erfüllt sind
25.09.2018 11:11:18
daniel
Hi
eine Möglichkeit wäre diese, das ist jetzt etwas fortgeschrittenere Programmiertechnik
Sub test()
Dim ID As String
Dim arrID
Dim arrWerte
Dim dic1 As Object
Dim dic2 As Object
Dim z As Long
With ActiveSheet.Cells(1, 1).CurrentRegion
arrID = .Columns(1).Resize(, 2).Value
arrWerte = .Columns(3).Resize(, 2).Value
Set dic1 = CreateObject("scripting.dictionary")
Set dic2 = CreateObject("scripting.dictionary")
For z = 2 To UBound(arrID, 1)
ID = arrID(z, 1) & arrID(z, 2)
dic1(ID) = dic1(ID) + arrWerte(z, 1)
dic2(ID) = dic2(ID) + arrWerte(z, 2)
Next
For z = 2 To UBound(arrID, 1)
ID = arrID(z, 1) & arrID(z, 2)
arrWerte(z, 1) = dic1(ID)
arrWerte(z, 2) = dic2(ID)
Next
.Columns(3).Resize(, 2).Value = arrWerte
.RemoveDuplicates Array(1, 2), xlYes
End With
End Sub

Gruß Daniel
Anzeige
AW: Zeilen addieren wenn Bedingungen erfüllt sind
25.09.2018 11:21:29
Samantha
Meine Programmierkenntnisse reichen zwar nicht aus um das Makro im Detail zu verstehen aber es funktioniert einwandfrei.
Vielen Dank dafür.
AW: Zeilen addieren wenn Bedingungen erfüllt sind
25.09.2018 11:58:52
daniel
HI
dann probiere mal das, hier ist der Ablauf etwas leichter verständlich und entspricht dem, was man sinnvollerweise in Excel tun würde, wenn man die Aufgabe von Hand ohne VBA-Unterstützung lösen müsste (optimiert für große Datenmengen).
dh du kannst den Code im Einzelstep ausführen und dir dabei anschauen, was in der Exceltabelle passiert um es nachzuvollziehen und zu verstehen:
Sub test()
With Cells(1, 1).CurrentRegion
.Sort key1:=.Cells(1, 1), order1:=xlAscending, key2:=.Cells(1, 2), order2:=xlAscending,  _
Header:=xlYes
With .Columns(.Columns.Count + 1).Resize(, 3)
.Columns(1).FormulaR1C1 = "=RC3+IF(AND(RC1=R[1]C1,RC2=R[1]C2),R[1]C,0)"
.Columns(2).FormulaR1C1 = "=RC4+IF(AND(RC1=R[1]C1,RC2=R[1]C2),R[1]C,0)"
.Columns(3).FormulaR1C1 = "=RC5"
.Cells(1, 1).FormulaR1C1 = "=RC3"
.Cells(1, 2).FormulaR1C1 = "=RC4"
.Formula = .Value
End With
End With
Cells(1, 1).CurrentRegion.RemoveDuplicates Array(1, 2), xlYes
With Cells(1, 1).CurrentRegion.Columns(3).Resize(, 3)
.Copy
.Offset(0, 3).PasteSpecial xlPasteFormats
.Delete Shift:=xlToLeft
End With
End Sub
Gruß Daniel
Anzeige
AW: Zeilen addieren wenn Bedingungen erfüllt sind
25.09.2018 12:49:26
Samantha
Wenn du noch so nett wärst und mir jeweils eine kurze Beschreibung neben die Zeile schreibst, dann könnt ich das Makro eindeutig verstehen.
AW: Zeilen addieren wenn Bedingungen erfüllt sind
25.09.2018 21:52:12
Daniel
Naja ist doch fast Englisch.
Und damit quasi selbst dokumentierend.
Sort ist sortieren
RemoveDuplicates entfernt die doppelten Zeilen.
Die Formeln summieren die Werte für jede ID nach oben auf, so dass immer in der obersten Zeile einer Gruppe (welche beim Duplikate entfernen stehen bleibt) die Summe steht.
Am besten gehst du den Code im Einzelsteppmodus Zeile für Zeile durch und schaust, was im Excel-Tabelle Blatt passiert. Dann kannst du dir auch die Formeln auf deutsch anschauen.
Gruß Daniel
Anzeige
AW: Zeilen addieren wenn Bedingungen erfüllt sind
25.09.2018 21:52:14
Daniel
Naja ist doch fast Englisch.
Und damit quasi selbst dokumentierend.
Sort ist sortieren
RemoveDuplicates entfernt die doppelten Zeilen.
Die Formeln summieren die Werte für jede ID nach oben auf, so dass immer in der obersten Zeile einer Gruppe (welche beim Duplikate entfernen stehen bleibt) die Summe steht.
Am besten gehst du den Code im Einzelsteppmodus Zeile für Zeile durch und schaust, was im Excel-Tabelle Blatt passiert. Dann kannst du dir auch die Formeln auf deutsch anschauen.
Gruß Daniel
Anzeige
AW: Zeilen addieren wenn Bedingungen erfüllt sind
25.09.2018 11:05:56
ChrisL
SUMMEWENNS berücksichtigt mehrere Kriterien

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeilen addieren bei erfüllten Bedingungen in Excel


Schritt-für-Schritt-Anleitung

Um in Excel Werte zu addieren, wenn bestimmte Bedingungen erfüllt sind, kannst Du die Funktion SUMMEWENNS verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Daten vorbereiten: Stelle sicher, dass Deine Daten in einem tabellarischen Format vorliegen. Du benötigst mindestens zwei Spalten für die Bedingungen und eine Spalte für die Werte, die summiert werden sollen.

  2. Formel eingeben:

    • Gehe zu der Zelle, in der Du das Ergebnis sehen möchtest.
    • Verwende die folgende Formel:
      =SUMMEWENNS(C:C, A:A, A1, B:B, B1)
    • Hierbei wird in Spalte C (Werte) summiert, wenn die Bedingungen in Spalte A und B erfüllt sind.
  3. Formel nach unten ziehen: Ziehe die Zelle mit der Formel nach unten, um die Berechnung für alle Zeilen durchzuführen.

  4. Duplikate entfernen: Wenn Du die Summen für die gleichen IDs hast, kannst Du die Duplikate aus der Liste entfernen, um die Endtabelle zu erstellen.


Häufige Fehler und Lösungen

  • Falsche Ergebnisse: Überprüfe, ob die Bedingungen korrekt in der Formel angegeben sind. Stelle sicher, dass Du die richtigen Spalten verwendest.

  • Duplikate nicht korrekt entfernt: Achte darauf, dass Du die Funktion „Duplikate entfernen“ im Menü „Daten“ richtig anwendest.

  • Formel ergibt #WERT!: Dies kann passieren, wenn die verwendeten Bereiche nicht die gleiche Größe haben. Achte darauf, dass die Bereiche übereinstimmen.


Alternative Methoden

  • Pivot-Tabellen: Eine Pivot-Tabelle kann einfach und schnell die gewünschten Summen berechnen, ohne die Notwendigkeit von komplexen Formeln oder Makros. Du kannst die Pivot-Tabelle so einstellen, dass sie nach ID gruppiert und die Werte summiert.

  • Makros: Wenn Du mit VBA vertraut bist, kannst Du ein Makro erstellen, das die Werte automatisch addiert, wenn die Bedingungen erfüllt sind. Hier ist ein einfaches Beispiel:

    Sub WerteAddieren()
      ' Deine VBA Logik hier
    End Sub

Praktische Beispiele

Angenommen, Du hast die folgende Tabelle:

A B C D
5 2 500 30
5 2 300 20
4 1 200 66
4 2 600 78
2 5 500 52

Um die Werte in Spalte C zu addieren, wenn die IDs in Spalte A und B übereinstimmen, kannst Du die oben genannte Formel SUMMEWENNS verwenden. Das Ergebnis wäre:

A B C D
5 2 800 50
4 1 200 66
4 2 600 78
2 5 500 52

Tipps für Profis

  • Nutze die WENN-Funktion in Kombination mit SUMMEWENNS, um noch spezifischere Bedingungen zu definieren.
  • Stelle sicher, dass Du die Excel-Version verwendest, die die Funktionen unterstützt, z.B. Excel 2010 oder neuer.
  • Experimentiere mit den Filterfunktionen in Excel, um Deine Daten vor der Analyse zu visualisieren.

FAQ: Häufige Fragen

1. Wie kann ich nur addieren, wenn eine andere Zelle einen bestimmten Wert hat? Du kannst die Formel wie folgt anpassen:

=SUMMEWENNS(C:C, A:A, A1, B:B, B1, D:D, "<>0")

Dies addiert nur die Werte in Spalte C, wenn die Bedingungen in den Spalten A, B und D erfüllt sind.

2. Funktioniert das auch mit mehreren Bedingungen? Ja, die SUMMEWENNS-Funktion erlaubt es Dir, mehrere Bedingungen zu definieren. Achte darauf, dass Du für jede Bedingung den entsprechenden Bereich angibst.

3. Kann ich die Formel auch für mehrere Zellen gleichzeitig anwenden? Ja, Du kannst die Formel in eine Zelle eingeben und dann nach unten ziehen, um sie auf andere Zellen anzuwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige