Wie kann ich diese Excel-Tabelle gruppieren und eine Summe pro Gruppe bilden?

Links 1. Tabelle. Rechts: aus linker Tabelle generierte Tabelle. - (Mathematik, Microsoft Excel, Statistik)

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Du hast zwei verschieden komplizierte Möglichkeiten, das erneute Eintippen zu sparen:
1.: in E2 die Formel =B4. dabei kannst Du natürlich was übersehen
komplizierter, aber sicherer die
Methode 2:
in E2 die Formel: =wenn(Zählenwenn(B$1:B2;B2)>1;"-";B2)
runterkopieren. Das schreibt Dir jeden NEUEN Namen rein, bei Wiederholungen nur ein "-". ist aber für die Auswertung irrelevant, wenn Du das nächste machst:
Du kannst das kombinieren mit Summewenn:

in F2: =wenn(Zählenwenn(B$1:B2;B2)>1;0;1)*summewenn(B:B;B2;C:C)

ebenfalls runterkopieren. Das müsste für alle Wiederholungszeilen 0 ergeben, für alle erstmalig aufgetretenen Namen die Summe aller dieser.
Allerdings lassen diese Formeln zwischen dem jeweiligen Erstauftreten große Lücken, die nur mit "-" oder -je nach Formatierung- mit 0 gefüllt sind.
ich verwende in solchen Fällen immer ein benutzerdefiniertes Format, zB.

#.##0;[Rot]-#.##0;[Farbe7] ٠
das ٠ nennt sich indische Null und ist ein so kleiner magentafarbener Punkt, dass er die Übersicht nicht stürt, aber dass man sieht, dass in dieser Zelle ein Eintrag steht.
Ausserdem kann man damit unterscheiden, ob es eine "echte Null" ist oder eine gerundete:
0,00 könnte ja auch 0,004 sein!
Mit Stellen hinzufägen lässt sichj das auch auf zB #.##0,00;[Rot]-#.##0,00;[Farbe7] ٠
bringen.

Ist mir aber heute zu spät, obige Formeln noch nachzuprüfen!


Iamiam  16.06.2013, 10:52

muss heissen:

in F2: =wenn(Zählenwenn(B$1:B2;B2)<>1;0;1)*summewenn(B:B;B2;C:C)

da ansonsten noch nicht aufgeführte 1*Summewenn(...) ergäben.

oder vllt näher am Grundgedanken:

=wenn(Zählenwenn(B$1:B2;B2)=1;1;0)*summewenn(B:B;B2;C:C)

also:
bestimme das erste Auftreten und gib dort die Summe aller Nennungen wieder.

0
Iamiam  16.06.2013, 13:55
@Iamiam

"Wenn man eine Zeile in der ersten Tabelle hinzufügt sollte die zweite Tabelle auch aktualisiert werden":
Du musst dann die Formel oberhalb der eingefügten Zeile auf die Eingefügte
UND AUF DIE DARUNTER runterkopieren.

(bin mir jetzt nicht ganz sicher, ob UND AUF DIE DARUNTER wirklich notwendig ist, schadet aber nicht!

0
Iamiam  17.06.2013, 15:26
@Iamiam

wenn Du mit dem Link von Oubyi klarkommst, ist die Lösung natürlich eleganter.

0

Die Formellösung um in Spalte E alle Marken ohne Doppelte aufgelistet zu bekommen (immer aktuell und ohne händisches Filtern) findest Du hier:

http://www.excelformeln.de/formeln.html?welcher=194

ACHTUNG, das sind Matrixformeln.
Das bedeutet: Die geschweiften Klammern {} NICHT mit eingeben, sondern die Eingabe der Formel NICHT mit ENTER abschließen, sondern mit:
STRG & SHIFT & ENTER (alle drei gleichzeitig).
DAS erzeugt die { } und macht die Formel zu einer Matrixformel.

Wenn Du nicht klar kommst, dann melde dich nochmal, dann passe ich Dir die Formel an.

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)

Das könnte mit der SUMMEWENN-Funktion gelöst werden. Für nähere Infos konsultiere die Hilfe und Google.


reconciliation1 
Fragesteller
 15.06.2013, 23:18

Gut, Danke funktioniert so weit:

=SUMMEWENN($B$2:$B$10;E2;$C$2:$C$10)

Nachteil ist nur, daß man die Schuhe erst mal manuell in die zweite Tabelle eintragen muß. Angenommen es sind 100 verschiedene Schuhe, dann ist es aufwändig erstmal alle Schuhe händisch zu gruppieren. Ok man könnte es mit Spezialfilter/keine Duplikate machen, aber den Spezialfilter müsste man dann vermutlich auch jedesmal per Hand aktualisieren, wenn man einen neuen Schuh einfügt?

Am flexibelsten ist man wahrscheinlich mit VBA? Man klickt z. B. auf einem Button und die zweite Tabelle wird vollkommen automatisch erstellt.
Wäre das sehr aufwändig zu programmieren?

0
DeeDee07  15.06.2013, 23:38
@reconciliation1

Ich denke, der Programmieraufwand wäre - abhängig von Kenntnissen, Erfahrung und Routine - überschaubar, also durchaus machbar.

Wäre ja nur:

"Schleife

Prüfe ob Element aus B in E schon vorhanden; wenn ja, addiere C zu entsprechendem F, wenn nein, lege neues Feld an

Gehe zu nächster Zelle in B und wiederhole, bis B leer ist"

Ich hoffe, dass war verständlich genug :D

Für dein Vorhaben wäre allerdings auch eine Datenbank z.B. Access sinnvoll. Die Tabelle kannst du aus Excel importieren und mit Abfragen eine Ergebnis"tabelle" erzeugen.

0

Ups, sorry ich sehe gerade ich habe die Beispiel-Tabelle nachträglich verändert:
Der erste Eintrag muß natürlich lauten: 07.01.13 Adidas 7 und nicht Puma Sonst stimmt die händisch erstellte rechte Tabelle nicht.