Rangliste über mehrere Spalten

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Barry
*
Beiträge: 11
Registriert: Di, 14.09.2010 09:32

Rangliste über mehrere Spalten

Beitrag von Barry »

Hallo Experten

1. Zuerst Suche ich eine Formel oder Möglichkeit mit der ich bspw. in Spalte C in den Zeilen 50 bis 400 die Zahl 10 und in Zeile 401 bis 800 die Zahl 5 eintragen kann.

Bild
2. In beigefügter Tabelle soll in den Spalten M und N eine Rangliste erstellt werden:
Spalte B enthält ca. 6.000 bis max. 10.000 verschiedene Namen (demzufolge auch Zeilen)
Spalte C die dazugehörigen Werte (Zahlen zwischen 1 und 20)

Ebenso verhält es sich mit den Spalten-Paaren D+E, F+G. H+I, usw. insgesamt 14 Spalten-Paare
Einige Namen sind in allen Spalten-Paaren enthalten, einige Namen nur in wenigen

Summiert werden sollen die Werte in den Spalten C+E+G in Abhängigkeit der dazugehörigen Namen in den Spalten B, D, F
Bei Punktgleichheit in Spalte N soll die Reihenfolge in Spalte M alphabetisch sortiert werden A -> Z

3.In Spalte O soll die Anzahl eingetragen werden, wie oft ein Name in den Spalten B+D+F vorkommt
In Spalte P soll die Anzahl eingetragen werden, wie oft ein Name in den Spalten B+D+F an Position 1 bis 3 vorkommt


Hoffe, ich konnte die Problematik verständlich darstellen.

Für Euer kreatives Gedankengut schon mal vielen Dank vorab
Mit freundlichen Grüßen
Barry

Uploaded with ImageShack.us[/url]
Rangliste über mehrere Spalten.ods
(12.75 KiB) 77-mal heruntergeladen
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Rangliste über mehrere Spalten

Beitrag von clag »

Hallo Barry,

ich habe deine Beispieldatei mit Formeln und Namen erweitert,
dazu noch einige Spalten die als Bereichstrenner für die Datenbereiche dienen,
da meine Formeln ziemlich lang sind habe ich sie benannt,
ein kleines Makro sorgt für die Aktualisierung der Gesamt-Auswertung.

So dass ich jetzt glaube deine Wünsche werden erfüllt :)

Wie es mit der Performance bei 10.000 Einträgen aussieht vermag ich nicht abzuschätzen ?

Namen und Bereiche müssen bei Erweiterung natürlich angepasst werden.
Aber schau es dir erst einmal an und wenn du Fragen hast dann fragst du eben
Rangliste über mehrere Spalten_clag.ods
(13.97 KiB) 151-mal heruntergeladen
edit:
die erste Datei enthält einige Flüchtigkeitsfehler bzw es war nicht die Datei die ich eigentlich hatte hochladen wollen :roll:
Rangliste über mehrere Spalten_clag+.ods
(14.56 KiB) 136-mal heruntergeladen
diese hier, ist die Version ohne Fehler (funktional aber gleich)
Zuletzt geändert von clag am Mo, 27.09.2010 07:09, insgesamt 1-mal geändert.
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Rangliste über mehrere Spalten

Beitrag von balu »

Hallo clag,

was hälst Du denn davon wenn Du in deiner Datei die Spalte für die Punkteauswertung (Spalte S) mit einer kürzeren Formel ausstattest?
Deine Formel, die sich hinter den Namen "allpoints" verbirgt:

Code: Alles auswählen

=SUMMEWENN($C$2:$C$10;R3;$D$2:$D$10)+SUMMEWENN($F$2:$F$10;R3;$G$2:$G$10)+SUMMEWENN($I$2:$I$10;R3;$J$2:$J$10)
Mein Vorschlag:

Code: Alles auswählen

=SUMME(($C$3:$J$11=$R3)*($D$3:$J$11))

ACHTUNG MATRIXFORMEL!!!
Die Formel nicht mit "Enter", sondern mit "Strg" + "Shift" + "Enter" abschließen.


Ich schlage die Formel deshalb vor, weil ich vermute das sie als Matrixformel wahrscheinlich schneller ist als deine, was ich aber nicht bestätigen kann und von daher selber gerne wissen würde welche wirklich in diesem Falle spürbar schneller ist.


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Rangliste über mehrere Spalten

Beitrag von clag »

Hallo Balu, Hallo Paljass

danke für die Unterstützung beim geistigen Morgensport :lol:

Balu deine Formel sieht natürlich viel eleganter und übersichtlicher aus, vor allem wenn es wie angedeutet über 14 Tage gehen soll !
So ein Konstrukt hatte ich auch vor meinem inneren Auge, hab es aber nicht in eine Formel drücken können,
deshalb die klassische Variante von mir ;)

ja die Anzahl der Namen hat mich auch etwas irritiert aber ich habe eine eindeutige Vergabe vorausgesetzt.

vielleicht sollte man mal ein paar Testdaten generieren !
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Rangliste über mehrere Spalten

Beitrag von clag »

Hallo Balu,

die Matrix Formel in der Zelle funktioniert und wird mit ctrl+shift+enter auch zur Matrixformel
aber erkläre mir doch bitte wie ich die Matrixformel bei den Namen ctrl+F3 abschließen kann !

SUMME(($C$4:$J$1002=$R4)*($D$4:$J$1002)) plus ctrl+shift+enter wird nicht zu einer Matrixformel :?

Mein erster Performance Test war eine echte Katastrophe mit der Formel von mir und 7 x 10.000 Werten hat sich Calc
und nun halt dich fest, für 34 Minuten abgemeldet das hab ich 2 mal getestet
mit 3x 1000 Werten sind es immer noch um die 15 sek :(

jetzt wollte ich gern das Verhalten von Calc mit deiner Formel testen ...........

edit:
die kleine Test-Datei mit 3x1000 Werten
Rangliste über mehrere Spalten_clag+3x1k.ods
(73.09 KiB) 69-mal heruntergeladen
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Rangliste über mehrere Spalten

Beitrag von balu »

Hallo clag,

da bist Duz jetzt über den gleichen Stein gestolpert wie auch ich; Matrixformel und Name.
Dabei is das doch ganz easy.

- Formel wie gehabt Namen zuordnen, ohnde die Matrixklammern
- In der Zelle einfach =allponits eingeben, und erst dort als Matrix abschließen.
- Fäddisch :lol:

Na dann bin ich mal gespannt was Du dann zu berichten hast.


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Rangliste über mehrere Spalten

Beitrag von clag »

Hi Balu,

so hatte ich das schon probiert aber ging nicht, jetzt wo du es mir nochmal erklärt hast funktioniert es plötzlich :lol:

aber das Ergebnis wird dich vermutlich genauso wie mich enttäuschen, mit deiner Formel braucht es die doppelte Zeit für einmal aktualisieren ca. 25 Sek
damit ist diese Variante für mehr wie 10k Daten wohl eher nicht geeignet :(

wie man es anders/schneller machen könnte habe ich jetzt auch gerade keine Idee (jedenfalls nicht bei den Vorgaben)
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Rangliste über mehrere Spalten

Beitrag von balu »

Hallo clag,

danke für dir Info. Ist schon entäuschend, leider.

Aber mir ist aufgefallen, wenn man die Spalten T und U zum Sortieren "ausschaltet" geht es bedeutend schneller, was ja eigentlich schon fast logisch ist. Ich habe jetzt mal der Tabelle einen "Ein/Ausschalter" in M2 dafür spendiert und meine Formel eingebaut.
Bei N werden die genannten Spalten NICHT berechnet, das geschieht erst mit J. Also zum Sortieren auf N stellen.

Ohne diesen Schalter brauchte meine Lahme Möhre mit meiner Formel ca. 40 sekunden. Mit diesem Schalter nur noch ca. 20 sekunden.



Gruß
balu
Dateianhänge
Rangliste über mehrere Spalten_clag+3x1k_B3.ods
(78.84 KiB) 72-mal heruntergeladen
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Rangliste über mehrere Spalten

Beitrag von clag »

Hallo Ballu,

den "Turboeffekt" :D kann ich bestätigen
da hast du aber Gück gehabt das ich dir nicht die große Test Datei angedreht habe ;) da hätte ein Durchlauf über eine Stunde gebraucht :lol: oh man

da darf man wohl berechtigter Weise von Performance-Problemen reden ...........

Es entzieht sich meiner Kenntnis ob in Basic ausgeführt, ein Geschwindigkeitsvorteil zu erzielen wäre?
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Rangliste über mehrere Spalten

Beitrag von clag »

Hallo Barry, Hallo Balu,

mit der Ausgabe der sortierten Gesamt Wertung auf einem extra Tabellenblatt und einem optimierten Makro
habe ich die Aktualisierungszeit auf weit unter eine Sekunden reduzieren können, so ist das akzeptabel finde ich

Nach wie vor finde ich es aber sehr ungewöhnlich und unlogisch eine so große Aktion komplett in einer Tabelle bearbeiten zu wollen :shock:
14Tage a 10.000 ist "nen bischen" mehr wie Bundesjugenspiele !?

naja, nun geht es einigermaßen ! :D
Rangliste über mehrere Spalten_clag_ok2.ods
(84.67 KiB) 82-mal heruntergeladen
Bitteschön ......
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Barry
*
Beiträge: 11
Registriert: Di, 14.09.2010 09:32

Re: Rangliste über mehrere Spalten

Beitrag von Barry »

Zuerst einmal vielen Dank für Eure kompetente Hilfe!

1. @paljass - das klappt ja super
Ja, es sind in jeder Spalte absolut unterschiedliche Namen (Buchstaben oder Buchstaben-Zahlen-Kombinationen)

2. @clag & balu
So gut wie die Lösung auch aussieht, ich blicke es nicht wirklich^^
Das liegt natürlich, als seltener Gelegenheits-Nutzer, an meinen mangelnden Kenntnissen. Makro ist für mich ein unbenutztes Buch mit sieben Siegeln.

Also folgende Fragen:
- Wie kommen die Namen in Spalte R? Muss ich die Namen in Spalte R selbst einfügen? Ich sehe da keine Zuweisung.

- Die Trennspalten dienen nur der Optik?

- Für was steht diese Formel und was bewirkt sie ("Haus", "Tür")?

Code: Alles auswählen

SUMMENPRODUKT(A2:A9*(B2:B9="Haus")*(C2:C9="Tür"))
- Wie und wo kann ich die zu allpoints, highscore und topcount gehörigen Formeln bearbeiten bzw. erweitern? In Y28, Y29 geht es ja nicht
bezogen auf die 1. Datei von clag
Wie weist man denn einem Namen wie allpoints eine Formel zu? Erklärung ist aber z.Z. nur sinnvoll wenn es ohne Makro geht.
Sorry für diese Fragerei.

Zur Performance kann ich momentan noch nichts sagen. Muss erst einmal die 3 Fragen lösen.
Als Laie: ich weiß ja nicht wie im Makro "Auswertung aktualisieren" gehandhabt wird.
Werden jedesmal alle Daten neu berechnet - dann wäre vielleicht der Weg über Hilfsspalte mit Zwischensummen gangbar. Also Auswertung Tag1+Tag2+Tag3=Zwischensumme. Auiswertung Ta4 ist dann Zwischensumme+Tag4.


Mit freundlichen Grüßen
Barry
Dateianhänge
Rangliste über mehrere Spalten_clag-1.ods
(16.26 KiB) 59-mal heruntergeladen
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Rangliste über mehrere Spalten

Beitrag von clag »

Moin Barry,
Barry hat geschrieben:- Wie kommen die Namen in Spalte R? Muss ich die Namen in Spalte R selbst einfügen? Ich sehe da keine Zuweisung.
ja das ist mit wenigen Schritten getan wollte man das mit einer Formel mach würde diese schon eine erhebliche Belastung darstellen
(manuell: alle Namenslisten nacheinander kopieren und in einer extra Tabelle untereinander einfügen ) diese Liste filtern und sortieren
und an der gewünschten Stelle ausgeben (bei 14x10.000 auch schon ein Kraftakt) für Calc

Barry hat geschrieben:- Die Trennspalten dienen nur der Optik?
nein, die dienen nicht der Optik. Da du eine Tagesauswertung hast müssen die jeweiligen 2 Spalten ja entsprechend sortiert werden,
damit Calc diese Bereiche automatisch erkennen kann müssen sie durch leere Spalten/Zeilen von einander getrennt sein.
(hatte ich in der allerersten Beispieldatei zwar eingebaut, aber durch die Verschlimmbesserungen wie den Text Trennspalte
und die verbundenen Zellen für die Überschriften, selbst wieder dieser Funktion beraubt) darum habe ich auch die andere Datei hochgeladen.

Barry hat geschrieben:- Für was steht diese Formel und was bewirkt sie ("Haus", "Tür")?
das war eine vergessene ungelöschte Formell-Gedankenstütze

Barry hat geschrieben:- Wie und wo kann ich die zu allpoints, highscore und topcount gehörigen Formeln bearbeiten bzw. erweitern? In Y28, Y29 geht es ja nicht bezogen auf die 1. Datei von clag
die Formeln in Y28 dienten auch nur als Gedankenstütze und Bearbeitungshilfe.
Zum bearbeiten klick die erste Zelle an in der ein Fomelname verwendet wird/werden soll zB S3 und drücke ctrl+F3, dann öffnet sich der Dialog für Namen festlegen.
Hier markierst du die verwendete Formel und bekommst dann die Formel angezeigt und die verwendeten Bereiche farbig markiert.
Neue Namenszuordnungen werden hier auch generiert

Barry hat geschrieben:Zur Performance kann ich momentan noch nichts sagen. Muss erst einmal die 3 Fragen lösen.
das wir sich bei dir nicht anders wie bereits beschrieben verhalten. (es sei denn man schaltet die automatische Zellberechnung aus)

Barry hat geschrieben:Als Laie: ich weiß ja nicht wie im Makro "Auswertung aktualisieren" gehandhabt wird. Werden jedesmal alle Daten neu berechnet
ja genau dafür ist der Button da, denn jeder Eintrag in den Tagesspalten verändert die Reihenfolge der Gesamt-Wertung.

Barry hat geschrieben:dann wäre vielleicht der Weg über Hilfsspalte mit Zwischensummen gangbar. Also Auswertung Tag1+Tag2+Tag3=Zwischensumme. Auiswertung Ta4 ist dann Zwischensumme+Tag4.
nein, das halte ich für keine gute Idee, es würde die Tabelle nur unnötig mit weiteren Formeln aufblähen,
es sei denn man würde die Formeln anschließend durch die Ergebniswerte ersetzen, damit wird aber eine Korrektur unmöglich .....


Barry,
ehrlich dein Konzept halte ich für nicht sonderlich geeignet für das Vorhaben und ich bin mal neugierig, was soll damit ausgewertet werden ?
Eine Tabelle mit fester allumfassender Namensliste und Spalten für die Tageswertung und Summen für den Gesamtwert,
wobei die Ausgabe der Wertung in eine andere Tabelle erfolgt, dürfte m.E. besser geeignet sein.


PS
bei der zu letzt hochgeladenen Datei ist es so das eine Veränderung eines Tageswertes den Wert in der Zelle der Gesamtwertung einträg bzw aktualisiert aber nicht den ganzen Bereich.
Zur Gesammtauswertung werden nun nur die Zahlen und Namen kopiert in den Zielbereich eingefügt und dort sortiert.
Um eine komplette Neuberechnung aller Formeln (wodurch die langen Bearbeitungszeiten entstehen ) in der Tabelle zu verhindern, wird das im Makro abgeschaltet so lange es läüft und Daten bearbeitet, bei Makroende wird die automatisch Berechnung wieder eingeschaltet.
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Antworten