Fortsetzung: Verena, 2.11.2007 13:15

Dies ist die Fortsetzung des Artikels http://www.wer-weiss-was.de/cgi-bin/www/service.fpl?..

Ich hab jetzt eine Formel gebastelt, die erstmal den ersten Namen ausgibt. Das geschieht jetzt noch bei beiden Einträgen, aber ich suche noch einen Weg, auch dieses Problem zu lösen.

Die erste Formel lautet:
=WENN(ZÄHLENWENN(Tabelle2!B2:B17;A1)=1;SVERWEIS(A1;Tabelle2!$B$2:blush:C$17;2;FALSCH);SVERWEIS(INDEX(Tabelle2!$A$2:blush:A$17;VERGLEICH(A1;Tabelle2!$B$2:blush:B$17;0));Tabelle2!$A$2:blush:C$17;3))

Die Wenn-Abfrage testet mittels Zählenwenn, ob ein Name überhaupt doppelt vorkommt. Wenn dies nicht der Fall ist, gibt der normale SVerweis den passenden Vornamen aus. Der Sonst-Zweig beginnt beim zweiten SVerweis. Da hab ich als Suchkriterium den SVerweis nach links eingebaut, der die (hoffentlich eindeutige) Personalnummer ausgibt. Dann hat der SVerweis ein eindeutiges Suchkriterium und gibt den richtigen (ersten) Namen aus.
Gruß Alex

Danke schön! Sehr lieb, vor allem erklärt - owT
Lieber Alex,

vielen Dank für das Einstellen meiner Frage!

Erst mal ein Sternchen für diese tolle Formel und noch die Erklärung dazu, für mich Dummy!

Freu mich wie verrückt …

Von den Funktionen Index und Vergleich hatte ich noch nie gehört *schamviolett anlauf*

Gruß Verena

Hallo Verena!
Mich hat dieses Problem auch nicht mehr losgelassen. Soll ich nochmal forschen, ob es auch möglich ist, dass bei Paaren beide Nachnamen den richtigen Vornamen bekommen oder reicht dir das?

Gruß Alex

2ten Eintrag finden ohne Sverweis

=WENN(ZÄHLENWENN(Tabelle2!B2:B17;A1)=1;SVERWEIS(A1;Tabelle2!$B$2:blush:C$17;2;FALSCH);SVERWEIS(INDEX(Tabelle2!$A$2:blush:A$17;VERGLEICH(A1;Tabelle2!$B$2:blush:B$17;0));Tabelle2!$A$2:blush:C$17;3))

Die Wenn-Abfrage testet mittels Zählenwenn, ob ein Name
überhaupt doppelt vorkommt. Wenn dies nicht der Fall ist, gibt
der normale SVerweis den passenden Vornamen aus. Der
Sonst-Zweig beginnt beim zweiten SVerweis. Da hab ich als
Suchkriterium den SVerweis nach links eingebaut, der die
(hoffentlich eindeutige) Personalnummer ausgibt. Dann hat der
SVerweis ein eindeutiges Suchkriterium und gibt den richtigen
(ersten) Namen aus.

Hallo Verena, Alex,

ich kam auf folgende Lösungen im Blatt „Teilnehmer“, einmal in Spalte
B+D für bis zu 2 vorkommende gleiche Nachnamen, die andere Lösung in Spalte E ist für beliebig viele gleiche Nachnamen.
Die Quelldaten stehen in Blatt „Mitarbeiter“:

Tabelle:
F:\[verena.xls]!Mitarbeiter

 │ A │ B │ C │ D │ E │ 
──┼────────┼─────┼──────────┼─────────┼───────┤
1 │ gruppe │ pnr │ Nachname │ vorname │ name │ 
2 │ 123 │ 2 │ aaa │ a │ aaa,a │ 
3 │ 34 │ 3 │ bbb │ b │ bbb,b │ 
4 │ 56 │ 4 │ bbb │ c │ bbb,c │ 
5 │ 23 │ 7 │ ccc │ d │ ccc,d │ 
6 │ 3 │ 56 │ eee │ e │ eee,e │ 
7 │ 2 │ 3 │ fff │ f │ fff,f │ 
──┴────────┴─────┴──────────┴─────────┴───────┘

Benutzte Formeln:
E2: =C2&","&D2
E3: =C3&","&D3
E4: =C4&","&D4
E5: =C5&","&D5
E6: =C6&","&D6
E7: =C7&","&D7





Tabelle:
F:\[verena.xls]!Teilnehmer

 │ A │ B │ C │ D │ E │ 
──┼───────┼─────┼──────────┼─────────┼──────────┤
1 │ lfdnr │ pnr │ Nachname │ vorname │ vorname2 │ 
2 │ 1 │ 123 │ aaa │ a │ a │ 
3 │ 2 │ 34 │ bbb │ b │ b │ 
4 │ 3 │ 56 │ bbb │ c │ c │ 
5 │ 4 │ 23 │ ccc │ d │ d │ 
6 │ 5 │ 3 │ eee │ e │ e │ 
7 │ 6 │ 2 │ fff │ f │ f │ 
──┴───────┴─────┴──────────┴─────────┴──────────┘

Benutzte Formeln:
B2: =INDIREKT("Mitarbeiter!A"&VERGLEICH(C2;Mitarbeiter!$C$1:blush:C$7;0)+1\*(C2=C1))
D2: =INDIREKT("Mitarbeiter!D"&VERGLEICH(C2;Mitarbeiter!$C$1:blush:C$7;0)+1\*(C2=C1))
E2: =INDIREKT("Mitarbeiter!D"&VERGLEICH(C2;Mitarbeiter!$C$1:blush:C$7;0)+ZÄHLENWENN(INDIREKT("$C$1:blush:C$"&ZEILE());C2)-1)
B3: =INDIREKT("Mitarbeiter!A"&VERGLEICH(C3;Mitarbeiter!$C$1:blush:C$7;0)+1\*(C3=C2))
D3: =INDIREKT("Mitarbeiter!D"&VERGLEICH(C3;Mitarbeiter!$C$1:blush:C$7;0)+1\*(C3=C2))
E3: =INDIREKT("Mitarbeiter!D"&VERGLEICH(C3;Mitarbeiter!$C$1:blush:C$7;0)+ZÄHLENWENN(INDIREKT("$C$1:blush:C$"&ZEILE());C3)-1)
B4: =INDIREKT("Mitarbeiter!A"&VERGLEICH(C4;Mitarbeiter!$C$1:blush:C$7;0)+1\*(C4=C3))
D4: =INDIREKT("Mitarbeiter!D"&VERGLEICH(C4;Mitarbeiter!$C$1:blush:C$7;0)+1\*(C4=C3))
E4: =INDIREKT("Mitarbeiter!D"&VERGLEICH(C4;Mitarbeiter!$C$1:blush:C$7;0)+ZÄHLENWENN(INDIREKT("$C$1:blush:C$"&ZEILE());C4)-1)
B5: =INDIREKT("Mitarbeiter!A"&VERGLEICH(C5;Mitarbeiter!$C$1:blush:C$7;0)+1\*(C5=C4))
D5: =INDIREKT("Mitarbeiter!D"&VERGLEICH(C5;Mitarbeiter!$C$1:blush:C$7;0)+1\*(C5=C4))
E5: =INDIREKT("Mitarbeiter!D"&VERGLEICH(C5;Mitarbeiter!$C$1:blush:C$7;0)+ZÄHLENWENN(INDIREKT("$C$1:blush:C$"&ZEILE());C5)-1)
B6: =INDIREKT("Mitarbeiter!A"&VERGLEICH(C6;Mitarbeiter!$C$1:blush:C$7;0)+1\*(C6=C5))
D6: =INDIREKT("Mitarbeiter!D"&VERGLEICH(C6;Mitarbeiter!$C$1:blush:C$7;0)+1\*(C6=C5))
E6: =INDIREKT("Mitarbeiter!D"&VERGLEICH(C6;Mitarbeiter!$C$1:blush:C$7;0)+ZÄHLENWENN(INDIREKT("$C$1:blush:C$"&ZEILE());C6)-1)
B7: =INDIREKT("Mitarbeiter!A"&VERGLEICH(C7;Mitarbeiter!$C$1:blush:C$7;0)+1\*(C7=C6))
D7: =INDIREKT("Mitarbeiter!D"&VERGLEICH(C7;Mitarbeiter!$C$1:blush:C$7;0)+1\*(C7=C6))
E7: =INDIREKT("Mitarbeiter!D"&VERGLEICH(C7;Mitarbeiter!$C$1:blush:C$7;0)+ZÄHLENWENN(INDIREKT("$C$1:blush:C$"&ZEILE());C7)-1)

Gruß
Reinhard

Na, das wär natürlich Spitze!
Deine Formel hab ich, ehrlich gestanden, noch nicht ausprobieren können, da ich zur Zeit kaum mal an meinem Arbeitsplatz sitze und wenn, dann nur kurz. Wie gesagt, ich hab das bisher so gelöst, dass beim zweiten Namen ein Fragezeichen steht, wenn der Name doppelt vorkommt. Aber einfach „Nummer 2“ suchen zu lassen, wär natürlich optimal.
Vielen Dank,
Verena

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Reinhard,

vielen, vielen Dank! Sobald ich wieder mehr als fünf Minuten an meinem Arbeitsplatz verbringen kann, werde ich das sofort ausprobieren. Wird aber wahrscheinlich erst nächste Woche der Fall sein.

Nochmals herzlichen Dank für Deine Mühe, vor allem mit den Erklärungen! Bis dann,

Verena

ich kam auf folgende Lösungen im Blatt „Teilnehmer“, einmal in
Spalte
B+D für bis zu 2 vorkommende gleiche Nachnamen, die andere
Lösung in Spalte E ist für beliebig viele gleiche Nachnamen.
Die Quelldaten stehen in Blatt „Mitarbeiter“:

Gruß
Reinhard

Hallo Reinhard,

vielen Dank - leider funktioniert’s nicht …

Also, die Formel

E2: =C2&","&D2

brauche ich nicht, weil ich diese Zusammenführung schon bei Access gemacht habe.

Und die folgenden ergeben leider immer bloß #NV#, schade. So viel Mühe - oder stell ich es falsch an?

LG, Verena

Benutzte Formeln:
B2:
=INDIREKT(„Mitarbeiter!A“&VERGLEICH(C2;Mitarbeiter!$C$1:blush:C$7;0)+1*(C2=C1))
D2:
=INDIREKT(„Mitarbeiter!D“&VERGLEICH(C2;Mitarbeiter!$C$1:blush:C$7;0)+1*(C2=C1))
E2:
=INDIREKT(„Mitarbeiter!D“&VERGLEICH(C2;Mitarbeiter!$C$1:blush:C$7;0)+ZÄHLENWENN(INDIREKT("$C$1:blush:C$"&ZEILE());C2)-1)
Gruß
Reinhard

Hallo Verena,

tut mir sehr leid, habe deine Antwort bisher übersehen.

vielen Dank - leider funktioniert’s nicht …

*hmmh* ich hatte es getestet und es hat funktioniert.

Also, die Formel

E2: =C2&","&D2

brauche ich nicht, weil ich diese Zusammenführung schon bei
Access gemacht habe.

Und die folgenden ergeben leider immer bloß #NV#, schade. So
viel Mühe - oder stell ich es falsch an?

Tja nu, bei mir kam kein NV.

Mal schauen ob ich verena.xls noch habe…

Gruß
Reinhard

Und die folgenden ergeben leider immer bloß #NV#, schade. So
viel Mühe - oder stell ich es falsch an?

Hallo Verena,

http://www.hostarea.de/server-11/November-0f85ad9627…

da funktioniert das. Hilft dir das weiter?

Ps: seh grad, sind paar Makros drin, ignorier die, weiß gar nicht mehr für was die waren :smile:

Gruß
Reinhard