Clever-Excel-Forum

Normale Version: Suchliste mit mehreren Ergebnissen ("enthält") - dyn. Ergebnisse?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

folgende Situation.
Ich habe eine Suchabafragenliste mit Zahlen (Spalte D). Diese Suchbegriffe möchte ich in einer Liste suchen (Spalte A). Gibt es die Werte aus Spalte D öfters, soll er mir alle Ergebnisse anzeigen. Dabei ist zu beachten, dass die Suchabfragenliste nicht 1:1 gesucht werden soll, sondern nur als "enthält". Also z.B. wenn jetzt "1" gesucht wird, dass auch "10" oder "111" gesucht wird.

[attachment=40444]

SVerweis scheint hierbei nicht die richtige Lösung zu sein.
Es gäbe noch die Indexfunktion bzw. Aggregatefunktion, aber auch nicht sicher.

habt ihr eine Idee was ich nutzen kann?

Oder gibt es auch eine Option über das Datenschnittool?

Das Problem ist ja hierbei, dass die Ergebnisliste ja dynamisch sein wird je nach Anzahl der Suchtreffern.

Wie ich es mir vorstelle ist in Spalte G & H zu sehen.

[attachment=40443]

Danke für jeden Tipp
Hallo

ich komme mit meiner Lösung auf ein ganz anderes Ergebnis wie in der Vorlage!  bei mir kommt:  ABCDE  viermal vor statt zweimal wie im Beispiel!

Vielleicht stimmt meine Auswerte Logik nicht, dann musst du sie mir bitte noch einmal präziser erklären. Mein Makro vergleicht Bei Zahl 1 alle Zeilen mit  ABCDE  und das kommt optisch sichbar tatsächlich viermal vor. 
What nüü .... ???   Ist mein Beispiel so für dich brauchbar???

mfg Gast 123
Hallo @Gast 123,

der User Che.Guevara will die Spalte D mit der Spalte A (nicht B !!) vergleichen und zwar so, dass die Werte der Spalte D in den Werten der Spalte A enthalten sein sollen (d.h. die Werte der Spalte A müssten eigentlich Textwerte sein) und nicht bloß gleich diesen Werten sein sollen.
Dann ergibt sich tatsächlich das, was als gewünschtes Ergebnis ausgewiesen ist.
Hallo

sorry, mein Denkfehler, hatte die Logik falsch verstanden.  Mit dem geänderten Code klappt es, gleiches Ergebnis.

mfg Gast 123

Code:
Sub Suchabfrage2()
Dim AC As Range, z, lzD, lzG As Long
Dim rFind As Range, Adr1 As String
    lzD = Cells(Rows.Count, 4).End(xlUp).Row
    lzG = Cells(Rows.Count, 7).End(xlUp).Row
   
    Range("G2:H" & lzG).ClearContents
    z = 1   '1.Zeile in Spalte G (-1)
   
    For Each AC In Range("D2:D" & lzD)
        Set rFind = Columns(1).Find(What:=AC, After:=[a1], LookIn:=xlFormulas, lookAt:= _
            xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
   
        If Not rFind Is Nothing Then
           Adr1 = rFind.Address
           Do
               z = z + 1
               Cells(z, 7) = AC.Value
               Cells(z, 8) = rFind.Offset(0, 1).Value
               Set rFind = Columns(1).FindNext(rFind)
           Loop Until rFind.Address = Adr1
        Else
           Cells(z + 1, 7) = AC.Value
        End If
    Next AC
End Sub
Hallo Che.Guevara,

hier eine Formellösung:

Spalte E
mit SUMMENPRODUKT ermitteln, wie oft jeder Suchbegriff in Spalte A vorkommt

Spalte F
die Suchbegriffe entsprechend ihrer Anzahl untereinander auflisten
(Formel gefunden hier:
http://www.office-loesung.de/ftopic387660_0_0_asc.php)

Spalte G
auflisten der Ergebnisse mit INDEX/AGGREGAT

Arbeitsblatt mit dem Namen 'Tabelle1'
ABCDEFG
1Nr.ErgebnisSuchabfragenlisteAnzahlSuchkriteriumErgebnis
21ABCDE131ABCDE
32ABCDEF221ABCDEFG
411ABCDEFG311MRT
53ABCDEGH422ABCDEF
62ABCDEFGHI502ABCDEFGHI
744xyz3ABCDEGH
84abcx4xyz
9abcd1MRT4abcx

ZelleFormel
E2=WENN(D2<>"";SUMMENPRODUKT(--(ISTZAHL(SUCHEN(D2;$A$2:$A$17))));"")
F2=$D$2
F3=WENN(ZEILE(A2)>SUMME($E$2:$E$9);"";WENN(ZEILE(A1)=SUMME($E$2:INDEX($E$2:$E$9;VERGLEICH(F2;$D$2:$D$9;0)));INDEX($D$2:$D$9;VERGLEICH(F2;$D$2:$D$9;0)+1);F2))
G2=WENN(F2<>"";INDEX($B$2:$B$20;AGGREGAT(15;6;ZEILE($B$2:$B$20)/ISTZAHL(SUCHEN(F2;$A$2:$A$20))-1;ZÄHLENWENN($F$2:F2;F2)));"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

siehe angehängte Beispieldatei

Gruß
Fred