Clever-Excel-Forum

Normale Version: 1 Suchkriterium 2 Ergebnisse
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen, 

ich habe Euch für mein Problem mal ein vereinfachtes Beispiel gebastelt, da das reale über 5.000 Daten beinhaltet.

Folgendes Problem: 

Zu einer Kundennummer gehören manchmal mehrere verantwortliche Personen (hier z.B Kundennummer 13100 2 verantwortliche Personen in Exceltabelle A). 

In der Exceltabelle B taucht nun jede Kundennummer nur einmal auf. Dort würde ich gerne über eine Funktion in Spalte F alle Verantwortlichen Personen zu dieser Kundennummer aus der Exceltabelle A zugeordnen.

Über den SVerweis klappt dies leider nicht, da bei dem SVerweis meines Wissens nach jedes mal nur das Erste Ergebnis der Suche angezeigt wird und es nicht möglich ist mehrere Ergebnisse zu einer Suche darüber zu generieren. 

Ich habe auch etwas in Foren gestöbert und sowas wie Index, Vergleich, KGrößte oä. gefunden jedoch wurde ich daraus nicht so wirklich schlau. 

Vielleicht kann mir hier jemand von euch bei diesem Problem helfen. 

Vielen Grüße und schon mal vielen Dank für Eure Mühen :)

Einen Bildausschnitt aus der Excel habe ich Euch in den Anhang gepackt 

[
Bild bitte so als Datei hochladen: Klick mich!
]
Hallo,

ich habe jetzt 20 Minuten lang versucht, in deine hochgeladene Exceltabelle eine Formel einzutragen. Es ist mir nicht gelungen. Da hat wohl die Datei irgendeinen Fehler...

Suchst du vielleicht das?
https://svens-excel-welt.blogspot.com/20...einer.html
Hallöchen,

da sind doch sogar 3 Ergebnisse ... Ich hab mir nur 10 Minuten Zeit genommen Smile

Arbeitsblatt mit dem Namen 'Tabelle1'
ABCD
11MeierMeier;Müller;Moritz
21MüllerNeumann;;
31MoritzKaiser;;
42Neumann
53Kaiser

ZelleFormel
D1{=WENN(1>SUMME((A$1:A$99=1)*1);"";INDEX(B:B;KKLEINSTE(WENN((A$1:A$99=1);ZEILE($1:$99));1)))&";"&WENN(2>SUMME((A$1:A$99=1)*1);"";INDEX(B:B;KKLEINSTE(WENN((A$1:A$99=1);ZEILE($1:$99));2)))&";"&WENN(3>SUMME((A$1:A$99=1)*1);"";INDEX(B:B;KKLEINSTE(WENN((A$1:A$99=1);ZEILE($1:$99));3)))}
D2{=WENN(1>SUMME((A$1:A$99=2)*1);"";INDEX(B:B;KKLEINSTE(WENN((A$1:A$99=2);ZEILE($1:$99));1)))&";"&WENN(2>SUMME((A$1:A$99=2)*1);"";INDEX(B:B;KKLEINSTE(WENN((A$1:A$99=2);ZEILE($1:$99));2)))&";"&WENN(3>SUMME((A$1:A$99=2)*1);"";INDEX(B:B;KKLEINSTE(WENN((A$1:A$99=2);ZEILE($1:$99));3)))}
D3{=WENN(1>SUMME((A$1:A$99=3)*1);"";INDEX(B:B;KKLEINSTE(WENN((A$1:A$99=3);ZEILE($1:$99));1)))&";"&WENN(2>SUMME((A$1:A$99=3)*1);"";INDEX(B:B;KKLEINSTE(WENN((A$1:A$99=3);ZEILE($1:$99));2)))&";"&WENN(3>SUMME((A$1:A$99=3)*1);"";INDEX(B:B;KKLEINSTE(WENN((A$1:A$99=3);ZEILE($1:$99));3)))}
Achtung, Matrixformel enthalten!
Die geschweiften Klammern{} werden nicht eingegeben.
Verlassen Sie den Zelleneditor mit Strg+Shift + Enter, statt Enter alleine.
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg
Hi André,

bei 4 Ergebnissen funktioniert das aber schon nicht mehr, oder? Außerdem bin ich mir nicht sicher, wie performant die Formel bei 5000 Datensätzen noch ist, zumal du die komplette Spalte B abfragst.
Dennoch meine Hochachtung zu dieser Formel :)
Wie üblich stelle ich außer Konkurrenz die Möglichkeiten eines aktuellen Excel (365 oder Online) vor:
(hat nur zwei Minuten gedauert Wink)

ABCDE
11Meier1Meier; Müller
21Müller2Moritz; Neumann
32Moritz3Kaiser
42Neumann
53Kaiser

ZelleFormel
D1=EINDEUTIG(A1:A5)
E1=TEXTVERKETTEN("; ";1;FILTER(B:B;A:A=D1))
E2=TEXTVERKETTEN("; ";1;FILTER(B:B;A:A=D2))
E3=TEXTVERKETTEN("; ";1;FILTER(B:B;A:A=D3))

Gruß Ralf
Bezüglich der Geschwindigkeit habe ich mal was gebastelt:

Spalte A: 5.000 sortierte Personalnummern zwischen 7500 und 9999 mittels
=SORTIEREN(ZUFALLSMATRIX(5000;1;7500;9999;1))

Spalte B: 5.000 "Namen" mittels
=ZEICHEN(ZUFALLSMATRIX(5000;1;65;90))

AB
1P-NrName
27500S
37500D
47500D
57501R
67501O
77502Y
87503G
97503O
107503M
117503T
127504H
137505O
147505D
157505C
167506J
177506R

Danach die obigen Formeln:


DE
1P-NrName
27500S;D;D
37501R;O
47502Y
57503G;O;M;T
67504H
77505O;D;C
87506J;R

ZelleFormel
D2=EINDEUTIG(A2:A5001)
E2=TEXTVERKETTEN(";";1;FILTER(B:B;A:A=D2))

Ein Doppelklick auf das Ausfüllkästchen in E2 führte zu einer Berechnung von ca. 15 Sekunden.
Ist aber m.E soweit akzeptabel …
HI Berni,

Zitat:bei 4 Ergebnissen funktioniert das aber schon nicht mehr, oder?
korrekt. Aber die 365er Lösung von Ralf bringts Smile
Moin,


Zitat:Aber die 365er Lösung von Ralf bringts
leider nicht dem TE - er hat Xl2013. Sad
Ich schrieb ja auch "außer Konkurrenz" und ferner, in welchen Versionen das funktioniert, Günter.

Dies werde ich auch zukünftig so handhaben.
Schließlich lesen hier ja auch noch andere mit.

Gruß Ralf
Moin Ralf,

mein Kommentar bezog sich auf Andrés Beitrag, weil ich mir nicht sicher bin, ob er gesehen hatte, dass der TE kein Abo besitzt. Dass du Lösungen auch für die Abo-Versionen entwickelst, weiß ich ja. Und finde das auch äußerst gut. Thumps_up
Seiten: 1 2