Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1804to1808
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dropdownliste: Eintrag abhängig v. Datum

Dropdownliste: Eintrag abhängig v. Datum
08.01.2021 17:58:33
Stephan
Hallo zusammen,
ich brauche bitte eure Hilfe bei der Erstellung von Datums-abhängigen Einträgen in einer Dropdown-Liste.
Im Prinzip soll es eine Art Urlaubs-Liste sein: Wenn Datum soundso, dann Kollege / Mitarbeiter nicht auswählbar.
Im Tabellenblatt 1 möchte ich verschiedene Namen an verschiedenen Tagen einteilen. Die Namen sollen als Dropdown erscheinen.
Diese Namen stehen im Tabellenblatt 2. Wie kann ich jetzt einstellen, dass der Name NICHT verfügbar ist, wenn er Urlaub hat? Wie definiere ich im Tabellenblatt und / oder in der Dropdownliste, dass der Name XY am 23. Mai erscheinen darf, aber in der Zeit des Urlaubs vom 24.-29. Mai nicht? Ich habe mal die Datei als Beispiel angehängt.
https://www.herber.de/bbs/user/142871.xlsx
Vielen Dank vorab, Gruß Stephan

34
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nachgefragt ...
08.01.2021 19:01:41
neopa
Hallo Stephan,
... hierzu ist mir momentan ohne VBA keine direkte Lösungsmöglichkeit bekannt.
Wenn Du aber Hilfsspalten (können ausgeblendet werden) akzeptieren kannst, könnte ich Dir einen Lösungsweg ohne VBA aufzeigen.
Gruß Werner
.. , - ...
AW: nachgefragt ...
08.01.2021 19:44:38
Stephan
ja gerne, versuchen können wir es, danke
AW: nachgefragt ...
08.01.2021 20:16:49
Yal
Hallo Stefan,
entweder grübelt Werner noch, oder er hat schon Feierabend gemacht ;-)
@Werner: solltest Du Stunden an einer Lösung gebastelt haben, bitte ich um Entschuldigung für mein Zuvorkommen.
Es ist eine Gültigkeitsprüfung basierend auf eine Liste. Daher müsste die Liste sich auf die Werte in jede Zeile anpassen. Das kann man tatsächlich nur mit VBA in Griff haben.
Ich gehe die Lösung Hilfespalten nach: Übersicht pro Tag bereitstellen (alles in Tab1):
_ füge eine neue Zeile vor der erster Zeile (oder verchiebe alle Datum nach unten. Ist gleich)
_ Die 3 Namen Meier-Mueller-Huber kommen in C1:E1
_ in C2 kommt
=NICHT(UND(SVERWEIS(C$1;Tabelle2!$A$1:$E$3;4;0)=$A2))
_ auf die 19 Zeilen und 3 Spalten erweitern
_ mit bedingten Formatierung den "Wahr" oder "Falsch" hervorheben
Natürlich bei einem erhöhten Zahl an Kollegen ist "Übersicht" relativ...
VBA-Lösung müsste ich nochmal schauen.
VG
Yal
Anzeige
AW: nachgefragt ...
08.01.2021 20:35:53
Yal
Noch besser: statt Wahr/Falsch, den Name oder leer:
=WENN(NICHT(UND(SVERWEIS(C$1;Tabelle2!$A$1:$E$3;4;0)=$A2)) ;C$1;"")
Dann die Gültigkeit in der Form =$C2:$E2 eintragen.
Es passt sich an, wenn diese Gültigkeitsprüfung nach unten geuogen wird.
Dann sind in jede Zelle nur die Namen der Verfügbaren vorhanden. Ja, mit einigen Leerzeilen dazwischen (in August wird löschrig :-)
Userbild
VG Yal
AW: nachgefragt ...
08.01.2021 20:45:10
Stephan
oh ja, das ist schon echt gut. Danke!
wie würde ich es dann noch hinbekommen, dass als Referenzdatum nicht einzelne Tage, sondern Zeiträume gelten?
Anzeige
AW: nachgefragt ...
08.01.2021 20:51:51
Stephan
es sind schon Zeiträume, verstanden :-)
Und wenn es mehrere sind?
Momentan steht ja auf dem tabellenblatt 2 ein Anfangs- und Enddatum in D und E
Muss ich dann mehrere Zeilen pro Name machen oder würden die Datumsangaben z. B. ab F weitergehen?
AW: nachgefragt ...
08.01.2021 20:55:57
Yal
Siehe meine Antwort von 20:47 (hat sich mit deiner Rückfrage überschneidet)
AW: nachgefragt ...
08.01.2021 20:37:34
Stephan
Hallo Yal,
vielen Dank schon mal für´s Austüfteln der Lösung.
Ich habe die Frage extra hier im Forum gestellt, weil ich bisher immer gute und schnelle Resonanzen hatte. Eigentlich würde ich das Ganze gerne in eine Google Tabelle schreiben, von daher würde mir VBA wohl nicht helfen. Aber wenn´s nicht anders geht... Nur bei den Google Tabellen findet man schlecht Anleitung für solche Kniffe.
Wir sprechen schon von ca. 15 Personen, also nimmt das dann noch mehr Platz ein. Die Tage, die ich auf dem 2. Tabellenblatt eingetragen habe, sollen eigentlich "von" "bis" sein, nicht nur einzelne, denn man hat ja real im Jahr immer 1, 2, 3 Wochen am Stück Urlaub. Derjenige ist also mal 1, mal 2 Wochen nicht verfügbar. Elegant wäre es also, wenn die Liste immer nur denjenigen wiedergeben könnte, der auch anwesend ist, aber ich bin da völliger Laie und es ist "nur" ein Wunsch.
Vielen Dank.
Anzeige
AW: nachgefragt ...
08.01.2021 20:47:11
Yal
Hallo Stefan,
genau gesehen, prüfe ich nicht die "Anwesenheit" sondern die Abwesenheit, also ob den Tage zwischen die 2 gegebene Urlaubsdatum des MA liegt:
_ grösser als "von" (erster Sverweis)
_ UND kleiner als "bis" (zweiter SVerweis).
Daraus mache ich mit dem "NICHT" eine Anwesenheit.
Daher wäre es machbar, die mehrere Abwesenheit mit ODER zu verbinden und mit dem NICHT in Anwesenheit umzukehren:
= NICHT(ODER(UND(Datum=bis1);UND(Datum=bis2);UND(..von3;..bis3);...)
Jeder von_x und bis_x ist ein SVerweis.
Sollte auch mit GoogleTable funktionieren.
VG
Yal
Anzeige
AW: nachgefragt ...
08.01.2021 20:59:54
Stephan
ok, danke yal, ich probiers aus und geb Bescheid
AW: nachgefragt ...
09.01.2021 15:09:57
Stephan
Hallo Yal, ich habe deine 1. Variante in Google Tabellen ausprobiert, dort werden sogar nur die verfügbaren Namen ohne leere Stellen angezeigt.
Mein Problem: Ich bekomme deine 2. Formel =NICHT(ODER(UND... mit den SVerweisen nicht hin. Bin totaler Anfänger... :-)
Wärst du so nett und würdest mir die Formel komplett für 2 Urlaube aufschreiben?
Also Tabelle 2 D1 = Beginn Urlaub 1, E1 = Ende Urlaub 1, F1 = Beginn Urlaub 2, G1 = Ende Urlaub 2
Kannst du mir bitte sagen, wo und ob ich bei ZUSÄTZLICHEN Urlauben (Urlaub Nr. 3, 4, 5) in der Formal noch zusätzliche Klammern setzen muss?
Danke schon mal für deine Mühe.
Anzeige
AW: nachgefragt ...
11.01.2021 08:53:36
Yal
Hallo Stefan,
wenn Du die Formel wie folgt darstellt, wird die Struktur leichter zu erkennen und zu erweitern:
= NICHT(
ODER(
UND(
SVERWEIS(C$1;Tabelle2!$A$1:$K$3;4;0)=$A2);
UND(
SVERWEIS(C$1;Tabelle2!$A$1:$K$3;6;0)=$A2);
UND(
..);
)
)
Viel Erfolg
Yal
AW: "grübeln" war für hierfür nicht angesagt ...
09.01.2021 10:36:45
neopa
Hallo Yal,
... denn mein Lösungsweg war als Idee mir gestern schon klar. Wollte ihn nur nicht unnötig umsetzen und hier einstellen, falls eine VBA-Lösung gesucht gewesen wäre. Zur Umsetzung meiner Lösungsvorstellung, hab ich jetzt auch nur Minuten gebraucht, jedenfalls weniger Zeit, als diese heute hier schriftlich aufzuzeigen.
Gruß Werner
.. , - ...
Anzeige
AW: dann ...
09.01.2021 10:32:52
neopa
Hallo Stephan,
... nachfolgend für bis zu 19 Namen nutze ich die Spalten H:Z als Hilfsspalten aber brauche dafür nur eine Formel.
In H1:
=WENNFEHLER(INDEX(Tabelle2!$A:$A;AGGREGAT(15;6;ZEILE(A$1:A$19)/((Tabelle2!$D$1:$D$19&gt$A1)+(Tabelle2!$E$1:$E$19&lt$A1))/(Tabelle2!$A$1:$A$19&gt0)/($A1&gt0);SPALTE(A1)));"")
Diese Formel bis nach Z1 ziehend kopieren und danach diesen Bereich so weit wie erforderlich nach unten
Dana definiere bei aktivierter Zelle B1 im Namensmanager folgende benannte Formel:
=$H1:INDEX($H1:$Z1;ZÄHLENWENN($H1:$Z1;"?*"))
Ich hab dieser den Namen: _Wahl zugewiesen.
Danach ersetze in der Datenüberprüfung Deine Definition für "Quelle" wie folgt: =_Wahl
Aktiviere noch die Option: "Änderungen auf alle ... anwenden"
Wie bereits geschrieben die Hilfsspalten H:Z kannst Du ausblenden.
Mein Lösungsvorschlag hat auch den Vorteil, dass dann in den Dropdownzellen lediglich die möglichen Namen ohne Zwischenleerzellen angeboten werden.
Gruß Werner
.. , - ...
Anzeige
AW: dann ...
09.01.2021 15:01:20
Stephan
Hallo Werner, vielen Dank für deine Lösung.
Leider funktioniert die Liste so nicht in Google Tabellen, wo ich sie gerne führen möchte.
1. die Formel in H1 funktioniert in Excel, aber in Google Tabellen kommt kein Ergebnis (?)
2. in Google gibt es den Namensmanager für Formeln so nicht, oder ich konnte die richtige Stelle zum Eingeben nicht finden.
Trotzdem vielen Dank.
AW: hmm, Google Tabellen nutze ich nicht ....
09.01.2021 15:18:02
neopa
Hallo Stephan,
... somit kann ich nach Deinen Angaben nur annehmen, dass die Funktion AGGREGAT() dort nicht unterstützt wird.
Teste mal, ob anstelle meiner für H1 bisher aufgezeigten Formel da folgende zum Ergebnis führt:
=WENNFEHLER(INDEX(Tabelle2!$A:$A;KKLEINSTE(WENN(((Tabelle2!$D$1:$D$19&gt$A1) +(Tabelle2!$E$1:$E$19&lt$A1))*(Tabelle2!$A$1:$A$19&gt0)/($A1&gt0);ZEILE(A$1:A$19));SPALTE(A1)));"")
In Excel muss die Eingabe dieser Formel mit der Tastenkombination Strg+Shift+Enter abgeschlossen werden, ob in Google Tabellen auch, kannst Du testen.
Und anstelle der benannten Formel in der Datenüberprüfung in Spalte B teste mal, ob dort die Formel
=$H1:INDEX($H1:$Z1;ZÄHLENWENN($H1:$Z1;"?*")) direkt in "Quelle" eingeben werden kann.
Gruß Werner
.. , - ...
Anzeige
AW: hmm, Google Tabellen nutze ich nicht ....
09.01.2021 16:49:01
Stephan
Hallo Werner, vielen Dank.
die Formel in H1 funktioniert jetzt so auch in Google.
Es wird also immer der erste Mögliche Anwesende genannt, gefolgt von den anderen, wenn ich das richtig sehe. Das ist in Ordnung.
Wenn ich dann noch um eine Hilfestellung bitten darf:
Derzeit ist ja nur 1 Abwesenheit definiert mit Anfang und Ende in Tabelle 2 D und E.
Wie könnte ich in deiner Formel mehrere Abwesenheiten unterbringen? Realistisch sind ja 4-6 Urlaube / Abwesenheiten pro Jahr. Bin ein zu blutiger Excel-Laie, als dass ich die Formel korrekt ableiten könnte...
Danke, Gruß Stephan
Die 2. Formel für die Dropdownliste funktioniert so nicht in Google, jedoch greift hier Yal´s Tipp mit $H1:$Z1 oder auch ohne $. Google zeigt die leeren Zellen da gar nicht an.
In Google besteht lediglich der Nachteil, dass man die Formel durch Runterziehen nicht auf die darunterliegenden Zellen erweitern kann, also entweder die Excel Datei importieren oder pro Zeile einzeln eingeben.
Anzeige
AW: hmm, Google Tabellen nutze ich nicht ....
09.01.2021 18:35:50
Stephan
Hallo Werner,
ich hab jetzt mal alles in einem Tabellenblatt eingegeben und die Formel so abgeändert, dass sie stimmen sollte.
Hab ich noch einen Fehler? Mir werden die Verfügbarkeiten erst ab dem 4. Mitarbeiter angezeigt, die ersten 3 fehlen. Siehe bitte Anhang.
https://www.herber.de/bbs/user/142883.xlsx
Ziel soll sein: Mitarbeiter stehen in H, ihre Abwesenheiten in J bis S. Von U bis AJ hab ich deine Formel eingegeben, die Mitarbeiter sollen dann später in E per Dropdown ausgegeben werden können. Die Formel fehlt in dieser Tabelle noch.
Mitarbeiter A, B, C stehen aber in U bis AJ nie drin. Warum?
Eilt nicht, Danke, Gruß Stephan
AW: dafür dann ...
09.01.2021 19:01:25
neopa
Hallo Stephan,
... die Formel mit den entsprechenden Bedingungen erweitern und Deine "Anpassung" bzgl. Bezug und Zähler korrigieren.
In U2:
=WENNFEHLER(INDEX($H:$H;KKLEINSTE(WENN((($J$2:$J$17&gt$C2)+($K$2:$K$17&lt$C2))*(($L$2:$L$17&gt$C2)+($M$2:$M$17&lt$C2))* ... *(($R$2:$R$17&gt$C2)+($S$2:$S$17&lt$C2))/($C2&gt 0);ZEILE(C$2:C$17));SPALTE(A2)));"")
Gruß Werner
.. , - ...
AW: dafür dann ...
09.01.2021 20:12:18
Stephan
jetzt passt es. Super, vielen Dank!!
AW: bitteschön owT
10.01.2021 10:03:08
neopa
Gruß Werner
.. , - ...
AW: bitteschön owT
11.01.2021 21:29:04
Stephan
Hallo Werner,
jetzt hab ich doch noch eine Bitte, dann sollte die Tabelle aber fertig sein :-)
Wie bekomme ich Folgendes in die Formel rein:
C ist als Datum formatiert und wird als "Wochentag, TT.MM.JJ" angezeigt. Einer der Mitarbeiter aus H z. B. H7 ist z. B. dienstags nie verfügbar. Wie kann ich das zusätzlich zu den schon definierten Abwesenheiten angeben?
Danke, Gruß Stephan
AW: das ist an sich kein Problem ...
13.01.2021 08:15:44
neopa
Hallo Stephan,
... dazu muss lediglich der Bedingungsformelteil um eine entsprechende Bedingungsteilformel erweitert werden, den ich Dir natürlich auch aufzeigen kann. Jedoch vermute ich, dass es nicht dabei bleibt, dass eine derartige Zusatzbedingung lediglich nur für einen MA gelten dürfte. Und möglicherweise wird es auch nicht nur bei einem Tag für diesen bleiben, oder? Wenn dem jedoch so sein sollte, ergänze eine bzw. mehrere Spalten (analog den Urlaubstagen) in dem Du die nicht zu berücksichtigten Tage je MA z.B. in der Kurzform TTT listest. Dann kann ich Dir auch dafür die entsprechende Formelergänzung aufzeigen.
Gruß Werner
.. , - ...
AW: das ist an sich kein Problem ...
13.01.2021 17:45:41
Stephan
Hallo Werner,
ja, das ist richtig, die Mitarbeiter mit Ausnahmen und die Tage können im Lauf der Zeit sicher wechseln. Meine Abwesenheiten habe ich jetzt von J bis AG Zeile 4-19. (je Monat 1 Spalte für Beginn Abwesenheit und 1 für Ende = 12 Monate = 24 Spalten). Ich habe den Bereich darunter dann gleich dafür genommen, andere monatsbezogene Angaben einzutragen.
Daneben können Tage angegeben werden, wie von dir vorgeschlagen.
Geht es auch, in die Bedingung z. B. die Uhrzeit reinzunehmen?
In C hab ich ja das Datum. In D steht 1 Uhrzeit (10:00)
Es könnte sein, dass ein Mitarbeiter zwar dienstags um 10:00 kann, aber nicht um 18:00.
Wenn ich diese Kombination aus Tagen und Zeit noch mit in die Formel bekommen, hab ich alles zusammen. Soll ich nochmal eine Roh-Datei mitschicken, oder geht das so?
Danke vorab. Gruß Stephan
AW: (D)eine Beispieldatei wäre hilfreich owT
13.01.2021 20:10:22
neopa
Gruß Werner
.. , - ...
AW: die Datei entspricht aber nicht bisherigen ...
14.01.2021 12:09:38
neopa
Hallo Stephan,
... die Aufteilung der Abwesenheitstage zu Monaten verlängert nur unnötig die Formelauswertung. Außerdem kannst Du so nicht in einem Monat an z.B. zwei oder mehr verschiedenen Abwesenheiten erfassen.
Es gibt auch keine Spalte, wo vermerkt ist, an welchen Wochentag MA prinzipiell nicht einsetzbar sind.
Unklar ist auch, nach welchen Kriterien die Zeiten berücksichtigt werden sollen.
Gruß Werner
.. , - ...
AW: die Datei entspricht aber nicht bisherigen ...
14.01.2021 15:14:29
Stephan
Hallo Werner,
ich habe die Abwesenheiten nachträglich absichtlich auf alle Monate verlängert, weil ich in den Zeilen darunter dann auch andere monatsbezogene Einträge vornehmen kann und weil ich zudem gleich eine Art optische Übersicht habe, wer wann verfügbar / abwesend ist, als wenn alles direkt nebeneinander steht.
Es stimmt, dass mehrere Abwesenheiten pro Monat dadurch schwierig werden. In einem Fall habe ich zwei Dezember Tage in den November vorverschoben. Da es sich aber i. d. R. um Urlaube handelt, die nur 1x pro Monat vorkommen, kann ich eigentlich damit leben.
Die Spalten mit den nicht verfügbaren Wochentagen / Zeiten habe ich jetzt eingefügt. Siehe Anhang.
Sowohl D als auch AJ ist als "Uhrzeit HH:MM" formatiert.
Die Tage in AH sind derzeit als Text formatiert. Es geht nicht darum, dass jemand an einem Tag (= Datum) nicht verfügbar ist, sondern IMMER Z. B. DIENSTAGS
Als Angabe für die Abwesenheit (außer Urlaub) würde ich definieren wollen:
Wenn der Wochentag in AH identisch ist mit C ODER die Uhrzeit in AI identisch mit D, soll der Mitarbeiter nicht angezeigt werden. Diese Kombination ist ausreichend.
Ich hoffe, so passt es.
Vielen Dank, Gruß Stephan
https://www.herber.de/bbs/user/143006.xlsx
AW: die Bedingungserweiterung dazu ...
14.01.2021 16:55:36
neopa
Hallo Stephan,
... kann wie folgt definiert werden. Zunächst solltest Du jedoch das Format Deiner Uhrzeitenangabe in Spalte D und AI identisch gestalten.
Dann in AK4 folgende Formelergänzung:
.../($C4&gt0)*($AH$4:$AH$19TEXT($C4;"TTT"))*($AI$4:$AI$19$D4);ZEILE(...
und Formel nach rechts und unten ziehend kopieren.
Gruß Werner
.. , - ...
AW: die Bedingungserweiterung dazu ...
14.01.2021 17:59:33
Stephan
Danke Werner,
die Formel funktioniert so.
Wenn ich die Formel allerdings in Google Tabellen eingebe, oder die Exceldatei in Google importirere, greift der Tag nicht mehr. Der Mitarbeiter wird dann trotzdem angezeigt.
Formatierung der Zellen ist ja durch den Import identisch geblieben. Tagesspalte AH ist als Text formatiert. Weißt du dazu noch was? Sonst lass ich die Datei in Excel, muss nicht zwingend online sein.
Gruß Stephan
AW: dazu prüfe mal ...
14.01.2021 20:05:07
neopa
Hallo Stephan,
... was Google Tabellen (wie bereits geschrieben, ich nutze Google Tabellen nicht) als Ergebnis für =TEXT($C4;"TTT") ausgibt. Wenn dafür "Fr" ermittelt wird, dann müsstest Du noch mal prüfen, ob Du die Formel wirklich als Matrixformel eingegeben hast und wenn auch das der Fall ist, ob auch wirklich die Urlaubsdaten aus den Spalten rechts von K erkannt werden.
Gruß Werner
.. , - ...
AW: dazu prüfe mal ...
14.01.2021 21:15:35
Stephan
Hallo Werner,
Google Tabellen gibt als Ergebnis für =TEXT($C4;"TTT") "TTT" aus.
Die Matrixformel muss korrekt eingegeben sein, denn die Urlaubsdaten aus den Spalten rechts von K werden erkannt und auch die Eingabe in der Zeitspalte AI führt zur Nicht-Anzeige des Mitarbeiters im Dropdownmenü in E.
AW: dazu prüfe mal ...
15.01.2021 11:25:49
Stephan
Hallo Werner,
ich hab jetzt Google Tabellen nochmal getestet.
Die Formel =TEXT($C4;"TTT")gibt nur dann den Tag aus, wenn er als Text formatiert in C steht. Also reiner Text "Freitag". Sobald ich ein Datumsformat verwende, kommt "TTT".
Wenn´s in Google nicht machbar ist, lass ich die Tabelle in Excel. Mich wundert nur, dass es alleine an dieser einen Formel liegt...?
Gruß Stephan
AW: so wie Du schreibst, bleibt nur das ...
15.01.2021 14:09:47
neopa
Hallo Stephan,
... denn offensichtlich ist Google Tabellen funktional zu eingeschränkt.
Dein thread ist übrigens nicht mehr in Forumsliste ersichtlich. Auf Deinen letzten Beitrag bin ich über
die Beitragsliste gestoßen. Aber das auch mehr zufällig.
Gruß Werner
.. , - ...

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige