Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1412to1416
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

SVERWEIS und MAX() kombinieren

SVERWEIS und MAX() kombinieren
06.03.2015 09:48:38
Daniel
Hallo zusammen,
ich stehe vor einem Problem. Meine Tabelle hat drei Spalten. In der ersten Spalte stehen Namen und in der zweiten Spalte stehen Kalenderwochen.
Jeder Name kann öfters in der Liste vorkommen und die zugeordnete Kalenderwoche ist immer unterschiedlich.
Jetzt möchte ich in der dritten Spalte den größten Wert der entsprechenden Kalenderwoche auswerfen.
Ein kleines Beispiel
Name/KW/KWMax
A 03 45
C 10 33
C 33 33
A 05 45
B 12 51
A 45 45
A 29 45
B 01 51
B 51 51
B 09 51
C 27 33
C 13 33
Eine Matrixformel löst dieses Problem super schnell:
{=KGRÖSSTE(($A$2:$A$200000=A2)*$B$2:$B$200000;1)}
Aber wie ihr schon seht ist die Tabelle sehr groß und wird auch immer erweitert... In 200000 Zellen stehen Matrixformeln und das schafft der Rechner nicht wirklich zügig.
Habt ihr Ideen wie man diese Berechnung ohne Matrixformel lösen kann?
Ich danke euch schon mal.
Gruß Daniel

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
200.000 Formeln runterkopieren ist Blödsinn
06.03.2015 10:00:25
WF
Hi,
dann müsstest Du ja, um das Maximum einer KW zu finden ewig weit runtersrollen, bis die das erste mal erscheint.
Nimm Deine Formel (einmal) - die gesuchte KW steht in H1
{=KGRÖSSTE(($A$2:$A$200000=H1)*$B$2:$B$200000;1)}
WF

AW: 200.000 Formeln runterkopieren ist Blödsinn
06.03.2015 10:35:13
Daniel
Hey,
im Grunde hast du recht. Allerdings ist diese Tabelle die Basis für eine Pivot-Tabelle und damit die Auswertung richtig funktioniert benötige ich die KW in jeder Zeile :(

AW: SVERWEIS und MAX() kombinieren
06.03.2015 10:14:25
Klexy
Lass die Spalte KWmax ganz weg und mach eine neue Tabelle daneben.
Spalte G: alle Namen (jeweils nur 1x) und Spalte H deine Formel etwas abgewandelt
Name | MaxKW
A | =KGRÖSSTE(($A$2:$A$200000=G2)*$B$2:$B$200000;1)
B | =KGRÖSSTE(($A$2:$A$200000=G3)*$B$2:$B$200000;1)
C | =KGRÖSSTE(($A$2:$A$200000=G4)*$B$2:$B$200000;1)

Anzeige
Korrektur
06.03.2015 10:15:10
Klexy
Mit geschwungener Klammer natürlich.

AW: SVERWEIS und MAX() kombinieren
06.03.2015 10:49:41
Daniel
Das wäre noch eine ganz gute Alternative. Es kommen aber auch immer neue Namen hinzu. Die Daten werden per VBA automatisch importiert.
Kann ich mir mit Formeln eine Liste aller Namen erstellen lassen?

AW: SVERWEIS und MAX() kombinieren
06.03.2015 13:12:44
Klexy
Mit Pivot-Tabelle geht das.
Beim Import von neuen Namen kannst du ja eine Prüfung ins Makro einbauen und die neuen Namen in die neue Liste reinschreiben lassen.

AW: SVERWEIS und MAX() kombinieren
06.03.2015 10:57:40
Daniel
Hi
wenn du deinen Rechner entlasten willst, musst du selber etwas arbeiten:
1. sichere die ursprüngliche Reihenfolge. (in einer Hilfsspalte in jeder Zeile die Zeilennummer eintragen, hierzu in die erste Zeile 1, in die zweite Zeile 2 eintrageng, dann beide Zellen markieren und nach unten ziehen)
dies ist nur erforderich, wenn die originalreihenfolge benötigt wird und diese nicht mit den vorhandenen Daten sortiert werden kann.
2. sortiere nach Namen (Prio 1) und KW (Prio 2) aufsteigend.
3. trage in Spalte C folgende Formel ein (Formel für C2)
=Wenn(A2=A3;C3;B2)
4. kopiere Spalte C und füge sie an gleicher Stelle als Wert ein
5. sortiere in die ursprüngliche Reihenfolge zurück und lösche die Sortierspalte.
- das ist braucht die wenigste Rechenzeit, weil Excel immer nur noch 2 benachbarte Zellen miteinander vergleichen muss und nicht mehr jede Zelle mit allen anderen (und das mehrfach)
- Im Sortieren ist Excel sehr schnell.
- im Vertigen Endergebnis stehen keine Formeln sondern Festwerte.
Gruß Daniel

Anzeige
AW: SVERWEIS und MAX() kombinieren
06.03.2015 11:03:40
Daniel
noch ne händische alternative:
1. Erstelle von der vorhanden Tabelle eine Pivottabelle und werte die Kalenderwoche nach Namen mit der Funktion MAX aus
2. spiele dann in der Spalte C die Maximale KW aus der Pivottabelle mit Hilfe des SVerweises zu.
wenn du die Pivotauswertung gleich sortiert, kannst du auch die schnelle Variante des SVerweises verwenden (4. Parameter = WAHR)
Gruß Daniel

AW: SVERWEIS und MAX() kombinieren
06.03.2015 12:04:05
Daniel
Super Idee, ich hab deine erste Variante gewählt. Die Datei läuft jetzt richtig gut... ;) Vielen Dank.

AW: SVERWEIS und MAX() kombinieren
06.03.2015 12:15:17
Daniel
du kannst auch bei der zweiten Variante hinterher die Formeln in Spalte C durch ihren Wert ersetzen, um die gleiche Performance zu erhalten.
bei der zweiten Variante sparst du dir das Umsortieren.
Und wenn die Datei regelmässig erweitert wird, musst du nur die Pivottabelle aktualiseren und die Formel neu eintragen.
Gruß Daniel
Anzeige

125 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige