Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
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

Anzahl Tage zwei überlappender Zeiträume

Anzahl Tage zwei überlappender Zeiträume
12.09.2023 11:28:39
Blasse133
Hallo Zusammen,

ich bin dabei eine Art Urlaubs- und Ressourcenplanung zu bauen.
Dazu habe ich in einem Tabellenblatt die Urlaube der einzelnen Mitarbeiter mit Start- und Enddatum. Auf der anderen Seite habe ich eine Wochenübersicht, wer wann an wie vielen Tagen verfügbar ist.
Nun möchte ich diese Verfügbarkeiten natürlich nicht manuell pflegen, sondern aus der Urlaubsübersicht übernehmen.

Tabellen Blatt 1 "Urlaube":
Darin befindet sich in Spalte A der Name des Mitarbeiters, in Spalte C Startdatum und in D das Enddatum.
Userbild

Tabellen Blatt 2 "Ressourcenplanung":
Hier habe ich in der Spalte A ab Zeile 3 den Namen der Mitarbeiter. In Zeile 1 ab Spalte B habe ich das Anfangsdatum einer jeden Kalenderwoche.
Userbild

Nun möchte ich in der Ressourcenplanung wissen, an wie vielen Tagen der Mitarbeiter pro Kalenderwoche abwesend ist, damit ich dies von der Anzahl an Nettoarbeitstagen der entsprechenden Woche abziehen zu können.

Geht das ohne den Einsatz von VBA?
Hat jemand eine Idee?

Ich bin für jede Hilfe dankbar.

Viele Grüße,
aus dem hohen Norden.

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzahl Tage zwei überlappender Zeiträume
12.09.2023 11:54:37
Oberschlumpf
Hi,

wieso trägst du denn im Blatt "Urlaube" (welches ich nur "Urlaub" nennen würde) 2x den selben Mitarbeiter ein? Da der 2. Urlaub für MA1 direkt anschließend ist, trag doch das Ende des 2. Urlaubs einfach an Stelle des 1. Urlaubsendes ein - und lösch natürlich jetzt die 2. Zeile.

Daraus ergibt sich aber, dass du in deiner Bsp-Ansicht nur noch einen einzigen Eintrag hast - irgendwie jetzt voll doof, um deine Frage beantworten zu können, oder?
Daher würd zumindest ich dir vorschlagen, trag ins Blatt "Urlaube" für durchaus 5 bis 10 - unterschiedliche Mitarbeiter die Urlaubszeiten ein, weil, dann kann man besser testen - da ja in jeder KW immer mind. 4 Mitarbeiter anwesend sein müssen.

Ach ja, Excel ist kein Grafikprogramm - zeig bitte per Upload deine Excel-Bsp-Datei mit den von mir vorgeschlagenen Bsp-Daten.

Ciao
Thorsten


Anzeige
Anzahl Tage zwei überlappender Zeiträume
12.09.2023 11:56:00
amp
Hallo Blasse133,

mit vielen Formeln bekommt man das mit Sicherheit hin. Jedoch wären da zuvor noch ein paar Fragen.

Eine Arbeitswoche geht von MO bis FR?
Feiertage müssen berücksichtigt werden?
Gibt es ggf. auch halbe Tage?
Macht es einen Unterschied ob der Urlaub genehmigt oder beantragt ist?

VG
Anzahl Tage zwei überlappender Zeiträume
12.09.2023 12:38:35
daniel
HI
am einfachsten wahrscheinlich über ein Zwischenblatt, in welchem du in Spalte A die Mitarbeiter auflistest und dann nach Rechts einen Kalender für jeden Tag aufspannst.
also in A2 steht "Mitarbeiter1" und und B1 der 1.1

dann kannst du mit =(ZählenWenns(Urlaube!$A:$A,$A2;Urlaube!$B:$B;">="&B$$1;Urlaube!$C:$C;"="&B$1)>0)*(Wochentag(B$1;2)=5)*(ist nicht feiertag)
dir jeden Urlaubstag mit 1 in dieses Liste eintragen lassen.

