EDIT: Siehe 2. Post von mir für eine Beispieldatei und eine (hoffentlich) etwas direktere und bessere Problemformulierung!
ich habe eine Frage zur bedingten Formatierung. Im Grunde möchte ich nur wissen ob meine aktuelle Lösung gut ist und auch in Zukunft bei mehr Inhalt noch ohne große Performance-Einbußen funktionieren sollte. Ich habe viel rumgelesen und kenne mich schon ein wenig aus, aber das ist zu spezifisch um über Google eine Antwort zu bekommen.
Falls meine Variante nicht gut ist bin bin ich bereit auf große Teile der bedingten Formatierung zu verzichten und habe nur noch eine andere Frage die unten steht.
Ich bin aktuell eine Tabelle für PC-Spiele am erstellen. Es wird am Ende 5 Tabellenblätter geben, die jeweils im unteren Bereich auf die gleiche durch eine Formel berechnete bedingte Formatierung zurückgreifen. Angewendet werden soll die bedingte Formatierung auf irgendwann ca. 45 Spalten und etwa im Schnitt 1000-2000 Zeilen, wie viele Zeilen es mal werden ist noch nicht klar. Die bedingte Formatierung soll auf Spiele angewendet werden die zum einen in der Spielebibliothek und in den entspechenden anderen Blättern vorhanden sind (Beispiel: Spiel XY ist in Bibliothek und auf der Wunschliste, es hat die gleichen Daten die sie sich über einen Sverweis aus der Bibliothek zieht, Ausgang für den Verweis ist der Name in der ersten Spalte).
Als erstes habe ich einfach die Formel in die bedingte Formatierung gepackt und entsprechend auf alle Bereiche angewendet. Die Performance ist natürlich nach 2 Seiten schon total eingebrochen. Ich habe dann noch lange hin und her probiert und bin jetzt zu folgender Lösung gekommen.
Ich berechne in einem Tabellenblatt (Bibliothek) welcher "Status" für das jeweilige Spiel zutrifft, mit dieser Formel
EDIT: Codebox nach Hinweis eingefügt
Code: Alles auswählen
=WENN($G35="";"";WENN(ZÄHLENWENN($'My Library'.$BT$13:INDIREKT(Formulae.$I$3);$BT35)+ZÄHLENWENN($Wishlist.$BT$13:INDIREKT(Formulae.$I$5);$BT35)+ZÄHLENWENN($Uninteresting.$BT$13:INDIREKT(Formulae.$I$7);$BT35)>1;"Multiple Link";WENN(UND($AW35<=$Formulae.$B$2;$AW35<>0);"Released";WENN(UND($AW35>$Formulae.$B$2;$AW35<>"");"Not Released";WENN($K35<>"";"Demo";WENN($AQ35<>"";"Early Access";"BoardersNormal"))))))
EDIT: Codebox nach Hinweis eingefügt
Code: Alles auswählen
="BT"&Zelle für das Ziel von z. B. Indirekt Formulae.$I$5 usw. ausgegeben)
{=MAX(ISTZAHL($'My Library'.$A$13:INDIREKT(VERKETTEN("$'My Library'.A";Formulae.$H$3)))*ZEILE($'My Library'.$A$13:INDIREKT(VERKETTEN("$'My Library'.A";Formulae.$H$3))))+1}
Spiel 1 BoardersNormal
Spiel 2 Not Released
Spiel 3 Early Access
Spiel 4 Demo
In den anderen 4 Tabellen übernehme ich einfach diesen Wert in die gleich lautende Spalte (z. B. $BS34) hinter dem jeweiligen Spiel mit einem Sverweis und die bedingte Formatierung sieht dann zum Beispiel nur so aus
EDIT: Codebox nach Hinweis eingefügt
Code: Alles auswählen
WENN($G34="";VORLAGE("Standard");VORLAGE($BS34))
Frage ist ob das so Sinn macht und ob es zu rechenintensiv ist das auf 5*45*2000=450.000 Zellen anzuwenden. Bzw. am Anfang erst mal auf 5*45*500=112.500 Zellen, ich könnte die Tabelle später downgraden wenn es zu langsam wird.
Wenn es zu rechenintensiv sein sollte würde ich das ganze nur auf 5x3x2000=30.000 Zellen anwenden.
Unabhängig davon würde ich gerne bei beiden Varianten noch abwechselnd farbige (bzw die eine Standard und die andere farbig) Zeilen erzeugen um besser nachvollziehen zu können auf welches Spiel sich der Link am Ende der Tabelle bezieht. Könnte das der Overkill sein wenn Variante 1 prinzipiell möglich wäre?
Wie könnte das dann bei Variante 2 aussehen? Ich nutze ja immernoch irgendwann die 5x45x2000 Zellen, aber dann halt statt mit einer durch den Sverweis ausgegebenen Vorlage mit meiner farbig-nicht farbig-farbig-nicht farbig usw. Formel.
Da habe ich einfach keine Erfahrungswerte wie sich sowas auswirken könnte.
Wenn ich es zu dämlich beschrieben habe bitte Bescheid geben, dann versuche ich es noch mal anders zu formulieren. Ich habe auch im openoffice-forum gepostet, erwarte hier aber eine bessere Resonanz. Werde entsprechend auf die Lösung verweisen.
EDIT: http://www.openoffice-forum.de/viewtopic.php?f=5&t=6981
Vielen Dank schon mal.

Gruß
Sven