Hallo,
kennt jemand eine möglichkeit, wie man ohne VBA das Maximum aus den Werten jeder 2. Spalte einer Zeile auslesen kann, ohne die Spalten einzeln aufzuzählen (=max(d2;d4;d6;d8...))?
Gruß Stefan
{=MAX(WENN(REST(SPALTE(A1:F1);2)=1;A1:F1;0))} für gerade Spalten
{=MAX(WENN(REST(SPALTE(A1:F1);2)=0;A1:F1;0))} für ungerade Spalten
geschweifte Klammern nicht mit eingeben sondern durch abschliessen der Formel mit Strg+Shift+Enter erzeugen.
AW: Maxwert aus jeder zweiten Spalte
16.01.2009 14:46:53
Chris
Sorry genau umgedreht =1 für ungerade Spalten =0 für gerade Spalten
AW: Maxwert aus jeder zweiten Spalte
16.01.2009 16:09:00
Stefan
Hallo Chris,
in hab zwar leider noch nicht durchschaut, warum es so ist, aber die Formel funktioniert perfekt! Vielen Dank!
Gruß Stefan
Erklärung
16.01.2009 16:32:52
Chris
{=MAX(WENN(REST(SPALTE(A1:F1);2)=1;A1:F1;0))}
REST(SPALTE(A1:F1);2)=1 schaut nach ob die Spaltennummer A1 geteilt durch 2 einen Rest von 1 ergibt.
Dann wird B1, C1, D1, E1, F1 auf die selbe Weise überprüft.
Das Ergebnis ist ein Array {WAHR.FALSCH.WAHR.FALSCH.WAHR.FALSCH}
Wenn gibt, wenn die Bedingung Wahr ist, den Dann-Wert aus, wenn die Bedingung Falsch ist, den Sonst-Wert.
Die WENN-Formel erzeugt also das Array {wertA1.0.wertC1.0.wertE1.0} Ergo: Ein Array was aus Werten der Ungeraden Spalten und 0 besteht. Man kann den ;0 am Ende auch weglassen was sogar günstiger ist da die Werte in den Spalten dann auch negativ sein dürfen.
Dann wird das erzeugte Array zu {wertA1.FALSCH.wertC1.FALSCH.wertE1.FALSCH}
Das maximum dieses Array wird nun aus wertA1, wertC1 oder wertE1 gebildet.
Analog funktioniert das ganze auch mit den geraden Spalten nur das hier der Rest beim Teilen der Spaltennummer immer 0 ist.