diese Liste kannst du dann nach Kalenderwoche auswerten lassen.

Gruß Daniel
Anzeige
Anzahl Tage zwei überlappender Zeiträume
12.09.2023 16:04:07
daniel
Hi

hier mal eine Formellösung. die Formel ist für die Zelle Ressourcenplanung!B4 und kann dann nach rechts und nach unten gezogen werden.
die Tabelle1 wird hier nicht mehr benötigt. Nach dem Definitionsteil für Let habe ich einen Zeilenumbruch eingefügt, damit das ganze übersichtlicher ist
(erste Zeile: Definition der Variablen, zweite Zeile dann die eigentliche Formel)

=LET(Dat;SEQUENZ(5;1;B$1;1);MA;$A4;SP_MA;Urlaube!$A:$A;SP_Von;Urlaube!$C:$C;SP_Bis;Urlaube!$D:$D;FT;Config!$A:$A;

SUMME((ZÄHLENWENNS(SP_MA;MA;SP_Von;"="&Dat;SP_Bis;">="&Dat)>0)*(ZÄHLENWENN(FT;Dat)=0)))



Beachte, dass du die Mitarbeiternamen überall gleich schreiben musst.
in der einen Tabelle hast du dafür eine Datenüberprüfung eingerichtet, in der anderen Tabelle nicht, warum?

Gruß Daniel
Anzeige
Anzahl Tage zwei überlappender Zeiträume
13.09.2023 09:25:11
Blasse133
Hallo Daniel,

muss ich noch etwas anderes machen als die Formel nach B4 zu kopieren und dann nach rechts und unten ziehen?
Wenn ich das so mache, dann erhalte ich überall den Wert 0.

https://www.herber.de/bbs/user/162814.xlsx

Gruß Blasse
Anzahl Tage zwei überlappender Zeiträume
13.09.2023 09:51:35
Daniel
Ja, du musst noch was machen.
Das habe ich dir aber geschrieben. Ich habe aber keine Lust, das zu wiederholen.
Lies einfach meinen Beitrag nochmal, aber bitte vollständig und korrigiere deine eigenen Fehler.

Gruß Daniel
Anzahl Tage zwei überlappender Zeiträume
13.09.2023 09:58:44
Blasse133
Jetzt habe ich gesehen, was du meinst, danke.

Problem gelöst.
Super Hilfe. Danke.
Anzeige
Anzahl Tage zwei überlappender Zeiträume
12.09.2023 13:20:14
Blasse133
Hi,
vielen Dank für deine Antwort.
So einen Gedanken hatte ich auch, mir fehlt allerdings die Fantasie dieses Zwischenblatt zu erzeugen.

Dadurch, dass ich im Urlaubsblatt jeden Mitarbeiter mehrfach haben kann, habe ich keine Idee, wie ich diese in eine Zeile zusammenführen kann.
Anzahl Tage zwei überlappender Zeiträume
12.09.2023 13:40:34
daniel
naja, mit der ZählenWenns-Formel, die ich dir genannt habe.
Gruß Daniel
Anzahl Tage zwei überlappender Zeiträume
12.09.2023 14:09:29
Blasse133
Leider waren meine Beispieldaten nicht sonderlich gut. Daher beschreibe ich das nochmal detaillierter.
Unsere Arbeitswoche ist Mo-Fr.

Jeder "Urlaubsantrag" oder "genehmigter Urlaub", usw. erhält eine eigene Zeile. In der Ressourcenplanung möchte ich nachher sehen können, welcher Mitarbeiter an wie vielen Tagen einer Woche da ist.

Wenn die Mitarbeiter für die unterschiedlichen Projekte eingeplant werden, soll die Anzahl der geplanten Tage mit denen der verfügbaren Tage abgeglichen werden und bei Unterversorgung/Überplanung die Woche rot gezeigt werden. Letzteres bekomme ich dann wieder selbst hin. So können wir dann relativ schnell sehen, wir mehr Mitarbeiter an das Projekt setzen können oder das Projekt gezogen werden muss.

