Rechenblattdaten mit Knopfformel ändern

Liebe Mitleser,

ich habe wohl die Suchlauffunktionen nicht richtig verstanden und bitte um Hinweise, was ich unzutreffend als Formel anwende.

In einem wiederkehrenden Wochenplan habe ich ein Rechenblatt „Tagesplan“ angelegt.
In diesem Rechenblatt in der Zeile 1 stehen für 5 Wochen die Daten, mit Ausnahme der Zelle A1, somit von A2 bis AH2.
In A2 steht somit das Startdatum, in den benachbarten Zellen dieser Zeile steht eine Formel zum Fortschreiben der Daten, wie z.B. in A3 mit „A2+1“, usw.
In der Spalte 1 stehen 9 Namen, mit Ausnahme der Zelle A1, somit in A2 bis A10
In der gebildeten Matrix B2:AH10 wird jeweils von Hand bei Bedarf eine Ziffer für die Arbeitsplatzbelegung eingetragen, die dann wieder woanders ausgewertet wird.

Ich wollte einen Knopf einsetzen, der mir eine Woche „weiterschaltet“. Dabei wollte ich die Werte aus der Matrix der 2. bis 5. Woche in die 1. bis 4. Woche eintragen. Die Daten der 5. Woche bleiben unverändert und dienen sozusagen als Vorgabe der Standardsituation. Das geht natürlich per Hand, ist aber per Knopf schneller und es ist wöchentlich wiederkehrend.
Wenn eine Woche vorbei ist, möchte ich somit in A2 per Knopf um 7 Tage weiterschalten und die Werte aus I2:AH10 nach B2:AA10 rüberkopieren.

Als Test habe ich erstmal eine Zeile versucht. Dazu liegt auf einem Knopf die Formel:

SetzeZelle(Tagesplan!$B$1+7;Tagesplan!$B$1)&
HSuchlauf(Tagesplan!$I$2:$AH$2;1;0;SetzeZelle(Index(Tagesplan!$I$2:$AH$2;LfdIndex);Tagesplan!$B2:$AA$2;LfdZähler))

Damit wird erfolgreich für die erste Namenszeile „2“ das erreicht, was ich möchte.

Wenn ich das erweitere auf alle Zeilen mit der Formel:

SetzeZelle(Tagesplan!$B$1+7;Tagesplan!$B$1)&
HSuchlauf(Tagesplan!$I$2:$AH$10;1;0;SetzeZelle(Index(Tagesplan!$I$2:$AH$10;LfdIndex);Tagesplan!$B2:$AA$10;LfdZähler))

wird ebefalls nur die Zeile 2 geändert. Die weiteren Zeilen bleiben unverändert.
Was mache ich dabei falsch?

Mathias

Re: Rechenblattdaten mit Knopfformel ändern

#13978 On 16 Juli, 2026 09:25 Milchmeyer said,

Ich habe mir jetzt mit dem Einzelansatz "kaskadierender" Formeln beholfen:

SetzeZelle(Tagesplan!$B$1+7;Tagesplan!$B$1)
&HSuchlauf(Tagesplan!$I$2:$AH$2;1;0;SetzeZelle(Index(Tagesplan!$I$2:$AH$2;LfdIndex);Tagesplan!$B2:$AA$2;LfdZähler))
&HSuchlauf(Tagesplan!$I$3:$AH$3;1;0;SetzeZelle(Index(Tagesplan!$I$3:$AH$3;LfdIndex);Tagesplan!$B3:$AA$3;LfdZähler))
&HSuchlauf(Tagesplan!$I$4:$AH$4;1;0;SetzeZelle(Index(Tagesplan!$I$4:$AH$4;LfdIndex);Tagesplan!$B4:$AA$4;LfdZähler))
&HSuchlauf(Tagesplan!$I$5:$AH$5;1;0;SetzeZelle(Index(Tagesplan!$I$5:$AH$5;LfdIndex);Tagesplan!$B5:$AA$5;LfdZähler))
&HSuchlauf(Tagesplan!$I$6:$AH$6;1;0;SetzeZelle(Index(Tagesplan!$I$6:$AH$6;LfdIndex);Tagesplan!$B6:$AA$6;LfdZähler))
&HSuchlauf(Tagesplan!$I$7:$AH$7;1;0;SetzeZelle(Index(Tagesplan!$I$7:$AH$7;LfdIndex);Tagesplan!$B7:$AA$7;LfdZähler))
&HSuchlauf(Tagesplan!$I$8:$AH$8;1;0;SetzeZelle(Index(Tagesplan!$I$8:$AH$8;LfdIndex);Tagesplan!$B8:$AA$8;LfdZähler))
&HSuchlauf(Tagesplan!$I$9:$AH$9;1;0;SetzeZelle(Index(Tagesplan!$I$9:$AH$9;LfdIndex);Tagesplan!$B9:$AA$9;LfdZähler))
&HSuchlauf(Tagesplan!$I$10:$AH$10;1;0;SetzeZelle(Index(Tagesplan!$I$10:$AH$10;LfdIndex);Tagesplan!$B10:$AA$10;LfdZähler))

Das funktioniert, ist jedoch wenig elegant. Geht das auch einfacher?

Mit freundlichem Gruß
Mathias Milchmeyer

Re: Rechenblattdaten mit Knopfformel ändern

#13979 On 16 Juli, 2026 17:57 Thomas Kaegi said,

Hallo Mathias

In deinen „kaskadierten“ Formeln kannst du (Beispiel für die 1. Zeile) die Funktion Index(Tagesplan!$I$2:$AH$2;LfdIndex) durch LfdZelle ersetzen.

Anstatt kaskadierter Suchläufe würde ich eine Formel mit verschachtelten Suchläufen verwenden:

HSuchlauf(I1:AH1;1;;VSuchlauf(A2:A10;1;;SetzeZelle(Index(I2:AH10;LfdIndex;LfdIndex(1));B2:AA10;LfdIndex;LfdIndex(1))))

Vielleicht irritieren dich in meiner Formel die Suchbereiche der beiden Suchläufe. Bei beiden geht es nur darum, die nötige Anzahl Suchschritte zu definieren. Wert und Adressierung der Quellzelle werden durch die Funktion Index(I2:AH10;LfdIndex;LfdIndex(1)) bestimmt und die Zielzelle liegt im Bereich B2:AA10 der SetzeZelle-Funktion.

Viel einfacher wäre die Lösung allerdings mit der RagTime-Erweiterung „Power-Funktionen“. Da würde die Formel ganz einfach und auch sehr einfach verständlich:

KopiereBereich(I2:AH10;B2:AA10)

Vielleicht zeigt dir der Vergleich, dass die Lizenz für die Erweiterungen eine gute Investition wäre.

Herzlicher Gruss
Thomas

Re: Rechenblattdaten mit Knopfformel ändern

#13980 On 16 Juli, 2026 21:23 Milchmeyer said,

Wow Thomas, das sind Klasseansätze!

Vielen Dank für Deine wie immer guten Ideen.
- Danke für den Hinweis auf die lfdZelle an Stelle der Indexfunktion, das schaue ich mir in Ruhe an, damit ich verstehe, warum das funktioniert
- Die verschachtelte Suchlauffunktion ist da für mich eher selbsterklärend, jedoch wäre ich da nicht drauf gekommen.
Allerdings hatte ich auch nicht die Schachtelungsebene auf dem Schirm und erst damit wird das was. Das ist gut lesbar und bei Bedarf anpassbar. Wieder was gelernt. Danke!

Ja, die Powerfunktionen... Das hatte ich schon öfter mal überlegt.
"SetzeBereichFüllung" ist auch so eine schöne Funktion.
Im Vergleich zu den Kosten von RagTime eher wenig Geld, aber ich hab es jetzt seit 1991 nicht gebraucht, warum jetzt?
Ich überleg da mal.

Mit freundlichem Gruß
Mathias Milchmeyer

Re: Rechenblattdaten mit Knopfformel ändern

#13981 On 17 Juli, 2026 09:54 Thomas Kaegi said,

Hallo Mathias

Deine Formelkaskade kann verbal so beschrieben werden: „für alle 10 Zeilen übertrage alle Werte der Spalten I:AH um 7 Spalten nach vorne“. Das „für alle 10 Zeilen …" ruft geradezu nach einer übergeordneten Suchlaufschleife. Um die Reihenfolge deiner Kaskade (gemäss obiger verbaler Beschreibung) zu replizieren hätte ich eigentlich die beiden Suchläufe anders verschachteln müssen:

VSuchlauf(A2:A10;1;;HSuchlauf(I1:AH1;1;;SetzeZelle(Index(I2:AH10;LfdIndex(1);LfdIndex);B2:AA10;LfdIndex(1);LfdIndex)))

Und was bei meiner Formel fehlt, ist die Übertragung des Startdatums, welche du deiner Formelkaskade vorangestellt hattest.

Gruss, Thomas