Clever-Excel-Forum

Normale Version: Wenn Wert aus Tabelle in String enthalten - ohne VBA
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

ich benötige für eine Abfrage die Möglichkeit, Strings mit einem Bereich (36 Werte) zu vergleichen. Sollte einer der 36 Werte, ein Teilstring in dem zu durchsuchenden String sein, soll WAHR ausgegeben werden.
Beispiel:
  • 1,4B,3,5,8C soll durchsucht werden, ob 5B enthalten ist --> FALSCH
  • 1,4B,3,5,8C soll durchsucht werden, ob 8C enthalten ist --> WAHR
  • 1,4B,3,5,8C soll durchsucht werden, ob 4 enthalten ist --> WAHR
Einfache Werte wie oben dargestellt zu finden ist kein Problem, das geht mit Finden() wunderbar, jedoch reicht es in meinem Fall, wenn einer der 36 Werte in dem String enthalten ist.
Dazu finde ich bisher nichts im Internet.

Die echte Problemstellung: //verkürzt zur Übersichtlichkeit, Werte sind bspw. im Bereich $H$4:$Q$7
  • 1,4B,3,5,8C soll durchsucht werden, ob einer der Werte [1C|2B|2C|3A|5B] enthalten ist --> FALSCH
  • 1,4B,3,5,8C soll durchsucht werden, ob einer der Werte [1B|2|4B|3A|8C|9] enthalten ist --> WAHR
  • 1,4B,3,5,8C soll durchsucht werden, ob einer der Werte [1A|3B|4] enthalten ist --> WAHR

Im Anhang ist eine Excel die genau das Problem nochmals darstellt

Bei der Lösung ist mir wichtig, dass sie keinerlei VBA enthält und im Idealfall mit Excel 2010 kompatibel ist, da ich nicht der alleinige Nutzer dieser Tabelle sein werde.

Habt ihr kreative Lösungsideen?
Gruß
Hallo,

wieso ist denn z.B. in Zelle C3 ein "wahr"? - habs gefunden...

Hallo,

also ich würde Text in Spalten und Zählenwenns wählen...

Ich habe das mal vorbereitet - habe aber Differenzen zu deiner Auswertung... sieh' es dir mal an...
Hi,

ohne Hilfsspalten sollte das hier funktionieren:

C3:
=ANZAHL(WENN($I$4:$Q$7<>"";FINDEN($I$4:$Q$7;$B3)))>0

D3:
=ANZAHL(WENN($I$10:$Q$13<>"";FINDEN($I$10:$Q$13;$B3)))>0

In Deiner Excelversion noch als Arrayformel mit Strg+Shift+Enter abschließen.

Beide Formeln runterkopieren.

Fun Fact am Rande:

Eigentlich sollte es auch ohne die vorgeschaltete WENN-Abfrage funktionieren - tut es aber nicht:

In C3 ergibt
=ANZAHL(FINDEN($I$4:$Q$7;$B3))
im Ergebnis 32 ?!?

Bindet man hingegen den Bereich I4:Q7 als Matrixkonstante ein
=ANZAHL(FINDEN({0.2.0.0.0.0.7.0.9;"1A".0.0.0.0.0.0.0.0;0.0.0.0.0.0.0."8B".0;0.0.0.0.0.0.0.0.0};$B3))
liefert die Formel korrekt 1 als Ergebnis...?!?

Bin gerade etwas irritiert...
Hi,

danke für eure beiden Antworten, tatsächlich und das beweist mal wieder Dummheit, hatte ich deine Formel @{Boris} bereits, nur nie (bewusst) als Arrayformel, Excel hat sich nicht beschwert und manchmal hats geklappt und manchmal nicht...

Vielen Dank für eure schnellen und präzisen Antworten, das hat mir echt geholfen!

Gruß und schöne Feiertage!
=ODER(INDEX(ISTZAHL(FINDEN(B4:Q7;A1));))
@Boris

So paßt's:
Code:
=ANZAHL(FINDEN(--$I$4:$Q$7;$B3))
Holzwege? Gesucht werden alpha, nicht num
Hallo shift-del,

bei deiner Formel hätte ich eine Frage:

Bei Person 16 steht 1,7B - in der Kategorie finde ich weder 1 noch 7B...
@LCohen
@rate mit

Ich hatte mich nur auf die Formel von Boris konzentriert und nicht auf die ursprüngliche Fragestellung.
@LCohen: Funktioniert nicht.

@all: Wenn ich Formelverständnisfragen habe, möchte ich in 100% der Fällen keine Alternativformel, sondern eine Erklärung für ein bestimmtes Verhalten.

[EDIT]99,9%
Seiten: 1 2