So, ich habe die ZÄHLENWENNS Formel mal eingebaut, steig aber leider immer noch nicht durch.
Mir fehlt hier wie gesagt etwas die Fantasie. ;-)

https://www.herber.de/bbs/user/162796.xlsx
Anzeige
Anzahl Tage zwei überlappender Zeiträume
12.09.2023 14:22:07
daniel
ja ich hab die Spalte B mit Urlaub genehmigt übersehen.
du musst also im Zählenwenns die Spalten B nach C und C nach D übertragen, also im Prinzip:
ZählenWenns(SpalteName;Name;SpalteUrlaubAb;">="&Kalenderdatum;SpalteUrlaubBis;"="&Kalenderdatum)

damit kannst du die Urlaubsplanung Spalte A:E, die ja für jeden Mitarbeiter mehrere Zeilen haben kann, auf eine Zeile pro Mitarbeiter verdichten.

Gruß Daniel
Anzahl Tage zwei überlappender Zeiträume
12.09.2023 14:46:24
Blasse133
Super, das habe ich jetzt hinbekommen.

Wie bekomme ich jetzt die Anzahl der Tage pro Kalenderwoche pro Mitarbeiter aufsummiert?

https://www.herber.de/bbs/user/162801.xlsx
Anzeige
Anzahl Tage zwei überlappender Zeiträume
12.09.2023 15:25:42
Blasse133
Ist noch nicht geschlossen.
Power Query
12.09.2023 15:45:43
Yal
Moin,

mache aus den Spalten Urlaube!A:D eine Tabelle, dann über "Daten", "Aus Tabelle" eine Power Query Abfrage.
Schlüsselfunktion ist List.Dates, um aus einem "Von-Bis" eine Liste von Tage, wo der Mitarbeiter Urlaub hat. Aus 11 Zeilen werden 87.
Durch Duplikate entfernen schmeisst Du die doppelte Einträge weg. Nur noch 86 Zeilen.

let

Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Name", type text}, {"Typ", type text}, {"Von", type date}, {"Bis", type date}}),
#"Hinzugefügte benutzerdefinierte Spalte" = Table.AddColumn(#"Geänderter Typ", "ListDates", each List.Dates([Von], Number.From([Bis])-Number.From([Von])+1, #duration(1,0,0,0))),
#"Erweiterte ListDates" = Table.ExpandListColumn(#"Hinzugefügte benutzerdefinierte Spalte", "ListDates"),
#"Entfernte Spalten" = Table.RemoveColumns(#"Erweiterte ListDates",{"Von", "Bis", "Typ"}),
#"Geänderter Typ1" = Table.TransformColumnTypes(#"Entfernte Spalten",{{"ListDates", type date}}),
#"Entfernte Duplikate" = Table.Distinct(#"Geänderter Typ1")
in
#"Entfernte Duplikate"


Darauf lässt sich leicht einen Pivot oder whatever aufbauen.

VG
Yal
Anzeige
Power Query
12.09.2023 16:02:35
daniel
Hi

hier mal eine Formellösung. die Formel ist für die Zelle Ressourcenplanung!B4 und kann dann nach rechts und nach unten gezogen werden.
die Tabelle1 wird hier nicht mehr benötigt. Nach dem Definitionsteil für Let habe ich einen Zeilenumbruch eingefügt, damit das ganze übersichtlicher ist
(erste Zeile: Definition der Variablen, zweite Zeile dann die eigentliche Formel)

=LET(Dat;SEQUENZ(5;1;B$1;1);MA;$A4;SP_MA;Urlaube!$A:$A;SP_Von;Urlaube!$C:$C;SP_Bis;Urlaube!$D:$D;FT;Config!$A:$A;

SUMME((ZÄHLENWENNS(SP_MA;MA;SP_Von;"="&Dat;SP_Bis;">="&Dat)>0)*(ZÄHLENWENN(FT;Dat)=0)))


Beachte, dass du die Mitarbeiternamen überall gleich schreiben musst.
in der einen Tabelle hast du dafür eine Datenüberprüfung eingerichtet, in der anderen Tabelle nicht, warum?

Gruß Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige