Excel, wenn(enthält;dann;wenn(enthält;dann;sonst))

5 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Gesetzt dem Fall, du prüfst die Zelle A1

= WENN(A1=5;"Taschenschirm";WENN(A1=6;"Stockschirm";""))

evtl musst du die Zahlen noch in Hochkomma setzen, wenn A1 als Text formatiert ist


MichaelTraut 
Beitragsersteller
 12.07.2013, 14:00

Habe mich wohl falsch ausgedrückt, es stehen mehrere Zahlen pro Zelle drin, deshalb funktioniert das so nicht

0
ShitzOvran  12.07.2013, 14:05
@MichaelTraut

Achso, sorry falsch verstanden....

dann so:

=WENN(ISTFEHLER(FINDEN("5";A1));WENN(ISTFEHLER(FINDEN("6";A1));"";"Stockschirm");"Taschenschirm")
1
MichaelTraut 
Beitragsersteller
 12.07.2013, 14:08
@ShitzOvran

Danke, so funktioniert, ich hab immer das erste "dann" zu früh benutzt, habe nämlich: =WENN(ISTFEHLER(FINDEN("5";A1));"stockschirm";WENN(ISTFEHLER(FINDEN("6";A1));"taschenschirm";""))

Vielen Dank :)

0
Iamiam  14.07.2013, 11:14
@MichaelTraut

Übersichtlicher wäre:
=Wenn(istfehler(FINDEN("5";A1));"";"Taschenschirm")
&WENN(ISTFEHLER(FINDEN("6";A1));"";"Stockschirm")

&(kann fast beliebig fortgesetzt werden, ist nämlich keine Verschachtelung!)

und (durch die Einbeziehung der Kommata ins Suchargument verbessert -besonders bei den kleinen Zahlen- siehe meine AW):

&WENN(ISTFEHLER(FINDEN(",15,";A1));"";"Regencape")
&WENN(ISTFEHLER(FINDEN(",151,";A1));"";"Hut, Stroh-, mit breiter Krempe")

0
Oubyi, UserMod Light  12.07.2013, 14:02

DH!
So wie die Frage gestellt ist, ist das DIE Lösung.
@MichaelTraut: Wenn Dein eigentlicher Aufbau komplizierter ist, dann beschreibe ihn nochmal genau, oder zeige uns hier in einer Antwort einen Screenshot.
Es gibt da noch andere Möglichkeiten z,B. über WAHL.

1

Eine entsprechende Wenn-Funktion wäre endlos lang; der SVerweis stellt eine elegantere Möglichkeit dar. Wenn in A1 die Ziffer steht und in B1 die Bezeichnung erscheinen soll, könnte man irgendwo eine separate Matrix mit den möglichen Ziffern und Bezeichnungen aufstellen (z.B. in F7:G11, wobei die F Spalte die Ziffern und die G Spalte die Artikelbezeichnungen enthält); in dem Fall wäre die Funktion, die in B1 einzutragen wäre:

=SVERWEIS(A1;F7:G11;2;0)

mit finden() oder suchen(): =WENN(FINDEN(",1 ";H31;1);"stock";"-") und das verschachteln oder mit & aneinanderhängen. finden und suchen unterscheiden sich in Bezug aug Groß-und kleinschreibung(=>Hilfe)

