Das Clever-Excel-Forum.de - Treffen
... 14.-16. September 2018 im Allgäu ...

Druckabfrage mit 2 Variablen
#1
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.

.xlsx   DPL-Vorlage -Test.xlsx (Größe: 379,69 KB / Downloads: 7)
.xlsx   Druck - test.xlsx (Größe: 14,05 KB / Downloads: 4)
to top
#2
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'
 ABCDEF
1 01.01.201602.01.2016 werAA
2HoseAA  wann02.01.2016
3Jacke AA wasJacke

ZelleFormel
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-2016)
to top
#3

.xlsx   Druck - test.xlsx (Größe: 21,53 KB / Downloads: 2)
.xlsx   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. Huh

Idea Würde mich freuen von euch zuhören.
to top
#4
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'
 ABC
1AA  
2DatumTagDienst
328.12.2015Mo 
429.12.2015Di 
530.12.2015MiLeitung
631.12.2015DoLeitung
701.01.2016FrLeitung
802.01.2016Sa 
903.01.2016So 

ZelleFormel
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));"")

ZelleGültigkeitstypOperatorWert1Wert2
A1Liste =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-2016)
to top
#5

.xlsx   Druck - test.xlsx (Größe: 253,7 KB / Downloads: 4)
.pdf   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
to top
#6
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-2016)
to top
#7
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
to top
#8
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-2016)
to top
#9
100 Servus Schauan,

jetzt schaut's gut aus,  Heart 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
to top
#10
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-2016)
to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste