Schwierige Suche
#1
Hallo liebe Excel-Profis!

Ich steh momentan vor einem Problem und komm nicht weiter.

Hab euch eine Datei mitangefügt.
Im Reiter Rohdaten steht in Spalte A das Datum (fortlaufend und mehrfach vorhanden) und in Spalte B stehen die Namen derer, die an dem jeweiligen Tag Urlaub eingetragen haben.

Im Reiter Sortiert sollte dann in der Kreuzungszelle von Name und Datum "URL" stehen wenn diese Person an jenem Tag Urlaub hat (also im Rohdaten-Reiter steht). Damit hätte ich eine schöne Übersicht wieviel Personen an jedem Tag Urlaub haben.

Irgendwie schaff ich es nicht so richtig. Hab mal was mit Aggregat probiert, aber dann berechnet Excel eine Ewigkeit.

Könnt ihr mir da vielleicht helfen?

Oder gibts da eine bessere Lösung, die ich einfach nicht sehe?

Beste Grüße


Angehängte Dateien
.xlsx   Mappe1.xlsx (Größe: 10,16 KB / Downloads: 7)
Antworten Top
#2
Moin

1. Verwende eine intelligente Tabelle.
2. Erstelle daraus eine Pivot. "Datum" in den Zeilenbereich, "Name" in den Spalten- und Wertebereich.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#3
Hallo M.,

mit ein paar Formeln geht's auch. (s. Mappe)

Gruß Sigi


Angehängte Dateien
.xlsx   Rohdaten u Urlaub.xlsx (Größe: 11,68 KB / Downloads: 8)
Antworten Top
#4
Hallo S-D,

Danke dir! Das funktioniert ziemlich gut.

Was wäre, wenn ich jetzt noch einen weitern Reiter dazufügen möchte?

Also im dritten Reiter stehen dann die Normaldienst-Tage der Personen. 
Und nun hätte ich gern im Reiter Sortiert bei der Kreuzungszelle Name/Datum "URL" stehen, wenn wie oben schon erwähnt die Person an dem Tag im Reiter Rohdaten drinsteht und, wenn nicht und diese Person dann im dritten Reiter einen Normaldienst-Tag eingetragen hat, soll "Dienst" stehen.

Ginge das auch noch irgendwie?

lg

Hallo Sigi,

cool danke dir! Mit deinen Formeln bekomm ich glaub ich auch meine zusätzliche Herausforderung gebacken.

Ich danke euch!

Beste Grüße
Antworten Top
#5
Hallo M.,

ah, Salamitaktik! Es werden nach und nach weitere Anforderungen nachgeschoben.
Da geht's dann halt entsprechend dem vorherigen Schema! Im Prinzip ist es doch das gleiche in grün.  (Bin ab jetzt abwesend)

Gruß Sigi
Antworten Top
#6
(24.07.2024, 10:19)automatik schrieb: Ginge das auch noch irgendwie?
Ich glaube da ist ein ganz anderer Ansatz erforderlich. Und da kommen doch bestimmt noch mehr Anforderungen.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#7
Ich entschuldige mich für die "Salamitaktik", die weitere Idee ist mir erst im Nachhinein gekommen.
Ein Excel-File ist halt auch ein lebender Organismus und wächst nach und nach heran.

Danke auf jedenfall für eure Hilfe!
Antworten Top
#8
Hallo,

Zitat:Ein Excel-File ist halt auch ein lebender Organismus und wächst nach und nach heran.

wachsen sollte eine Excelliste nur in der Länge. Es macht schon Sinn, sich vorher umfassende Gedanken zu machen.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#9
Moin,

das Prinzip für einen Urlaubs- oder Dienstplan hab ich mal mit snb aufbereitet: https://www.clever-excel-forum.de/Thread...#pid260457

Viele Grüße 
derHoepp
Antworten Top
#10
Hallo,

ich habe dir in der beiliegenden Datei im Arbeitsblatt "Rohdaten" eine strukturierte Tabelle namens "tbDiensttage" eingefügt mit den 3 Spalten "Datum", "Name" und "Art" - statt deiner 2 Tabellen (für Urlaubstage und Diensttage).

Im Arbeitsblatt "Sortiert" habe ich 2 Formeln eingefügt:

In Zelle A2
=LET(tb; tbDiensttage; tbdt; INDEX(tb; ; 1); tbna; INDEX(tb; ; 2); na; MTRANS(SORTIEREN(EINDEUTIG(tbna))); dt; SORTIEREN(EINDEUTIG(tbdt)); idna; SEQUENZ(1; SPALTEN(na)); iddt; SEQUENZ(ZEILEN(dt); 1); nazl; ZÄHLENWENNS(tbna; INDEX(na; 1; idna); tbdt; INDEX(dt; iddt; 1)); VSTAPELN(HSTAPELN("Datum"; na); HSTAPELN(dt; nazl)))

In Zelle A16:
=LET(tb; tbDiensttage; tbdt; INDEX(tb; 0; 1); tbna; INDEX(tb; 0; 2); tbart; INDEX(tb; 0; 3); dt; SORTIEREN(EINDEUTIG(tbdt)); na; MTRANS(SORTIEREN(EINDEUTIG(tbna))); nazl; MATRIXERSTELLEN(ZEILEN(dt); SPALTEN(na); LAMBDA(i;j; FILTER(tbart; (tbdt = INDEX(dt; i; 1)) * (tbna = INDEX(na; 1; j)); ""))); VSTAPELN(HSTAPELN("Datum"; na); HSTAPELN(dt; nazl)))

Beide Formeln sind dynamische Arrayformeln, die automatisch ihre Größe anpassen an die Tabelle "tbDiensttage".
Was sie bewirken, dürfte in etwa das sein, was du gewünscht hast.


Angehängte Dateien
.xlsx   automatik_Mappe1.xlsx (Größe: 17,31 KB / Downloads: 3)
Mit lieben Grüßen
Anton.

Windows 10 64bit
Office365 32bit
Antworten Top


Gehe zu:


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