Suche Excel Funktion für folgendes Problem

Ich habe folgendes Problem mit eine Tabelle von Excel gegeben:

2 Spalten:

Distanz Anzahl Personen

0,99 2
0,99 1
0,99 3
1,23 4
1,24 1
1,24 1
1,24 1
1,24 2

Dies ist ein Auszug, die Tabelle hat ungefähr 500000 Zeilen. Ich würde aber gerne das die Tabelle am Ende folgendermaßen aussieht.

Distanz Anzahl Personen

0,99 6
1,23 4
1,24 5

Vielen Dank für die Hilfe schon mal im vorraus.

Hallo Riberio,

Excel hat integrierte Sortierfunktionen. Damit können auch geschachtelte Sortierungen vorgenommen werden. In dem Fall also

  1. Sortierung nach Spalte Distanz in aufsteigender Reihenfolge,
  2. Sortierung nach Spalte „Anzahl Personen“ in absteigender Reihenfolge.

Zum Sortieren muss man vorher die Tabelle oder die Teile davon, die sortiert werden sollen, hervorheben. Man findet das Ganze im Menu Daten. Ob das allerdings mit 500000 Zeilen funktioniert, kann ich nicht sagen.

VG, Mertel

Hallo Mertel;

danke, für die Hilfe. Sortiert sind ja die Daten schon nach der ersten Spalte (Distanz). Es gibt aber in der ersten Spalte (Distanz) mehrmal die gleiche Distanz (z.B. 0,99) welche jeweils mit einer Anzahl von Personen verbunden sind (z.B. 1 oder 2 Personen).
Wenn ich alle folgende drei Zeilen habe:

Distanz(Spalte 1); Personen (Spalte 2)
0,99; 1
0,99; 3
0,99; 1

dies soll danach so aussehen, dass es nur noch eine Zeile

0,99; 5 (die zweite Zeile aufsummiert)

Gruß
Riberio

Hallo Ribero,
das ist nicht in einem Schritt zu lösen.
Hier meine Idee dazu:
Zuerst mittels Spezialfilters alle Distanzwerte herauskopieren. Dann mit SummeWenn oder SummeWennS die Anzahl Personen addieren.
Sieh also mal unter Spezialfilter und den Summenfunktionen in der Hilfe nach.
Gruß Vincenz

Hallo

Die Analyse-Funktion „Histogramm“ macht das für Dich. Alternativ kannst Du auch mit ZÄHLENWENN arbeiten.

Gruß
D.

Hallo!

Dafür kannst du die Pivot-Funktion von Excel benutzen.
Deine komplette Tabelle markieren und dann im Menü auf „Pivot-Tabelle“ klicken.
Anschließen als Zeilenfelder nimmt du die Distanz und als Datenfelder die Anzahl Personen.
Anschließend erhälst du eine Tabelle wie von dir gewünscht!

Gruß
Ralf

Hallo, versuche die Formel „SummeWenn“. Schau dir die Hilfe an und dann eine wenig probieren.

Gruß aus Bayern

Hallo Riberio,

ich kenne ja nicht genau deine Tabelle und welche Spalten da noch vorhanden sind. So ist meine Epfehlung darauf so, dass du neben der Spalte „Anzahl Personen“ (B) eine weitere Spalte mit „Summe Personen“ ©anlegst, in der die Summe der Anzahl Personen mit gleicher Distanz (Spalte A) in der letzten Zeile jeweils angezeigt wird. Also
Zeile 1 - Überschrift
Zeile 2 - leer
Zeile 3 - leer
Zeile 4 - 3
Zeile 5 - 4
Zeile 6 - leer
Zeile 7 - leer
Zeile 8 - leer
Zeile 9 - 5 und so weiter

Die Formel in dieser Spalte © lautet dann:

=WENN($A2=$A3;"";(SUMMEWENNS($C:blush:C;$B:blush:B;$A2)))

Diese Formel dann in alle 500000 Zeilen kopieren

Ich hoffe, das wars, was du suchtest.

Mit freundlichen Grüßen

Johannes E.

Hallo nochmal Riberio,

in meiner Formel ist ein Fehler: richtig muss es heißen:

=WENN($A2=$A3;"";(SUMMEWENNS($B:blush:B;$A:blush:A;$A2)))

Gruß Johannes E.

Die einfachste Methode ist die Anwendung von Hilfsspalten. Angenommen, deine Werte stehen in den Spalten A und B ab Zeile 1. Dann könnte die Lösung so aussehen:
in C1 schreibst du die Formel =MIN(A:A)
in C2 =WENN(MAX(A:A)=MAX(G$1:G1);"";KGRÖSSTE(A:A;ZÄHLENWENN(A:A;">"&C1)))
diese Formel runterziehen, bis eine Fehlermeldung kommt
in D1 kommt die Formel: =SUMMEWENN(A:A;C1;B:B)
ebenfalls runterziehen so weit wie in Spalte C keine Fehlermeldung
Das ganze funktioniert so nur mit Zahlen. Bei anderen Werten müßte man mit Arrayformeln arbeiten

Hallo Riberio,

bei den Tabellennamen gehe ich in der Formel von den Tabellennamen Tabelle1 und Tabelle2 aus. Dann bitte wie folgt vorgehen.

  • die gesamte Tabelle1 in ein zweites Tabellenblatt (Tabelle2) kopieren
  • die Spalte mit der Anzahl der Personen in Tabelle2 löschen
  • die Duplikate der ersten Spalte der neuen Tabelle2 entfernen (Daten -> Datentools -> Duplikate entfernen)
  • in der ersten Zelle der zweiten Spalte (Tabelle2) folgende Formel eingeben:
    „=SUMMEWENN(Tabelle1!A:A;Tabelle2!A1;Tabelle1!B:B)“

Die Summe des ersten Wertes wird angezeigt.

Jetzt den Cursor auf die rechte untere Ecke dieser Zelle bewegen bis ein schwarzes Kreuz angezeigt wird und mit einem Doppelklick die Formel nach unten kopieren.
Oder nach unten Ziehen.

Ich hoffe damit geholfen zu haben, geben Sie doch bitte kurz eine Rückmeldung.

Freundliche Grüße

Excel-Fan

Hallo Riberio,

hier kannst Du mit der Funktion =summewenn arbeiten.

Ich habe es ausprobiert, es funktioniert…
Die Formel lautet:
=SUMMEWENN($A$1:blush:A$8;0,99;$B$1:blush:B$8)
usw.

A B
1 0,99 2
2 0,99 1
3 0,99 3
4 1,23 4
5 1,24 1
6 1,24 1
7 1,24 1
8 1,24 2

10 0,99 6
11 1,23 4
12 1,24 5

Du kannst auch noch im Ergebnisbereich
Folgendes ausprobieren
In Spalte A10 =A1 (Wert 0,99)
In Spalte A11 = A4 (Wert 1,23)
In Spalte A12 = A5 (Wert 1,24)

Dann lautet die Formel:
=SUMMEWENN($A$1:blush:A$8;A10;$B$1:blush:B$8)
usw.

Ich hoffe, ich konnte Dir helfen.

die erste spalte in einen neuen Bereich kopieren; mit Daten->Duplikate entfernen auf die eindeutigen Werte reduzieren und dahinter „=Summewenns(Spalte 2; Spalte 1; Zelle davor)“…

Hallo Riberio,
das sollte mit der Funktion SUMMEWENN zu lösen sein
=SUMMEWENN(Bereich; Kriterium, Summe_Bereich)
=SUMMEWENN(A2:A500000;0,99;B2:B500000)
summiert die Einträge in der Spalte B, wenn in A 0,99 steht
Gruß
Brandis

Die einfachste Lösung ist eine Pivot-Tabelle.

  • Gehe auf eine Zelle in deiner Tabelle
  • Einfügen Pivottabelle
  • Neues Arbeitsblatt
  • Felder auswählen: Anzahl
  • Distanz ziehen in Zeilenbeschriftung
  • bei Werte muss „Summe von Anzahl“ stehen

Und schon hast Du die gewünschte Auflistung. Noch Fragen?

Gruß Jürgen

Hallo Riberio,

ich bin nicht ganz sicher, ob das der optimale Weg ist, aber ich würde folgendermaßen vorgehen:

Zuerst mal folgende Grundannahme: Ich gehe davon aus, dass du weißt, welche Werte in der Tabelle überhaupt vorkommen? In deinem Auszug wurden ja nur drei verschiedene Werte angegeben. Wenn das so ist, hast du es leicht:

Ich würde jetzt oberhalb der Tabelle einige Zeilen einfügen, die für die „Kurzform“ der Tabelle gedacht sind.

In die erste Spalte fügst du jetzt deine „Distanz“-Werte ein
Hinter den Wert 0,99 schreibst du in die zweite Spalte folgende Formel:

=summewenns(Datenbereich_der_Spalte_2(absolut_adressiert);Datenbereich_der_Spalte_1;Adresse_des_Feldes_in_dem_der_Suchwert_steht)

Ach du liebe Zeit! Das schaut jetzt grauenhaft aus! Darum nachfolgend nochmal mit konkreten Werten:

Angenommen, dein Wert „0,99“ steht in Zelle A2
in Zelle B2 soll die Summe aller Werte für 0,99 angegeben werden

Deine Daten stehen im Bereich (ohne Kopfzeile) von A9 bis B500000

In die Zelle B2 fügst du jetzt folgende Formel ein:

=SUMMEWENNS($B$9:blush:B$500000;$A$9:blush:A$500000;A2)

(Hinweis: Das „S“ hinter Summewenn ist kein Tippfehler, der Befehl heißt wirklich so!

Sollten in der Tabelle (was ich bei dem Umfang fast befürchte) zigtausend unterschiedliche Werte auftreten, stellt sich noch das Problem, jeden vorkommenden Wert zu ermitteln. Dazu fällt mir im Augenblick noch keine Lösung ein, da ließe sich aber definitiv auch etwas machen.

Falls das auch noch benötigt wird, bitte einfach noch einmal melden!

Viele Grüße
Jürgen/tigru

würde so gehen:
c1:=MAX(A:A) d1:=ZÄHLENWENN(A:A;C1)
c2:=WENN(ISTFEHLER(SVERWEIS(C1-0,001;A:A;1));"";SVERWEIS(C1-0,001;A:A;1))
d2:=WENN(C2"";ZÄHLENWENN(A:A;C2);"")
2te zeile für c und d runterziehen
nachteil:
sortierung von groß nach klein