HERBERS Excel-Forum - das Archiv
Name aus einer Spalte übernehmen,wenn Bedingung erfüllt
Mondenkind
Erst mal allen hier einen guten Morgen.
Ich knabbere seit Wochen an einer Formel und krieg es nicht hin. Habe einen Dienstplan erstellt. Die obere Tabelle ist eine Wochenübersicht, in der unteren tragen die Kollegen ihre Dienste ein. Jeder hat seine eigene Zeile. In Spalte A stehen also die Namen untereinander und in Spalte B bis H (Mo. - So.) kommen die Dienste rein.
Wenn z.B. Kollege Mustermann in Spalte B das Wort "E-Dienst" einträgt, soll oben in der Übersicht in Zelle B 4 sein Name automatisch eingetragen werden. Das geht super mit einem Verweis. ABER: Jeder Dienst muss von 2 Leuten besetzt werden! Heisst also, ein weiterer Kollege wird das Wort "E-Dienst" wird in Spalte B eintragen. Der Name des 2. Kollegen aus Spalte A, sollte dann eigentlich in der Übersicht unter dem 1. Kollegen in Zelle B 5 auftauchen. Klappt mit dem Verweis nicht mehr, da hie nur ungenau gesucht wird. Habe jetzt den Namen des einen Kollegen 2x drin (B4 und B5). Trägt eine anderer diesen Dienst in Spalte B ein, ändert sich entweder gar nichts oder der andere Name taucht nun 2x auf. Hab schon versucht, WENNFEHLER,VERGLEICH, ISTVERWEIS, oder alles irgendwie miteinander zu kombinieren, aber ich kriege es einfach nicht hin! Entweder es steht NV drin oder es passiert gar nichts. Vielleicht könnt Ihr mir helfen?! Viele Grüße, Mondenkind
AW: Name aus einer Spalte übernehmen,wenn Bedingung erfüllt
SF
Hola,
https://www.herber.de/excelformeln/pages/AGGREGAT__die_Unvollendete.html
Mehr Hilfe kann man bei den Angaben zur Tabelle kaum geben - eigentlich ist es auch mehr ein Raten.
Gruß,
steve1da
AW: Name aus einer Spalte übernehmen,wenn Bedingung erfüllt
Mondenkind
Erst mal Danke für Deine schnelle Antwort. Die Schwierigkeit liegt ja echt daran, dass diese Dienste 2x in einer Spalte vorkommen. Man kann hier auch nicht mit =1/=2 oder unter/über gleich arbeiten, da die Tabelle ja zunächst unausgefüllt ist und erst nach und nach befüllt wird. Der VERWEIS macht ja einmal alles, was ich will.
Hier: =VERWEIS("E-Dienst";B27:B87;A27:A87)
Ich dachte nun, vielleicht gibt es eine WENN Formel, auch verschachtelt oder in Kombi mit Summewenn oder einem Verweis, etc., die einfach die Anzahl dieses Eintrags in der Spalte B zählt. Ist der Eintrag nur einmal vorhanden, soll der Name aus Spalte A in Zelle B 4 auftauchen. Erfolgt der 2. Eintrag, soll der Name daneben in Zelle B 5 auftauchen. Hab auch schon übetlegt, ob eine Kombi mit Bezug weiterhilft, aber ich bin ehrlich gesagt überhaupt noch nicht fit in Formeln. Der Knoten ist noch nicht wirklich "geplatzt". Wollte eine VBA Variante umgehen, da die Liste freigegeben werden soll. Ich krieg dann immer die Info, dass Makros nicht funktionieren könnten.
AW: Name aus einer Spalte übernehmen,wenn Bedingung erfüllt
SF
Das kann man schon mit der Formel aus dem Link erreichen.
Hast du dir das überhaupt angeschaut?
AW: Name aus einer Spalte übernehmen,wenn Bedingung erfüllt
Mondenkind
Ja, aber ich verstehe die Formel(n) noch nicht. Habe die Formel im grünen Bereich erstmal kopiert und versuche, sie umzubauen. Aber dieser 15,6 Teil, z.B.? Aber ich arbeite mich da heute und die Tage Schritt für Schritt weiter durch. Jede neue Formel oder Formelkombination ist für mich am Anfang erst mal ein "böhmischen Dorf". Mit der Zeit fange ich dann an, zu kapieren wie die Formel rechnet. Aber ich gebe ja nicht auf. Vielen Dank nochmal für Deine Hilfe!
AW: Name aus einer Spalte übernehmen,wenn Bedingung erfüllt
SF
15 steht für KKLEINSTE, 6 steht dafür das Fehlerwerte nicht übernommen werden.

Wenn du Fragen zur Formel hast meld dich einfach. Wenn du magst kann ich dir die Formel für deine Bereiche geben.
AW: Name aus einer Spalte übernehmen,wenn Bedingung erfüllt
Mondenkind
Uihh, das wäre natürlich super! Da würdest Du mir extrem weiterhelfen! Dann komme ich vielleicht noch eher dahinter, wie sich das rechnet, wenn das genau auf meine Tabelle zugeschnitten ist! Aber ich büffel natürlich trotzdem fleißig weiter!
AW: Name aus einer Spalte übernehmen,wenn Bedingung erfüllt
SF
=WENNFEHLER(INDEX($A$27:$A$87;AGGREGAT(15;6;ZEILE($A$27:$A$87)-26/($B$27:$B$87="e-dienst");ZEILE(A1)));"")
AW: Name aus einer Spalte übernehmen,wenn Bedingung erfüllt
Mondenkind
Oh, vielen Dank! Das hätte ja Ewigkeiten bei mir gedauert und ob ich das überhaupt so hinbekommen hätte...wage ich zu bezweifeln! Was hat das mit der -26 auf sich? Entschuldige mein Unwissen.
Formel in Zelle B4 reingepackt, funktioniert super, erster Name steht oben drin. Aber für den 2. Namen darunter (B 5) müsste ich sie, denke ich, noch abändern, sonst taucht der erste Name wieder 2x auf. Jetzt muss ich die Formel nur noch verstehen lernen ;-)
AW: Name aus einer Spalte übernehmen,wenn Bedingung erfüllt
SF
Die Formel arbeitet den Bereich A27 bis A87 ab. Der Bereich ist also 61 Zeilen groß. Das muss der Formel mitgegeben werden und zwar von 1 bis 61. Man schreibt also entweder Zeile(A27:A87)-26, damit das Konstrukt bei 1 beginnt, oder alternativ A1:A61.

Die Formel kannst du so wie sie ist nach unten ziehen, dann kommt der 2. Name automatisch.
AW: Name aus einer Spalte übernehmen,wenn Bedingung erfüllt
Mondenkind
Wie ich die Formel anpasse, hab ich schon rausgekriegt (einfach eine Zelle runter ziehen wäre natürlich einfacher gewesen!). Aber ich möchte sie ja verstehen. Daher hab ich an der Formel selbst gearbeitet, sie in die Zelle darunter kopiert und dann die Änderungen vorgenommen - als Lerneffekt.
Ah, jetzt verstehe ich die -26. Muss ich mir merken, die Formel zählt immer von 1 an. Nochmal vielen lieben Dank für die Hilfe! Am Anfang fand ich die Excel Formeln echt gruselig. Aber mittlerweile macht es mir immer mehr Spaß. Auch wenn ich noch einige Zeit bei neuen Formeln, besonders bei Kombis brauche, um dahinter zu steigen.
AW: Name aus einer Spalte übernehmen,wenn Bedingung erfüllt
daniel
Hi
das Problem ist, wenn du per INDEX auf eine Zelle referenzierst, dann sind die Nummern, die du als zweiten und dritten Parameter angibst, nicht Zeilen- und Spaltennummern aus der Tabelle, sondern Postitionsnummern innerhalb des angegebenen Zellbereichs.

dh INDEX($A$27:$A$87;1) referenziert auf A27 und INDEX($A$27:$A$87;27) referenziert auf die 27. Zelle des Bereichs, also A53.

die Aggregatfunktion von SF ermittelt aber zunächst einmal die echte Zeilennummer der Zelle, daher muss man die noch auf die Positionsnummer im Zellbereich umrechnen und das macht die -26.
das ist so aber unnötig und umständlich. Wenn der Zellbereich in Zeile 1 beginnt, sind Zeilen- und Postionsnummer gleich, dann muss man nicht umrechnen.

es geht also einfacher:
=WENNFEHLER(INDEX($A:$A;AGGREGAT(15;6;ZEILE($A$27:$A$87)/($B$27:$B$87="e-dienst");ZEILE(A1)));"")


Gruß Daniel
AW: Name aus einer Spalte übernehmen,wenn Bedingung erfüllt
Mondenkind
Vielen Dank für die ausführliche Erklärung. So langsam lichtet sich der Nebel bei mir, was diese Formel anbetrifft. Oje, ich sehe, ich muss noch viel dazu lernen. Aber ich gebe ja nicht auf. Ich werde mich gleich in einer Übungstabelle ausprobieren und versuchen, die Rechenschritte mit Deiner Erklärung nachzuvollziehen. Noch mal vielen, vielen Dank für die Hilfe!