Registriert seit: 10.03.2016
Version(en): 2007
Hallo zusammen, mein Problem ist: ich muss eine Möglichkeit finden wie ich aus dem Dienstplan eine Druckausgabe zustande bringe die nach Datum und Mitarbeiter sucht und dann den Dienstposten ausgibt. Hab schon einiges probiert komm aber leider auf kein Ergebnis. Ich bitte um Hilfe, Ideen, Anregungen, Lösungen ich bin für alles dankbar.
DPL-Vorlage -Test.xlsx (Größe: 379,69 KB / Downloads: 7)
Druck - test.xlsx (Größe: 14,05 KB / Downloads: 4)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen, bei Deinem Tabellenaufbau wird das recht schwierig. Du müsstest für jede Woche etwas unterschiedliche Formeln ansetzen, Da Deine Bereiche ja immer in solchen Wochenblöcken und dann noch quartalsmäßig getrennt auf verschiedenen Blättern sind. Hier mal ein Ansatz, wie man aus einer Matrix raus bekommt, was AA am 1. oder 2.1. getragen hat Das müsste man dann für die einzelnen Bereiche erweitern bzw. abändern. In der Formel wird entsprechned der Eingabe in f1 und f2 das zugehörige Kleidungsstück aus der Matrix A1:C3 herausgesucht. Arbeitsblatt mit dem Namen 'Tabelle1' | | A | B | C | D | E | F | 1 | | 01.01.2016 | 02.01.2016 | | wer | AA | 2 | Hose | AA | | | wann | 02.01.2016 | 3 | Jacke | | AA | | was | Jacke |
Zelle | Formel | F3 | =INDEX(A:A;VERGLEICH(F1;BEREICH.VERSCHIEBEN(A:A;0;VERGLEICH(F2;1:1;0)-1);0)) |
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg |
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 10.03.2016
Version(en): 2007
Druck - test.xlsx (Größe: 21,53 KB / Downloads: 2)
DPL-Vorlage -Test.xlsx (Größe: 381,29 KB / Downloads: 2)
Hallo erstmal, danke für deine Antwort, ich hab die Formel angepasst, ob richtig weis ich nicht, komm jedenfalls nicht auf ein richtiges Ergebnis ich kann mit -2 in der Formel nichts anfangen, hab auch andere Werte probiert hat aber nichts gebracht. =WENNFEHLER(INDEX(B:B;VERGLEICH(J1;BEREICH.VERSCHIEBEN(B:B;0;VERGLEICH(J2;1:1;0) -2);0)) Wenn mein Problem mit einer Formel gelöst wird, müsste ich die für 70 Wochen(Jahresübergreifend) schreiben und das pro Tag, kann das noch funktionieren? Mein Grundgedanke war immer das zuerst nach dem Datum gesucht wird und dann in der Spalte 38 Zeilen nach dem Mitarbeiterkürzel gesucht wird und bei einem Treffer dann der Eintrag aus Spalte B ausgegeben wird. Ist das mit einem Makro oder VBA möglich? Ist für mich komplettes Neuland. Würde mich freuen von euch zuhören.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
14.03.2016, 20:28
(Dieser Beitrag wurde zuletzt bearbeitet: 14.03.2016, 20:29 von schauan.)
Hallöchen, das würde dann so aussehen. Wenn Du das Blatt in die gleiche Datei legst, würden die Formeln etwas kürzer Ich habe mal oben das Datum geändert und mit dem ersten Datum angefangen. Arbeitsblatt mit dem Namen 'Tabelle1' | | A | B | C | 1 | AA | | | 2 | Datum | Tag | Dienst | 3 | 28.12.2015 | Mo | | 4 | 29.12.2015 | Di | | 5 | 30.12.2015 | Mi | Leitung | 6 | 31.12.2015 | Do | Leitung | 7 | 01.01.2016 | Fr | Leitung | 8 | 02.01.2016 | Sa | | 9 | 03.01.2016 | So | |
Zelle | Formel | B3 | =A3 | C3 | =WENNFEHLER(INDEX('[DPL-Vorlage -Test.xlsx]Q1'!$B:$B;VERGLEICH('[DPL-Vorlage -Test.xlsx]Q1'!$V$1;BEREICH.VERSCHIEBEN('[DPL-Vorlage -Test.xlsx]Q1'!$B:$B;0;VERGLEICH('[DPL-Vorlage -Test.xlsx]Q1'!V4;'[DPL-Vorlage -Test.xlsx]Q1'!$4:$4;0)-2);0));"") | A4 | =A3+1 | B4 | =A4 | C4 | =WENNFEHLER(INDEX('[DPL-Vorlage -Test.xlsx]Q1'!$B:$B;VERGLEICH('[DPL-Vorlage -Test.xlsx]Q1'!$V$1;BEREICH.VERSCHIEBEN('[DPL-Vorlage -Test.xlsx]Q1'!$B:$B;0;VERGLEICH('[DPL-Vorlage -Test.xlsx]Q1'!V5;'[DPL-Vorlage -Test.xlsx]Q1'!$4:$4;0)-2);0));"") | A5 | =A4+1 | B5 | =A5 | C5 | =WENNFEHLER(INDEX('[DPL-Vorlage -Test.xlsx]Q1'!$B:$B;VERGLEICH('[DPL-Vorlage -Test.xlsx]Q1'!$V$1;BEREICH.VERSCHIEBEN('[DPL-Vorlage -Test.xlsx]Q1'!$B:$B;0;VERGLEICH('[DPL-Vorlage -Test.xlsx]Q1'!V6;'[DPL-Vorlage -Test.xlsx]Q1'!$4:$4;0)-2);0));"") | A6 | =A5+1 | B6 | =A6 | C6 | =WENNFEHLER(INDEX('[DPL-Vorlage -Test.xlsx]Q1'!$B:$B;VERGLEICH('[DPL-Vorlage -Test.xlsx]Q1'!$V$1;BEREICH.VERSCHIEBEN('[DPL-Vorlage -Test.xlsx]Q1'!$B:$B;0;VERGLEICH('[DPL-Vorlage -Test.xlsx]Q1'!V7;'[DPL-Vorlage -Test.xlsx]Q1'!$4:$4;0)-2);0));"") | A7 | =A6+1 | B7 | =A7 | C7 | =WENNFEHLER(INDEX('[DPL-Vorlage -Test.xlsx]Q1'!$B:$B;VERGLEICH('[DPL-Vorlage -Test.xlsx]Q1'!$V$1;BEREICH.VERSCHIEBEN('[DPL-Vorlage -Test.xlsx]Q1'!$B:$B;0;VERGLEICH('[DPL-Vorlage -Test.xlsx]Q1'!V8;'[DPL-Vorlage -Test.xlsx]Q1'!$4:$4;0)-2);0));"") | A8 | =A7+1 | B8 | =A8 | C8 | =WENNFEHLER(INDEX('[DPL-Vorlage -Test.xlsx]Q1'!$B:$B;VERGLEICH('[DPL-Vorlage -Test.xlsx]Q1'!$V$1;BEREICH.VERSCHIEBEN('[DPL-Vorlage -Test.xlsx]Q1'!$B:$B;0;VERGLEICH('[DPL-Vorlage -Test.xlsx]Q1'!V9;'[DPL-Vorlage -Test.xlsx]Q1'!$4:$4;0)-2);0));"") | A9 | =A8+1 | B9 | =A9 | C9 | =WENNFEHLER(INDEX('[DPL-Vorlage -Test.xlsx]Q1'!$B:$B;VERGLEICH('[DPL-Vorlage -Test.xlsx]Q1'!$V$1;BEREICH.VERSCHIEBEN('[DPL-Vorlage -Test.xlsx]Q1'!$B:$B;0;VERGLEICH('[DPL-Vorlage -Test.xlsx]Q1'!V10;'[DPL-Vorlage -Test.xlsx]Q1'!$4:$4;0)-2);0));"") |
Zelle | Gültigkeitstyp | Operator | Wert1 | Wert2 | A1 | Liste | | =Tabelle2!B3:B23 | |
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg |
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 10.03.2016
Version(en): 2007
15.03.2016, 15:32
(Dieser Beitrag wurde zuletzt bearbeitet: 15.03.2016, 17:04 von Rabe.
Bearbeitungsgrund: Formel in Code-Tags leichter lesbar
)
Druck - test.xlsx (Größe: 253,7 KB / Downloads: 4)
Wochenblatt.pdf (Größe: 212,31 KB / Downloads: 3)
Hallo Schauan, danke erstmal für Deine Mühe. Leider bekomme ich so nicht das richtige Ergebnis. In der ersten Woche dürfte nur 3x AA stehen sonst nichts. Siehe Datei. Hab es auch in der original Datei probiert, da steht ein Mitarbeiter bereits in der letzten Dezemberwoche bei der Druckausgabe, begann aber erst 11.1.16 zu arbeiten. Ich vermute dass das Datum nicht richtig gecheckt wird. Code: =WENNFEHLER(INDEX('[DPL-Vorlage -Test.xlsx]Q1'!$B:$B;VERGLEICH('[DPL-Vorlage -Test.xlsx]Q1'!$V$1;BEREICH.VERSCHIEBEN('[DPL-Vorlage -Test.xlsx]Q1'!$B:$B;0;VERGLEICH('[DPL-Vorlage -Test.xlsx]Q1'!V4;'[DPL-Vorlage -Test.xlsx]Q1'!$4:$4;0)-2);0));"")
Was ich nicht ganz kapiere ist was die -2 in der Formel bewirkt? Zwei Spalten nach links ? Da ja die Tabelle immer mit dem morgigen Tag beginnt, muss ich in die Zellen von C;G;K die Formel ca 70x mit den jeweiligen Bezug auf die Zeilen vom Datum schreiben, ist das noch rechenbar? Ist die Verbindung der Formeln mit & richtig oder müsste das anders Ausschauen ? lg hollywood
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
die -2 hängt damit zusammen, dass ich in der kompletten Zeile nach dem Datum suche, die Daten aber erst in Spalte C beginnen. Was aber noch wichtig ist, $4:$4 ist die Zeile, in der das Datum gesucht wird. Die müsstest Du für jede betreffende Woche abändern.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 10.03.2016
Version(en): 2007
Servus Schauan,
besten Dank für deine Antworten und den Nachhilfeunterricht. Ich hab gestern die Druckdatei nochmals hochgeladen, in Tabelle4 hab ich die Daten mit dem Dienstplan verknüpft (4 Quartale). Wie man sehen kann hab ich die Formel zum Testen für 2 Wochen eingegeben. Erster Bezug Zeile 4 ist vom 28.12.15 bis 3.1.16. Zweiter Bezug Zeile 477 ist vom 14.3.16 bis 20.3.16. Wie man sieht steht in beiden Wochen das selbe Ergebnis, was leider nicht stimmt ! Hab die Formel in der 1. Wochen auch nur mit Bezug auf Zeile 4 probiert und komm auf das selbe Ergebnis. Hab ich die Formel falsch angepasst? -1 weil in Tabelle4 die Daten in Spalte B beginnen.
=WENNFEHLER(INDEX(Tabelle4!$A:$A;VERGLEICH(Tabelle1!$A$1;BEREICH.VERSCHIEBEN(Tabelle4!$A:$A;0;VERGLEICH(Tabelle1!A10;Tabelle4!$4:$4;0)-1);0));"")&WENNFEHLER(INDEX(Tabelle4!$A:$A;VERGLEICH(Tabelle1!$A$1;BEREICH.VERSCHIEBEN(Tabelle4!$A:$A;0;VERGLEICH(Tabelle1!A10;Tabelle4!$477:$477;0)-1);0));"")
habs auch so probiert, mit dem selben Ergebnis
=WENNFEHLER(INDEX(Tabelle4!$A:$A;VERGLEICH(Tabelle1!$A$1;BEREICH.VERSCHIEBEN(Tabelle4!$A:$A;0;VERGLEICH(Tabelle1!A10;Tabelle4!$4:$4;0)-1);0));WENNFEHLER(INDEX(Tabelle4!$A:$A;VERGLEICH(Tabelle1!$A$1;BEREICH.VERSCHIEBEN(Tabelle4!$A:$A;0;VERGLEICH(Tabelle1!A10;Tabelle4!$477:$477;0)-1);0));""))
lg hollywood
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
da hab ich mir doch fast selber ins Knie geschossen :86: Also, genau wie die Bereiche für die Datumszeile differenziert werden müssen, muss das auch bei den Diensten mit Spalte B geschehen. An den beiden Stellen der Formeln, wo $B:$B steht, müssen noch die entsprechenden Zeilen dazu, also z.B.. $B$4:$B$40 usw.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 10.03.2016
Version(en): 2007
:100: Servus Schauan, jetzt schaut's gut aus, lichen Dank. 2 Fragen hab ich noch. 1. die Verbindung der einzelnen Formeln mit & passt? Mit zwei funktioniert es. 2. da das ganze jahresübergreifend funktionieren soll muss ich die Formel mit ca. 70 verschiedenen Zellbezügen eingeben, sprengt das den Rahmen von Excel? Wäre ärgerlich wenn ich bei der 65 drauf komme. lg hollywood
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
ich würde überlegen, ob die Formel wirklich alle Zellbezüge beinhalten soll. Du kannst doch jede Woche getrennt "verformeln".
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
|