Ich weiß nicht so recht, ob das hier unter sprachübergreifend rein passt...
Ich quäle mich gerade mit verschachtelten Excel-Arbeitsblattformeln herum.
Und frage mich, ob es eine einfach Lösung für folgende Konstrukte gibt:
Eigentlich müsste man doch
VERWEIS($B13;
INDIREKT("'"&$C13&"'!B:B");
INDIREKT("'"&$C13&"'!S"& SPALTE();FALSCH) )
ausklammern können. Man könnte zwar die Tabelle als Zwischenspeicher verwenden, das ist aber auch nicht unbedingt übersichtlicher.
Solche Formeln entstehen halt so nach und nach, weil man merkt, dass noch eine Bedingung nötig ist, um etwas zu erreichen.
Man kopiert den Term in die zweite Bedingung, und schon wird es kompliziert.
Wie kann man so etwas leichter umgehen, oder auflösen?
*Topic verschoben, da kein Programmierthema*
Ich quäle mich gerade mit verschachtelten Excel-Arbeitsblattformeln herum.
Und frage mich, ob es eine einfach Lösung für folgende Konstrukte gibt:
in z.B. P13 steht:
=WENN(ISTFEHLER
(WENN (ISTLEER
(VERWEIS($B13;
INDIREKT("'"&$C13&"'!B:B");
INDIREKT("'"&$C13&"'!S"& SPALTE();FALSCH )));
"";
WENN ($AZ$3=0;
1;
P$39/P$38)*
(VERWEIS($B$13;
INDIREKT("'"&$C13&"'!B:B");
INDIREKT("'"&$C13&"'!S"& SPALTE();FALSCH))) ));
"n.b.";
WENN (ISTLEER
(VERWEIS($B13;
INDIREKT("'"&$C13&"'!B:B");
INDIREKT("'"&$C13&"'!S"& SPALTE();FALSCH) ));
"";
WENN ($AZ$3=0;
1;
R$39/R$38)*(VERWEIS($B$13;
INDIREKT("'"&$C13&"'!B:B");
INDIREKT("'"&$C13&"'!S"& SPALTE();FALSCH)
))))
Unter Verweis $B13 (der Name des anderen Tabellenblatt ergibt sich aus dem Wert, der in $C13 steht.) steht
ein Datum, nach dem auf dem anderen Tabellenblatt (in der B:B Spalte) gesucht wird.
Auf diesem anderen Tabellenblatt wird in der gleichen Spalte (P), wie die aktuelle Zelle (des aktuellen Datenblattes), das Ergebnis geholt.
Wenn dieses Ergebnis leer ist, wird hier auch "" ausgegeben, andernfalls wird das Ergebnis eines Buttons (0/1), das in $AZ$3 steht, verwendet,
um das Ergebnis entweder mit 1 zu multiplizieren, oder mit dem Faktor, der sich aus P$39/P$38 ergibt.
Falls diese beiden Berechnungen einen Fehler ergeben, weil z.B. ein Text statt Zahl in der Zelle des anderen Tabellenblattes steht, wird "n.b." ausgegeben.
Falls es doch keinen Fehler gab, wird wiederum entweder mit 1 multipliziert, oder mit dem Faktor.
Eigentlich müsste man doch
VERWEIS($B13;
INDIREKT("'"&$C13&"'!B:B");
INDIREKT("'"&$C13&"'!S"& SPALTE();FALSCH) )
ausklammern können. Man könnte zwar die Tabelle als Zwischenspeicher verwenden, das ist aber auch nicht unbedingt übersichtlicher.
Solche Formeln entstehen halt so nach und nach, weil man merkt, dass noch eine Bedingung nötig ist, um etwas zu erreichen.
Man kopiert den Term in die zweite Bedingung, und schon wird es kompliziert.
Wie kann man so etwas leichter umgehen, oder auflösen?
*Topic verschoben, da kein Programmierthema*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()