Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Suchwort in Text suchen und in Zelle ausgeben

Suchwort in Text suchen und in Zelle ausgeben
07.07.2017 12:37:11
Frank
Hallo Zusammen,
ich hoffe hier bei den Experten kann mir evtl. jemand mit meinem Problem weiterhelfen. Ich habe eine Excel Tabelle A, in welcher in einer Spalte ein Text steht. Nun habe ich ein weitere Tabelle B mit Suchwörtern. Der Text in der Textspalte in Tabelle A soll nun Zelle für Zelle darauf untersucht werden, ob ein Suchwort aus Tabelle B enthalten ist. Falls ja, soll dieses Wort in einer Zelle/Spalte daneben wiedergegeben werden. Bei keiner Übereinstimmung zw. Textzelle und Suchwörter soll in der Spalte daneben "sonstiges" stehen. Zum besseren Verständnis, habe ich eine Beispieldatei angehangen. Die Tabelle B soll auf einem extra Tabellenblatt stehen und dynamisch gehalten werden. Mit der Zeit kommen weitere Auswahlwörter dazu. Wäre toll wenn mir hiermit jemand weiterhelfen könnte.
Danke und Gruss
Frank
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Bsp-Mappe fehlt/nicht verlinkt! owT
07.07.2017 12:39:04
Michael
Stadwerke -> Stadtwerke?
07.07.2017 15:11:57
KlausF
Hallo Frank,
Der Text in der Textspalte in Tabelle A soll nun Zelle für Zelle darauf untersucht werden,
ob ein Suchwort aus Tabelle B enthalten ist.
Im vorliegenden Beispiel soll Deiner Vorgabe nach das Wort Stadwerke
in Stadtwerke Hamburg AG gefunden werden. Ist das ein Schreibfehler?
Im "normalen" Suchverfahren wäre das nämlich nicht der Fall ...
Gruß
Klaus
Anzeige
aufgedröselt geht's
07.07.2017 15:21:22
WF
Hi,
in C2 Deiner Beispieltabelle:
=WENNFEHLER(INDEX(G$2:G$9;FINDEN(1;ISTZAHL(FINDEN(G$2;B2))*1&ISTZAHL(FINDEN(G$3;B2)) *1&ISTZAHL(FINDEN(G$4;B2))*1));"Sonstiges")
runterkopieren
Aufgelistet wird nur das erste gefundene Auswahlwort.
WF
Anzeige
doch in einem Rutsch
07.07.2017 15:44:22
WF
Hi,
in C2 jetzt die Arrayformel:
{=WENNFEHLER(INDEX(G$2:G$9;VERGLEICH(1;ISTZAHL(FINDEN(G$2:G$4;B2))*1;0));"Sonstiges")}
WF
und Stadwerk heißt Stadtwerk
AW: aber ist so noch nicht "dynamisch" ...
07.07.2017 17:08:19
...
Hallo WF,
... was ja Frank mE ausdrücklich gewünscht hat. Du hast Deinen Formelvorschlag auf den fixen Datenbereich G2:G4 gemäß der Beispieldatei zugeschnitten. Ich meine, dass Frank aber eine unterschiedlich Anzahl an Auswahlwörtern berücksichtigt haben möchte.
@Frank,
... mein Lösungsvorschlag dafür wäre deshalb nachfolgende Matrixfunktion(alität)sformel die keines spez. Formelabschluss wie eine klassische Matrixformel benötigt.
=WENNFEHLER(VERWEIS(9;1/ISTZAHL(FINDEN(G$1:INDEX(G:G;ANZAHL2(G:G));B2));G:G);WENN(B2="";""; "Sonstiges"))
Diese Formel setzt jedoch voraus, dass die Auswahlwörter ohne Leerzellen nacheinander gelistet sind.
Wenn Leerzellen vorkommen können, dann wohl gleich besser den Auswertungsbereich in der Formel entsprechend auf das max notwendige (aber auch nicht mehr!) definieren.
Dafür mein Formel entsprechend angepasst:
=WENNFEHLER(VERWEIS(9;1/ISTZAHL(FINDEN(G$1:G$99;B2)/(G$1:G$99>0));G:G);WENN(B2="";"";"Sonstiges")) 
Gruß Werner
.. , - ...
Anzeige
dann wird's einfacher
07.07.2017 17:45:56
WF
in C2:
{=INDEX(G$2:G$99;VERGLEICH(1;ISTZAHL(FINDEN(G$2:G$99;B2))*1;0))}
formatiert: 0;;"Sonstiges"
WF
AW: schöne Idee ...
08.07.2017 08:37:14
...
Hallo WF,
... hierfür benutzerdefinierte Zahlenformat mit einzubeziehen, welches dadurch gleich zwei Bedingungsabfragen in der Formel erspart.
Deinen Formelvorschlag könnte man zwar noch geringfügig kürzen, bei Bedarf noch mit einem WENN(B2"";...;"") komplettierend klammern und sogar auch mit einem weiteren INDEX() von den {} "befreien" ;-), aber das wäre dann alles halt nur subjektive Formel-"Kosmetik".
Gruß Werner
.. , - ...
Anzeige
AW: schöne Idee ...
10.07.2017 16:29:15
Frank
Hallo Zusammen,
euch allen wieder ein dickes Dankeschön für eure Mithilfe.
Mit den Makro von Klaus und der Array Formel von WF wurde mir sehr, sehr geholfen.
Gruss
Frank
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Suchwort in Text suchen und Zelle ausgeben


