Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1644to1648
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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
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?
Anzeige
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.
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
AW: Zeilen addieren wenn Bedingungen erfüllt sind
25.09.2018 11:05:56
ChrisL
SUMMEWENNS berücksichtigt mehrere Kriterien

382 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige