hi,
weil du ein hochkomplexes Programm nicht komplett verstehst?
Also keine Bange, darauf musst du auch nicht direkt kommen. Darum kann man ja fragen.
So eine Formel am besten von innen nach außen lesen.
Zuerst ermittelt sie mit Zeile() die Nummer der aktuellen Zeile.
Bei A2 also 2, Bei A3 3 usw.
Davon werden 2 abgezogen, A2 ergibt also 0, A7 wäre 5 und A8 ergibt 6.
Jetzt hast du eine Zahlenfolge von 5 Nummern vorgegeben.
Nützlich ist es nun, die veränderte Zeilennummer durch 5 zu teilen.
Denn die ermittelte Zahl geteilt durch 5 ergibt jeweils einen Rest von 0, dann 1, dann 2 usw. und das wiederholt sich. A7 wäre wieder ein Rest von 0, A8 entsprechend ein Rest von 1.
Rest() gibt also den Rest aus, wenn die erste Zahl durch die zweite geteilt wird.
bleibt noch Wahl() übrig.
Das wählt die xte Position aus einer Liste von Zahlen aus.
WAHL(Index;Wert1;[Wert2];...)
Wahl(1;3;2;2;3;5) ergibt also 3, weil es die erste Position der zur Wahl stehenden Einträge ist.
Wahl(2;3;2;2;3;5) ergibt entsprechend 2.
Daher wird zu dem Rest wieder 1 addiert, damit eine Zahl ohne Rest nicht 0 sondern 1 ergibt und die erste Position gewählt wird.
Das zusammen bewirkt, dass es unbegrenzt gültig ist.
Eine Formel die in sich selbst funktioniert, ohne abgeändert zu werden, ist immer recht schön.
Das ist aber nichts, was man sofort kennen oder können müsste.
Wahl() zb. kenn ich auch nur, weil es hier mal irgendwann als Lösung vorgeschlagen wurde. Ich wusste bis vorhin auch nicht mehr, dass es wahl() hieß. Jedoch wusste ich, dass es sowas gab und habe danach gesucht.
grüße
lipi