Schritt-für-Schritt-Anleitung

Um ein Suchwort in einem Text in Excel zu finden und das Ergebnis in einer Zelle auszugeben, befolge diese Schritte:

  1. Daten vorbereiten:

    • Erstelle zwei Tabellenblätter. Tabelle A enthält die Texte, die durchsucht werden sollen, und Tabelle B listet die Suchwörter auf.
  2. Formel eingeben:

    • Gehe zu Tabelle A und wähle die Zelle aus, in der das Ergebnis angezeigt werden soll. Angenommen, das Suchwort ist in B2 und die Suchwörter befinden sich in G2:G9.
    • Verwende folgende Formel in der Zelle C2:
      =WENNFEHLER(INDEX(G$2:G$9;VERGLEICH(1;ISTZAHL(FINDEN(G$2:G$9;B2))*1;0));"Sonstiges")
    • Diese Formel sucht nach den Wörtern in B2 und gibt das gefundene Wort oder "Sonstiges" zurück, wenn kein Wort gefunden wird.
  3. Formel kopieren:

    • Ziehe die Formel nach unten, um sie auf die restlichen Zellen in Spalte C anzuwenden.
  4. Dynamische Anpassung:

    • Stelle sicher, dass die Liste der Suchwörter in Tabelle B dynamisch bleibt, indem du den Bereich in der Formel anpasst, wenn neue Wörter hinzugefügt werden.

Häufige Fehler und Lösungen

  • Fehler: "Wert!": Dies passiert, wenn das Suchwort nicht gefunden wird.

    • Lösung: Überprüfe, ob die Suchwörter in Tabelle B korrekt aufgelistet sind und keine Leerzellen enthalten.
  • Fehler: "Ungültiger Bezug": Dies kann auftreten, wenn du versuchst, einen Bereich zu referenzieren, der nicht existiert.

    • Lösung: Achte darauf, dass die Referenzen in deiner Formel korrekt sind und auf existierende Zellen zeigen.

Alternative Methoden

  • VBA-Makro: Wenn du mit VBA vertraut bist, kannst du ein Makro erstellen, das die Suche automatisiert. Hier ist ein einfaches Beispiel:
    Sub SucheUndAusgeben()
       Dim wsA As Worksheet, wsB As Worksheet
       Set wsA = ThisWorkbook.Sheets("TabelleA")
       Set wsB = ThisWorkbook.Sheets("TabelleB")
       Dim i As Long, j As Long
       For i = 2 To wsA.Cells(wsA.Rows.Count, 1).End(xlUp).Row
           For j = 2 To wsB.Cells(wsB.Rows.Count, 1).End(xlUp).Row
               If InStr(wsA.Cells(i, 1).Value, wsB.Cells(j, 1).Value) > 0 Then
                   wsA.Cells(i, 3).Value = wsB.Cells(j, 1).Value
                   Exit For
               Else
                   wsA.Cells(i, 3).Value = "Sonstiges"
               End If
           Next j
       Next i
    End Sub

Praktische Beispiele

Hier ist ein einfaches Beispiel, um die Funktionalität zu demonstrieren:

Text Suchwort Ergebnis
Stadtwerke Hamburg AG Stadtwerke Stadtwerke
Mustermann GmbH Stadtwerke Sonstiges
Hans Müller Müller Müller
  • In der obigen Tabelle wird das Wort "Stadtwerke" im ersten Text gefunden. Im zweiten Text wird nichts gefunden, daher steht "Sonstiges".

Tipps für Profis

  • Verwende Array-Formeln: Um mehrere Suchwörter gleichzeitig zu prüfen, kannst du Array-Formeln verwenden. Dies verbessert die Effizienz deiner Suche.

  • Fehlerbehandlung: Nutze WENNFEHLER, um die Handhabung unerwarteter Ergebnisse zu erleichtern.

  • Datenvalidierung: Implementiere Datenvalidierung in Tabelle B, um sicherzustellen, dass nur gültige Suchwörter eingegeben werden.


FAQ: Häufige Fragen

1. Wie kann ich nach Teilen eines Wortes suchen? Du kannst die Funktion FINDEN verwenden, um Teile von Wörtern zu suchen. Zum Beispiel:

=FINDEN("teil"; A1)

2. Kann ich die Suche auch in mehreren Spalten durchführen? Ja, du kannst die Formel anpassen, um auch andere Spalten zu durchsuchen, indem du die Bereiche in der Formel entsprechend änderst.

3. Wie kann ich die Ergebnisse in einer bestimmten Form formatieren? Nutze benutzerdefinierte Zahlenformate in Excel, um die Ergebnisse besser darzustellen. Du kannst auch bedingte Formatierungen verwenden, um gefundene Wörter hervorzuheben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige