11.09.2025, 10:32 (Dieser Beitrag wurde zuletzt bearbeitet: 11.09.2025, 11:06 von Mackosh.)
Hallo zusammen, ich habe eine Excel-Tabelle mit Freitextfeldern in denen medizinische Fälle beschrieben sind. Ich möchte eine neue Spalte erstellen, die automatisch markiert, ob einer von mehreren Schlagwörtern im Text vorkommt. Die Schlagwörter, nach denen gesucht werden soll, sind unter anderem:
„fatigue syndrom“
„ME/CFS“
„MECFS“
„CFS“
„FS, pacing“
„Long Covid“
„chronisches fatigue syndrom“
„Chronisches Erschöpfungssyndrom“
Ich möchte dabei Folgendes erreichen:
Groß-/Kleinschreibung soll ignoriert werden.
Kurze Begriffe wie „CFS“ oder „FS“ sollen nicht fälschlicherweise mitten in anderen Wörtern gefunden werden.
Die Lösung sollte, wenn möglich, auch Bindestriche erfassen). z. B. fatigue-syndrom.
Ergebnis: eine neue Spalte mit 1 = Schlagwort gefunden, 0 = nicht gefunden.
Bisher habe ich versucht, FINDEN() und SEARCH() zu nutzen, stoße aber immer wieder auf Fehler. Hat jemand eine robuste Formel oder eine andere Lösung in Excel, um das sauber umzusetzen? Ich bin für jede Hilfe oder Beispiel-Formel dankbar! Vielen Dank im Voraus!
11.09.2025, 10:59 (Dieser Beitrag wurde zuletzt bearbeitet: 11.09.2025, 11:02 von Ralf A.)
(11.09.2025, 10:32)Mackosh schrieb: [*]Die Lösung sollte alle relevanten Varianten erfassen (z. B. Bindestriche, Leerzeichen, Slash), aber nicht zu viele falsche Treffer erzeugen.
[*] ..Beispiele sind ja ein ganz netter Ausschnitt aus einer Vielzahl von Möglichkeiten. Geht das auch genauer? Was bedeutet denn ALLE relevanten Varianten für Dich konkret?
Beispieltabelle wäre auch ganz hilfreich...
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben. Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.
du musst die Suchbegriffe in einem Zellbereich auflisten (bspw X1:X8) die Formel, um zu bestimmen ob einer oder mehrere dieser Begriffe im Textfeld (A1) vorkommt und das unabhängig von der Groß-Kleinschreibung wäre
=(Summe(1*IstZahl(Suchen($X$1:$X$8;A1))>0)*1
das würde dir eine 1 ausgeben, sobald einer dieser Begriffe im Text vorkommt. wenn bspw ein "ME/CFS" auch als "ME-CFS" geschrieben werden könnte, muss du entweder beide Varianten aufführen, oder hier den Joker ? für ein beliebiges Zeichen einsetzen: "ME?CFS"
Wenn kurze Zeichenfolgen nicht innerhalb von Wörtern gefunden werden sollen, muss man vor und nach dieser Zeichenfolge das Trennzeichen zwischen den Wörtern eingeben: " CFS " , übliche Satzzeichen kann man als zusätzlichen Eintrag berücksichtigen: " CFS,"
damit am Anfang und Ende des Textes keine Sondersituationen entstehen, kannst du das Worttrennzeichen in der Formel hinzufügen:
folgende Funktion habe ich gebastelt in der beiliegenden Datei: =NACHZEILE(WECHSELN($A$2:.$A$99;"-";" ");LAMBDA(w;REGEXTESTEN(w;"\b("&TEXTVERKETTEN("|";1;$F$2:$F$9)&")\b";1))) und sie in Zelle C2 gespeichert.
Die Schlagwörter befinden sich in F2:F9
Die zu prüfenden Texte befinden sich in Spalte A, beginnend in Zelle A2, wobei bis zu 98 Texte eingebbar/testbar sind. Der Punkt im Zellbereich $A$2:.$A$99 bedeutet nämlich eine dynamische Zellbereichsangabe: Beginnend in Zelle A99 wird der Zellbereich A2:A99 solange nach oben verkleinert, bis die 1. Zelle mit Inhalt angetroffen wird.