Herbers Excel-Forum - das Archiv

Summe nach Namen

Bild

Betrifft: Summe nach Namen
von: Sonja

Geschrieben am: 05.01.2007 01:44:34
Hallo Zusammen,
Folgendes Problem:
Habe eine Tabelle, in Spalte A sind Namen untereinander sortiert, in Spalte B die dazugehörigen Werte. Nun sollen die Werte nach Namen summiert und in Spalte C die Gesamtsumme für die jeweilige Person ausgegeben werden.
Die Blöcke mit den Namen können immer unterschiedlich lang sein.
Hoff, mein Problem war verständlich und könnt mir helfen?!
Vielleicht hat ja jemand schon so einen ähnlichen VBA-Code
Habe ein kleines Beispiel hochgeladen, wie ich mir das vorstell.
https://www.herber.de/bbs/user/39394.xls
Gruß Sonja
Bild

Betrifft: AW: Summe nach Namen
von: Matthias G

Geschrieben am: 05.01.2007 02:01:12
Hallo Sonja,
das geht auch ohne Makros:
Name
 ABC
1NAMEStückGesamtsumme
2alex501250
3alex100 
4alex150 
5alex50 
6alex100 
7alex150 
8alex50 
9alex100 
10alex150 
11alex50 
12alex100 
13alex150 
14alex50 
15Marta3005200
16Marta400 
17Marta500 
18Marta600 
19Marta700 
20Marta800 
21Marta900 
22Marta1000 
23Heinz1261280
24Heinz15 
25Heinz565 
26Heinz54131 
Formeln der Tabelle
C2 : =WENN(ZÄHLENWENN(A$2:A2;A2)=1;SUMMEWENN(A:A;A2;B:B);"")
C3 : =WENN(ZÄHLENWENN(A$2:A3;A3)=1;SUMMEWENN(A:A;A3;B:B);"")
C4 : =WENN(ZÄHLENWENN(A$2:A4;A4)=1;SUMMEWENN(A:A;A4;B:B);"")
C5 : =WENN(ZÄHLENWENN(A$2:A5;A5)=1;SUMMEWENN(A:A;A5;B:B);"")
C6 : =WENN(ZÄHLENWENN(A$2:A6;A6)=1;SUMMEWENN(A:A;A6;B:B);"")
C7 : =WENN(ZÄHLENWENN(A$2:A7;A7)=1;SUMMEWENN(A:A;A7;B:B);"")
C8 : =WENN(ZÄHLENWENN(A$2:A8;A8)=1;SUMMEWENN(A:A;A8;B:B);"")
C9 : =WENN(ZÄHLENWENN(A$2:A9;A9)=1;SUMMEWENN(A:A;A9;B:B);"")
C10 : =WENN(ZÄHLENWENN(A$2:A10;A10)=1;SUMMEWENN(A:A;A10;B:B);"")
C11 : =WENN(ZÄHLENWENN(A$2:A11;A11)=1;SUMMEWENN(A:A;A11;B:B);"")
C12 : =WENN(ZÄHLENWENN(A$2:A12;A12)=1;SUMMEWENN(A:A;A12;B:B);"")
C13 : =WENN(ZÄHLENWENN(A$2:A13;A13)=1;SUMMEWENN(A:A;A13;B:B);"")
C14 : =WENN(ZÄHLENWENN(A$2:A14;A14)=1;SUMMEWENN(A:A;A14;B:B);"")
C15 : =WENN(ZÄHLENWENN(A$2:A15;A15)=1;SUMMEWENN(A:A;A15;B:B);"")
C16 : =WENN(ZÄHLENWENN(A$2:A16;A16)=1;SUMMEWENN(A:A;A16;B:B);"")
C17 : =WENN(ZÄHLENWENN(A$2:A17;A17)=1;SUMMEWENN(A:A;A17;B:B);"")
C18 : =WENN(ZÄHLENWENN(A$2:A18;A18)=1;SUMMEWENN(A:A;A18;B:B);"")
C19 : =WENN(ZÄHLENWENN(A$2:A19;A19)=1;SUMMEWENN(A:A;A19;B:B);"")
C20 : =WENN(ZÄHLENWENN(A$2:A20;A20)=1;SUMMEWENN(A:A;A20;B:B);"")
C21 : =WENN(ZÄHLENWENN(A$2:A21;A21)=1;SUMMEWENN(A:A;A21;B:B);"")
C22 : =WENN(ZÄHLENWENN(A$2:A22;A22)=1;SUMMEWENN(A:A;A22;B:B);"")
C23 : =WENN(ZÄHLENWENN(A$2:A23;A23)=1;SUMMEWENN(A:A;A23;B:B);"")
C24 : =WENN(ZÄHLENWENN(A$2:A24;A24)=1;SUMMEWENN(A:A;A24;B:B);"")
C25 : =WENN(ZÄHLENWENN(A$2:A25;A25)=1;SUMMEWENN(A:A;A25;B:B);"")
C26 : =WENN(ZÄHLENWENN(A$2:A26;A26)=1;SUMMEWENN(A:A;A26;B:B);"")
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Gruß Matthias
Bild

Betrifft: AW: Summe nach Namen
von: Sonja

Geschrieben am: 05.01.2007 02:18:22
Hi Matthias,
vielen Dank für deine prompte Antwort!
Das Formel funktioniert einwandfrei, bloß nützt mir diese Funktion nichts.
Die Tabelle wird nach einem Prozess jedes mal neu generiert und Spalten gelöscht etc., deshalb brauche ich einen VBA-Code, der mir nach der ganzen Prozedur diese Summen bildet. Sonst müsste ich jedesmal die Formel neu schreiben und kopieren.
Ist für Dich jetzt wahrscheinlich nicht so nachvollziehbar...
Hast du vielleicht noch eine VBA Lösung auf Lager!?
Gruß Sonja
Bild

Betrifft: AW: Summe nach Namen
von: Matthias G

Geschrieben am: 05.01.2007 02:24:46
Hallo Sonja,
ok, man könnte die Formel mit VBA eintragen:
Sub test()
Dim z As Long
z = Cells(Rows.Count, 1).End(xlUp).Row
With Range("C2")
.FormulaR1C1 = "=IF(COUNTIF(R2C[-2]:RC[-2],RC[-2])=1,SUMIF(C[-2],RC[-2],C[-1]),"""")"
.AutoFill Destination:=Range("C2:C" & z)
End With
End Sub

Gruß Matthias
Bild

Betrifft: AW: Summe nach Namen
von: Sonja
Geschrieben am: 05.01.2007 02:32:39
Hi Matthias,
vielen Dank!
Klappt einwandfrei! ;)
man hört sich...
eine gute Nacht noch!
Sonja
Bild

Betrifft: AW: Danke, dir auch - o.T.
von: Matthias G
Geschrieben am: 05.01.2007 02:33:20
-
 Bild