Es gibt aber auch etliche Formeln, die Wildcards akzeptieren, zB: =VERGLEICH("*1, *";H31;0) (ich würde Dir unbedingt empfehlen, die Kommata gegen entweder Komma+Leerzeichen oder durch Semicolon, noch besser durch mehrere Trennzeichen zu ersetzen, damit nicht eine Kommazahl oder Zahlenfolge (wie 321,156) als 1 ausgewertet wird Die Ersetzung kann gesammelt erfolgen, Die Zahl (5/4=)1,25 würde von so einem Austausch nicht erfasst. Auch bei SVerweis sind * und ? zulässig.


Iamiam  13.07.2013, 22:57

um 2 von 26 oder 152 zu differenzieren, kannst Du nach "*,2,*" bzw "*,26,*" oder "*,152,* abfragen, wenn Du mehr als Stockschirm, Taschenschirm, Regencape und Hut hast.
Dann musst du Zuordnungstabellen machen, zB in ZTab!A2:B365 (oder weiteren Spalten, zB in A die Leitzahl (hier als Label, in B die Bezeichnung, in weiteren Spalten zB Preis, Hersteller, Lagerort etc. ).
Das geht dann über die Formel
=index(ZTab!B:B;Vergleich("*,152,*";ZTab!$A:$A;0);1)
(ähnlich SVerweis, aber der Spaltenversatz verändert sich beim Kopieren und die Leitspalte muss nicht zwingend links stehen!) Steht "152" in zB B2, dann musst Du das Suchargument stückeln:

=index(ZTab!B:B;Vergleich("*,"&B2&",*";ZTab!$A:$A;0);1)

Um die allererste 1 zu finden, musst du per Formel ein Komma oder ein 0, davorsetzen.
Und, wie ShitzOphran schon schrieb, evtl ein Wenn(istfehler(Vergleich(...));"nicht findbar";
davorsetzen, also

=Wenn(istfehler(Vergleich("*,"&B2&",*"));"nicht findbar";index(ZTab!B:B;Vergleich("*,"&B2&",*";ZTab!$A:$A;0);1))
0
Iamiam  16.07.2013, 01:55
@Iamiam

"Die Zahl (5/4=)1,25 würde von so einem Austausch nicht erfasst" ist ein

Irrtum!

auch bei normalen Kommazahlen wird der Austausch vorgenommen, es entsteht ein Label! Der Austausch ist aber -entgegen dem oben gesagten- nicht nötig, wenn keine Kommazahlen auftreten, nur das Zufügen des Kommas vor dem ganzen Zellinhalt, damit die erste Zahl richtig ausgelesen wird.

Alles andere stimmt

0

Das sind IF funktionen :D

Weis nicht ob du es selbst Programierst oder nur in der Normalen Excel verion bist .

Hier eine anleitung für die Normale :

http://www.traens.com/tipps/wenn_funktion.php


MichaelTraut 
Beitragsersteller
 12.07.2013, 13:59

Über VBA war des oder? Naja dann mach ich mich mal dran, zum Glück hab ich mir da eine Vorlage gemacht, so viel zum Thema ich steh aufm Schlauch

0

Schau Dir mal die Funktion SVerweis an


MichaelTraut 
Beitragsersteller
 12.07.2013, 13:56

Geht nicht, hätte mich auch gewundert, bzw. hätte mich geärgert, da ich es sonst immer zu kompliziert gemacht hätte...

0
FitnessIT  12.07.2013, 13:59
@MichaelTraut

Bei 2-3 Alternativen ist eine Wenn Formel am einfachsten, aber mehr ist der SVerweis besser. Wenn du es nicht hin bekommst hast, wird sicher etwas an deiner Formel nicht richtig sein. Ich benutze im meinem Arbeitsalltag sehr oft diese Formel für solche Zwecke und kann daher sagen das es genau das ist was du suchst.

0
MichaelTraut 
Beitragsersteller
 12.07.2013, 14:01
@FitnessIT

Ich benutze die auch oft, nur das Problem ist das in den Zellen z. B. 1,2,3,4,6 oder 1,2,3,4,6,15,23 drin steht, deshalb ist Sverweis nicht möglich

0
Iamiam  14.07.2013, 11:24
@FGO65

offensichtlich ist das so, gut gesehen!
Kaum einer denkt dran, wie oft kleine Weiterungen zu großen Problemen führen können!. Lösung: ein , als erstes Glied verbindlich einführen, ggf in eine leere Spalte mit dem Formeltyp:
=","&A1
dann die Formelspalte kopieren und als Werte am ursprünglichen Platz überschreiben oder sich auf die Formelspalte beziehen
(mit index/Vergleich geht das im Ggs zum SVerweis!)

0