Clever-Excel-Forum

Normale Version: Zelleninhalt in nächste freie Zelle kopieren, wenn Bedingung erfüllt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich suche jetzt über die letzten Tage jeweils mehrere Stunden ohne Erfolg nach einer Lösung für mein Problem:
Ich habe einen Urlaubsplaner, bei dem in Zeile 1 ab Spalte H die Daten eines Jahres stehen (also bis Spalte NI -> 365 Tage).
Ab Zeile 4 stehen die Mitarbeiter. An den entsprechenden Urlaubstagen wird ein U gesetzt (was letztlich die Bedingung für das Kopieren der Daten in Zeile 1 ist).
Ich möchte in einem weiteren Tabellenblatt nun die angekreuzten Daten (wenn also die Bedingung erfüllt ist) hinter dem Namen des Mitarbeiters (ohne leere Zellen) ab Spalte H aufgelistet haben, damit ich in einem Serienbrief die genehmigten Arbeitstage für den Mitarbeiter ausdrucken kann. Die Anforderung hört sich erst mal recht simpel an.

Ich habe bereits viele Beiträge gefunden, wo ähnliches behandelt wurde, jedoch geht es dabei um eine senkrechte Auflistung (also, dass Daten aus Spalte A übernommen werden, sofern die Bedingung in Spalte B erfüllt ist) und nicht in der Wagerechten, wie bei meinem Beispiel. Dabei half folgende Lösung:

=WENN(ZEILE(Tabelle1!1:1)>ZÄHLENWENN(Tabelle1!$B$2:$B$20;"offen");"";INDEX(Tabelle1!A:A;KKLEINSTE(WENN(Tabelle1!$B$2:$B$20="offen";ZEILE(Tabelle1!$2:$20));ZEILE(A1))))

Diese habe ich versucht, nun auf mein Beispiel zu übertragen, was mir trotz vielen hin und her probieren leider nicht gelungen ist.

Hat jemand einer Idee, wie ich das Problem lösen könnte?
Grundsätzlich finde ich eine VBA-Lösung auch interessant, kann dazu aber auf Grund mangelnder Kenntnisse nicht beisteuern.

Besten Gruß
Torben
Hallo Torben,

stell uns bitte eine Beispieltabelle mit händisch eingetragenem Wunschergebnis vor. Lies mal hier: https://www.clever-excel-forum.de/thread-326.html
Hallo Torben.

WillWissen hat Recht, Du solltest ein Beispiel einstellen.

Da die Aufgabenstellung aber für mich überschaubar ist, mache ich Dir jetzt doch schon einen Vorschlag.

Du solltest KKLEINSTE durch AGGREGAT(15;2;... ) ersetzen und dann die Bedingung ' = "U" ' in die Selektion integrieren. So zum Beispiel :

WENNFEHLER(AGGREGAT(15;2;($H$1:$NI$1)/($H4:$NI4="U");SPALTE()-7);"")

Ein Beispiel findest Du im Anhang, ich habe das Ergebnis nur noch nicht in ein anderes Tabellenblatt eingefügt, sondern "unten dran gehängt". Wenn Du nähere Erläuterungen wünscht, warum durch die Bedingung hier dividiert wird, kann ich das gerne nachliefern. 

LG Peter
Hallo,

vielen Dank für die schnellen Antworten. Die Beispieldatei habe ich angehängt. Deinen Tipp, Peter, werder ich aber gleich mal ausprobieren...
Also, die Formel hat super funktioniert. Somit hast du meiner Frau ungefähr 10 Arbeitsstunden erspart, die den Urlaubsplan bislang immer händisch ausgefüllt hat und daraus 50 Worddokumente für alle Mitarbeiter erstellt hat. Vielen dank dafür!

Hat jemand eine Idee, ob man die aufgezählten Daten auch zusammenfassen kann, sofern sie aufeinander folgen? Also, dass nicht 1.2.19 (in Zelle1), 2.2.19 (Zelle 2), 3.2.19 (Zelle 3) zu 1.2.19-3.2.19 ausgegeben wird?
Guten Abend.

Ich kann Dir eine Lösung vorschlagen, die nicht besonders elegant, aber vielleicht hilfreich ist.

Ich nutze weitere Zeilen 14 bis 16 in meinem Beispiel, die das bisherige Ergebnis aus Zeile 9 bis 11 verwenden.

Die Formel lautet für Zelle H14        WENNFEHLER(WENN(H9-1=G9;WENN(H9+1=I9;WENN(ODER(G14="bis";G14="");"";"Bis");H9);H9);"")

Wenn es aufeinanderfolgende Termine gibt, bleiben also der erste und der letzte erhalten, der zweite wird durch "bis" ersetzt und der dritte und weitere bleiben leer. Ich habe die Erwartung, dass beim Übertragen nach Word die Leerzellen verschwinden und nicht mehr stören, kenne mich da aber nicht aus. 

Ohne Gewähr !!  Ich habe nur die wenigen Fälle getestet. 

Rückfragen und Erläuterungen gerne.

Peter