2016-05-19 26 views
0

Es gibt 2 Zellen.Excel: Rückgabewert, wenn Zelle einen bestimmten Text enthält

One enthält String

"AA BB CC DD"

Und die zweite

"AABBCCCDD"

Ich möchte Formel machen, die Wert "true" zurückgeben, wenn Zellen enthält "BB". Wenn ich Such- oder Suchformeln verwende, wird für alle Benutzer der Wert true zurückgegeben. Trotzdem gibt es eine andere Bedingung. Ich möchte diese verwenden:

= IF (IS.NUMBER (SEARCH ("BB" .....

Suche besteht aus zwei Hauptparameter bestand -> was und wo ich will 2 Werte hinzuzufügen. in "was" So etwas wie:.

Wenn die Zelle "BB" oder "BeBe" enthält dann ...

ich hoffe, es ist klar

Dank

+1

Haben Sie versucht, 'AND():' '= AND (ISNUMBER (SEARCH (...)) , ISNUMBER (SEARCH (...))) '? – Taosique

+1

Ich schlug vor, '= IF (OR (SEARCH (" bb ", A1), SEARCH (" bebe ", A1))," Ja "," Nein ")', aber es gibt einen '# Value' Fehler wenn entweder 'bb' oder' bebe' nicht gefunden wird. Sie könnten das erklären und vielleicht 'IfError()' verwenden. – BruceWayne

Antwort

1

es Wickeln in einer SUMPRODUCT. :

=SUMPRODUCT(1*(ISNUMBER(SEARCH({" BB ","BeBe"},A1))))>0 

SEARCH() ist nicht case sensitive, so dass es für "BEBE" true zurück, wenn Sie Groß- und Kleinschreibung Verwendung finden wollen:

=SUMPRODUCT(1*(ISNUMBER(FIND({" BB ","BeBe"},A1))))>0 

enter image description here

+0

Wie kommt es, dass diese Formel keine Fehler auslöst, wenn eine der Bedingungen nicht gefunden wird? In meinem obigen Kommentar gibt 'Or()' mit zwei Suchanfragen '# VALUE' zurück, wenn keiner gefunden wird. – BruceWayne

+0

@the ISNUMBER() tut das, wenn es einen Fehler wirft, ist es keine Zahl und daher ist FALSE was, wenn es mit 1 multipliziert wird, 0 zurückgibt. –

+0

@ MartinJanáč Wenn ich es wäre, würde ich die andere Antwort verwenden, es ist weniger tippen und funktioniert genauso gut. –

3

können Sie für mehrere Strings suchen, indem Sie Passieren Array von Zeichenketten {} und Umhüllung in AND():

=AND(ISNUMBER(SEARCH({"AA","BB"},A1))) 

Alternativ können Sie es in OR() wickeln, wenn Sie mindestens ein Spiel brauchen, nicht alle von ihnen:

=OR(ISNUMBER(SEARCH({"AA","BB"},A1))) 
+0

Das ist besser als meins, weniger tippen. Ich würde damit gehen. Gut gemacht. –

+2

Danke! Sportlichkeit! ; D – Taosique

+1

Ich war mir nicht bewusst, dass es das Array richtig durchlaufen würde, und ich versuchte das AND zuerst auf meinen Daten und bekam, was ich dachte, dass ich sollte, dann schaute ich weiter und erkannte, dass Sie 100% korrekt sind, und deshalb habe ich etwas gelernt. Ich wünschte, ich könnte mehr als 1 Upvote geben, nur um mich etwas lernen zu lassen. –

Verwandte Themen