Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1828to1832
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Suchen mit mehreren Suchkriterien

Suchen mit mehreren Suchkriterien
04.05.2021 19:16:32
SchubertFranzl
Hallo
bin auf der Suche nach einer Formel, die in einer Liste die Artikelnummer eines beschriebenen Artikels sucht.
Die angehängte Beispieldatei zeigt eine Artikelliste: in einer Spalte Artikelnummern und daneben eine Spalte für Beschreibung mit Inhalten. zum Beispiel "Silber, Kattun, Fichte"
Dann gibt es eine Bestelliste: eine zeilenweise Auflistung von gewünschten Inhalten, nebeneinander in Zellen. In die Nummernspalte "Gefunden" soll per Formel die Artikelnummer eingetragen werden, die mindestens alle gewünschten Inhalte dieser Zeile enthält. Sollten mehrere Artikel als Lösung in Frage kommen, weil sie alle diese gewünschten Inhalte haben, genügt es, eine dieser Artikelnummern auszugeben (oder falls möglich, die Mehrdeutigkeit anzeigen).
Die Reihenfolge der Suchkriterien ist beliebig. also die Suche nach A und B soll zum selben Ergebnis führen wie die Suche nach B und A. Hauptsache beide kommen vor.
In der Beispieldatei sind der Einfachheit halber maximal drei Suchkriterien. Die Formel soll aber so sein, dass sie bis 7 Suchworte finden kann.
Ich denke, es soll mit einer Matrixformel gehen, wurde aber im www nicht fündig. Daher frage ich hier. Könnt Ihr mir helfen?
https://www.herber.de/bbs/user/145991.xlsx
LG, Franz

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ist möglich ...
04.05.2021 19:57:15
neopa
Hallo Franz,
... allerdings würde ich hier Hilfsspalten vorschlagen.
Die Trennung der Datenliste aus Spalte I am einfachsten mit der Funktion: Text in Spalten wobei mit Suchen und Ersetzen noch Leerzeichen ersetzt werden müssen.
Die gewünschten Inhalte verkettesT Du in einer weiteren Hilfsspalte. Hier Spalte F mit der Formel F5 die Du nach unten kopierst.
Die Auswertung erfolgt dann ausschließlich über die erzeugten Hilfsspaltenwerte mit der Formel in B5, die Du nach unten kopierst:
 BCDEFGHIJKL
3Bestelliste  Artikelliste   
4GefundenGewünschte Inhalte    NummerBeschreibung   
56981336SamtEisenBucheSamt, Eisen, Buche 8690514Silber, Kattun, FichteSilberKattunFichte
61164222BucheKattun Buche, Kattun, 2143801Silber, Cord, BirkeSilberCordBirke
77493278LeinenZinkEicheLeinen, Zink, Eiche 3763664Silber, Damast, BirkeSilberDamastBirke
86357194FichteDamastBleiFichte, Damast, Blei 4574256Silber, Samt, BirkeSilberSamtBirke
93116765ChromeFichteKattunChrome, Fichte, Kattun 7387847Silber, Kattun, EicheSilberKattunEiche
102143801 SilberCord, Silber, Cord 5960323Silber, Leinen, BirkeSilberLeinenBirke
118690514KattunFichteSilberKattun, Fichte, Silber 2212189Eisen, Samt, BirkeEisenSamtBirke
12      6981336Eisen, Samt, BucheEisenSamtBuche
13      3977909Silber, Kattun, BirkeSilberKattunBirke
14      2294870Blei, Samt, BirkeBleiSamtBirke
15      6724402Silber, Kattun, BucheSilberKattunBuche
16      7493278Zink, Leinen, EicheZinkLeinenEiche
17      1164222Blei, Kattun, BucheBleiKattunBuche
18      2073146Eisen, Cord, BirkeEisenCordBirke
19      8815595Blei, Samt, FichteBleiSamtFichte
20      6357194Blei, Damast, FichteBleiDamastFichte
21      3116765Chrome, Kattun, FichteChromeKattunFichte
22      8849209Zink, Kattun, FichteZinkKattunFichte
23      6816729Zink, Cord, FichteZinkCordFichte
24      3541798Zink, Cord, BirkeZinkCordBirke
25           

ZelleFormel
B5=WENNFEHLER(AGGREGAT(15;6;H$5:H$24/(ZÄHLENWENN(F5;"*"&J$5:J$24&"*")+ZÄHLENWENN(F5;"*"&K$5:K$24&"*")+ZÄHLENWENN(F5;"*"&L$5:L$24&"*")=ANZAHL2(C5:E5));1);"")
F5=C5&", "&D5&", "&E5
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Gruß Werner
.. , - ...
Anzeige
AW: ist möglich ...
04.05.2021 22:08:37
SchubertFranzl
Hallo Werner,
danke für Deine Antwort.
Leider kann ich die Beschreibung der Artikel (Spalte J) aus Zeitgründen nicht händisch aufteilen. Außerdem stehen da noch ein paar andere Sachen drin.
Deine Formeln habe ich studiert und habe es umgekehrt gemacht. Suche der Suchbegriffe in den Suchzellen. Außerdem sind die Artikelnummern in meiner Tabelle (nicht im Beispiel) keine Zahlen, sondern Texte, sorry. So wie ich Deine Formel verstehe, führt diese Eine Division mit der Artikelnummer durch.
Ich habe, angeregt durch Dein Beispiel, eine Lösung gefunden.
In B5 steht dann:

=INDEX($H$4:$I$24;AGGREGAT(15;6;WENN((ISTZAHL(SUCHEN(C5;$I$5:$I$24))+ISTZAHL(SUCHEN(D5;$I$5:$I$24)) +ISTZAHL(SUCHEN(E5;$I$5:$I$24))=ANZAHL2(C5:E5));ZEILE($I$5:$I$24));1)-3;1) 
Du hast AGGREGAT verwendet, es geht auch mit KKLEISTE. Aber das wird schon einen Grund haben.
Du hast mir mit Deiner Antwort auf die Sprünge geholfen. Vielen Dank.
LG, Franz
Anzeige
AW: das ist so aber teils nicht korrekt ...
05.05.2021 10:06:13
neopa
Hallo Franz,
... denn Dein Formelkonstrukt ermittelt in Zeile 6 und 10 Deiner Beispieldatei nicht die richtigen Artikelnummern.
Genau aus diesem Grund hatte ich diese Art Auswertung gestern für mich erst einmal verworfen und dafür meinen Vorschlag eingebracht.
Die Aufteilung der Daten aus Spalte I in getrennte Hilfsspalten kannst Du auch mit einer Formel vornehmen, die lupo1 mal entwickelt hat.
Dazu musst Du lediglich in J5 =GLÄTTEN(TEIL(WECHSELN($I5;", ";WIEDERHOLEN(" ";99));SPALTE(A5)*99-98;99)) und diese weit genug nach rechts und unten ziehend kopieren.
Und wenn Deine Artikelnummern nicht aus Ziffernfolgen bestehen, dann bedarf es lediglich einer kleinen Formelerweiterung in B5:
=WENNFEHLER(INDEX(H:H;AGGREGAT(15;6;ZEILE(H$5:H$99)/(ZÄHLENWENN(F5;"*"&J$5:J$99&"*")+ZÄHLENWENN(F5;"*"&K$5:K$99&"*")+ZÄHLENWENN(F5;"*"&L$5:L$99&"*")=ANZAHL2(C5:E5));1));"")
Deine Formel mit AGGREGAT() bedarf eines spez. Formeleingabeabschluss, weil Du da auch WENN() nutzt. In dem Fall kannst Du natürlich auch KKLEINSTE() nutzen. Meine AGGREGAT()-Formeln bedürfen dieses spez. Eingabeabschlusses nicht, weil man diese ohne WENN() definieren kann.
Also Deine wie folgt umgeschrieben zu:
=INDEX(H:H;AGGREGAT(15;6;ZEILE(H$5:H$99)/(ISTZAHL(SUCHEN(C5;I$5:I$99))+ISTZAHL(SUCHEN(D5;I$5:I$99)) +ISTZAHL(SUCHEN(E5;I$5:I$99))=ANZAHL2(C5:E5));1))
ergibt das gleiche Ergebnis wie Deine Formel auch ohne spez. Eingabeabschluss. Aber wie bereits geschrieben, hatte ich diese Formel Dir nicht vorgeschlagen, weil sie in diesem Fall teils inkorrekte Ergebnisse liefert.
Gruß Werner
.. , - ...
Anzeige

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige