Na dann mal los...
Die Formel lautet ja
Code: Alles auswählen
=VERSCHIEBUNG(INDIREKT("'Dienstplan "&B5&"'.A1");VERGLEICH(C11;INDIREKT("'Dienstplan "&B5&"'.A1:A80");0)-2;2)
.
Die Funktion Verschiebung() benötigt zunächst einen Ausgangspunkt, ab dem die Verschiebung berechnet wird. Dafür habe ich die Zelle A1; dazu muss aber noch der Name des tabellenblattes, auf dem die Daten sind. Dieser wird - ich sag jetzt mal - mithilfe von Indirekt aus dem Wort "Dienstplan " und der Monatsauswahl in B5 zusammengesetzt.
Hast du also in B5 "Mai" ausgewählt beginnt die Berschiebung bei "Dienstplan Mai-A1".
Von diesem Punkt aus muss nun die Zeile gefunden werden, in der der zu suchende Name steht; das geht mit Vergleich(). Suchst du den Namen "Henscke, Iris" gibt die Funktion die 8 zurück, weil der Name in Zeile 8 steht. Da das Tagessoll in Zeile 7 steht, muss die gefundene Zahl um 1 reduziert werden; dann muss noch berücksichtigt werden, dass bei der Berschiebung die erste Zeile nicht mitzählt, daher erolgt nochmal eine Korrektur um 1, woraus sich "VERGLEICH(C11;INDIREKT("'Dienstplan "&B5&"'.A1:A80");0)
-2 ergibt.
Die letzte 2 besagt nur, dass vom Verschiebepunkt A1 zwei Spalten nach rechts (Spalte C) gegangen werden soll.
Insgesamt ergibt sich hieraus also die Adresse "Dienstplan Mai.C6".
Ich gehe jetzt mal davon aus, dass die tatsächlich geleisteten Stunden in AJ7 stehen (zumindest bei der ersten Angestellten). Weil die in der gleichen Zeile wie die Sollzeit sethen, brauchst du nur den leztzten Parameter auf 35 zu ändern, und schon wird dir die geleistete Zeit angezeigt.
Die Formel in Stundenübersicht.F24 lautet also
Code: Alles auswählen
=VERSCHIEBUNG(INDIREKT("'Dienstplan "&B5&"'.A1");VERGLEICH(C11;INDIREKT("'Dienstplan "&B5&"'.A1:A80");0)-2;35)
Daraus resultiert, dass du zum Zugriff auf eine Spalte immer den letzten Parameter ändern musst. Stehen die Angaben in einer anderen Zeile als in Zeile 7 (gilt nur für die erste Angestellte), musst den Parameter "-2" in der Vergleichsfunktion anpassen.
Gruß
Na dann mal los...
Die Formel lautet ja [code]=VERSCHIEBUNG(INDIREKT("'Dienstplan "&B5&"'.A1");VERGLEICH(C11;INDIREKT("'Dienstplan "&B5&"'.A1:A80");0)-2;2)[/code].
Die Funktion Verschiebung() benötigt zunächst einen Ausgangspunkt, ab dem die Verschiebung berechnet wird. Dafür habe ich die Zelle A1; dazu muss aber noch der Name des tabellenblattes, auf dem die Daten sind. Dieser wird - ich sag jetzt mal - mithilfe von Indirekt aus dem Wort "Dienstplan " und der Monatsauswahl in B5 zusammengesetzt.
Hast du also in B5 "Mai" ausgewählt beginnt die Berschiebung bei "Dienstplan Mai-A1".
Von diesem Punkt aus muss nun die Zeile gefunden werden, in der der zu suchende Name steht; das geht mit Vergleich(). Suchst du den Namen "Henscke, Iris" gibt die Funktion die 8 zurück, weil der Name in Zeile 8 steht. Da das Tagessoll in Zeile 7 steht, muss die gefundene Zahl um 1 reduziert werden; dann muss noch berücksichtigt werden, dass bei der Berschiebung die erste Zeile nicht mitzählt, daher erolgt nochmal eine Korrektur um 1, woraus sich "VERGLEICH(C11;INDIREKT("'Dienstplan "&B5&"'.A1:A80");0)[color=#FF0000]-2[/color] ergibt.
Die letzte 2 besagt nur, dass vom Verschiebepunkt A1 zwei Spalten nach rechts (Spalte C) gegangen werden soll.
Insgesamt ergibt sich hieraus also die Adresse "Dienstplan Mai.C6".
Ich gehe jetzt mal davon aus, dass die tatsächlich geleisteten Stunden in AJ7 stehen (zumindest bei der ersten Angestellten). Weil die in der gleichen Zeile wie die Sollzeit sethen, brauchst du nur den leztzten Parameter auf 35 zu ändern, und schon wird dir die geleistete Zeit angezeigt.
Die Formel in Stundenübersicht.F24 lautet also [code]=VERSCHIEBUNG(INDIREKT("'Dienstplan "&B5&"'.A1");VERGLEICH(C11;INDIREKT("'Dienstplan "&B5&"'.A1:A80");0)-2;35)[/code]
Daraus resultiert, dass du zum Zugriff auf eine Spalte immer den letzten Parameter ändern musst. Stehen die Angaben in einer anderen Zeile als in Zeile 7 (gilt nur für die erste Angestellte), musst den Parameter "-2" in der Vergleichsfunktion anpassen.
Gruß