Excel Text Kategorisierung anhand von Keywords?
Hallo an alle!
Ich stehe vor folgender Aufgabe und habe bis leider keine Lösungsvorschläge gefunden. Ich möchte einzelne Textzellen in einem Excel-Sheet mehrerer Prüfungen unterziehen, um schlussendlich anhand enthaltener Keywords eine Zelle einer Kategorie zuordnen zu können.
Das würde folgendermaßen aussehen: Tabellenblatt 1:
A B
1 Text
2 Text
3 Text
4 ...
Tabellenblatt 2:
A B
1 Kategorie1 | Keyword 1; Keyword 2; Keyword 3
2 Kategorie2 | Keyword 4; Keyword 5; Keyword 6
Prüfung1: Wenn ein Keyword aus [Tabellenblatt 2, B1] in [Tabellenblatt 1, A1] enthalten ist, dann in [Tabellenblatt 1, Spalte B] ausgeben "Kategorie 1".
Prüfung 2: Wenn ein Keyword aus [Tabellenblatt 2, B2 in [Tabellenblatt 1, A1] enthalten ist, dann in [Tabellenblatt 1, Spalte B] ausgeben "Kategorie 2".
Ist so etwas mit Excel überhaupt noch zu lösen? Verneige mich jetzt schon vor allen Excel-Gurus, die hier vielleicht weiterhelfen können. Danke!!
2 Antworten
Wenn ich es richtig verstehe, hast Du auf Tabelle 1 einen langen Text, der u.a. auch ein oder mehrere Keywords enthält. Das ist die komplizierte Variante...
Ohne Makro fällt mir nur eine Variante mit Hilfsspalten ein, die unelegant diverse Abfragen aneinander tackert.
In B2 steht: =WENNFEHLER(SUCHEN(INDIREKT("Tabelle2!B$"&SPALTE(A1));Tabelle1!$A2);0)+WENNFEHLER(SUCHEN(INDIREKT("Tabelle2!C$"&SPALTE(A1));Tabelle1!$A2);0)+WENNFEHLER(SUCHEN(INDIREKT("Tabelle2!D$"&SPALTE(A1));Tabelle1!$A2);0)+
Das kannst Du die zeilen runter und in dieser Form bis Spalte D ziehen. Wenn es mehr Kategorien gibt, muss man bei diesem Ansatz die Formel verlängern, also noch mal +wennfehler... und die Spalte weiter erhöhen.
In E2 steht: =VERGLEICH(MAX(B2:D2);B2:D2;0)
Generell aber: Ist ausgeschlossen, dass in einem Text Keywords aus zwei verschiedenen (oder mehr) Kategorien auftauchen? Das ist mit meinem Ansatz definitiv nicht abgedeckt, da fällt mir wirklich nur ein Makro ein.

Falls es nur die beiden Kategorien sind, kann man es mit dieser Bandwurmformel lösen:
=WENN(ISTFEHLER(SUCHEN(A1;Tabelle2!B$1));WENN(ISTFEHLER(SUCHEN(A1;Tabelle2!B$2));"keiner Kategorie zuordenbar";"Kategorie2");"Kategorie1")
Eleganter, weil kürzer und unabhängig von der Anzahl der Kategorien ist:
=INDEX(Tabelle2!A:A;VERGLEICH("*"&A1&"*";Tabelle2!B:B;0))
Erkenntnisgewinn für mich selbst: Die zweite Formel funktioniert in Excel, nicht aber in LibreOffice, auch mit angepasster Syntax nicht (. statt !)
Wenn der Text in A1 nicht in Tabelle2!B:B gefunden wird, dann erscheint #NV!