Richtige Formel gesucht für 'wenn... dann'

Hallo zusammen,
ich komme nicht auf die korrekte Formel bei folgender Sache:

In Spalte A habe ich Zahlen zwischen 0 und 30
In Spalte B möchte ich je nach Höhe der Zahl einen bestimmten Faktor mit dem ich dann später weiterrechnen kann.

Also z.B.:
0 und 1 sollen den Faktor 100% geben
2, 3 und 4 sollen den Faktor 90% geben

Wie kann ich machen? Ich komme mit der Hilfefunktion nicht wirklich weiter.

Herzlichen Dank!
Blubb

Guten Tag.

0 und 1 sollen den Faktor 100% geben
2, 3 und 4 sollen den Faktor 90% geben

Daraus schließe ich mal, dass es keine geschlossene Formel für die Ermittlung des Faktors gibt. Die Hausfrauenmethode ist dann das verschachtelte Wenn:

=WENN(A1
ordnet 0 und 1 die 100, 2 bis 4 die 90 und allem anderen die 50 zu. Sind es mehr Kriterien, musst du eben weiter schachteln. Die allgemeine Syntax lautet


    =WENN(kriterium;ja-Teil;nein-Teil)


wobei du eben im Nein-Teil wieder ein Kriterium aufmachen kannst.

Irgendwo hat diese Methode natürlich ihre Grenze - abhängig von der Excel-Version kann man WENN nur so und so tief schachteln. Ich würde spätestens, wenn mehr als drei oder vier Stufen gefordert sind, die flexiblere Methode mit SVERWEIS wählen. Die ist zunächst nicht ganz so einfach zu durchschauen, aber m.M.n. in der Hilfe sehr schön erklärt.

Gruß Eillicht zu Vensre

Irgendwo hat diese Methode natürlich ihre Grenze - abhängig
von der Excel-Version kann man WENN nur so und so tief
schachteln. Ich würde spätestens, wenn mehr als drei oder vier
Stufen gefordert sind, die flexiblere Methode mit SVERWEIS
wählen.

Hallo Eillicht, hallo Blubb

Ich bin ganz einverstanden mit den Bemerkungen betr. Verschachtelung und zu SVERWEIS.

Ich möchte trotzdem auf eine wenig bekannte Art hinweisen, wie man die Verschachtelung von WENN grenzlos austricksen kann. Ein „Bandwurm“ entsteht allerdings trotzdem:

=1*(WENN(ODER(A1=0;A1=1);100;"") & WENN(ODER(A1=2;A1=3;A1=4);90;"") & WENN(A1>4;9999;""))

Den letzten Teil der Formel (9999) muss man anpassen. Selbstverständlich kann man noch unendlich viele „& wenn…“ hinzufügen.

Ideal dafür wäre auch WAHL. Aber diese Formel ist (im Excel 2003) auf 29 Attribute beschränkt.

Grüsse Niclaus

Hallo Niclaus,

=1*(WENN(ODER(A1=0;A1=1);100;"") &
WENN(ODER(A1=2;A1=3;A1=4);90;"") & WENN(A1>4;9999;""))

wer braucht schon Wenn :smile:

=100*(ODER(A1=0;A1=1))+90*(ODER(A1=2;A1=3;A1=4))+…

Selbstverständlich kann man noch unendlich viele „& wenn…“
hinzufügen.

Ich glaub bei 1023 Zeichen ist Schluß.

Ideal dafür wäre auch WAHL. Aber diese Formel ist (im Excel
2003) auf 29 Attribute beschränkt.

29? Ich dachte 30, ist aber wurscht.
Ich finde Wahl dafür aber untauglich, überzeuge mich.

Gruß
Reinhard

Hallo Niclaus,
Dein Beispiel ist aber auch sehr schön mit Sverweis zu lösen:
=SVERWEIS(A1;{0.100;2.90;4,01.9999};2)
0.100
2.90
4,01.9999

Geprüft wird ob der Wert in A1 größer oder gleich dem Suchwert ist.
Es wird immer der letzte gefundene Rückgabewert angezeigt.

Vor dem Punkt die Suchwerte, aufsteigend sortiert
nach dem Punkt die Rückgabewerte >= vom passenden Suchwert
Zwischen den einzelnen „Zeilen“ ein Semikolon.

gruß Holger

=SVERWEIS(A1;{0.100;2.90;4,01.9999};2)

Hallo Holger,

aha.
Ich weiß zwar daß man in bestimmtem Fällen in Formeln die geschweiften Klammern benutzen kann, jetzt nicht als Arrayformeln, die sind mir eh zu langsam, aber da ich kaum Formeln benutze kenne ich mich nicht so sehr aus.

So oder so, so wie es klingt wäre m.E sowieso der normale Sverweis besser, also Bezuh auf eine Liste…
Der Anfrager soll mal rausrücken wieviele Bedingungen es gibt und wann was das Resultat sein soll.

Dann kann man erst entscheideiden was dafür am besten wäre.

Gruß
Reinhard

1 „Gefällt mir“

Hallo Niclaus,
Dein Beispiel ist aber auch sehr schön mit Sverweis zu lösen:
=SVERWEIS(A1;{0.100;2.90;4,01.9999};2)

Vor dem Punkt die Suchwerte, aufsteigend sortiert
nach dem Punkt die Rückgabewerte >= vom passenden Suchwert
Zwischen den einzelnen „Zeilen“ ein Semikolon.

Grüezi Holger

Vielen Dank für diesen Hinweis. Daran habe ich nicht gedacht!

Eine wichtige Bemerkung für alle, die mit Schweizer-Einstellungen arbeiten: Bei uns muss die Formel angepasst werden, da wir Punkt und Komma ganz anders einsetzen als die übrige Welt. Bei uns muss die Funktion so geschrieben werden:
=SVERWEIS(A1;{0\100;2\90;4.01\9999};2)

Viele Grüsse und noch einmal herzlichen Dank
Niclaus

Grüezi Reinhard
Auch Dir vielen Dank!

wer braucht schon Wenn :smile:
=100*(ODER(A1=0;A1=1))+90*(ODER(A1=2;A1=3;A1=4))+…

Man lernt nie aus!

… wäre auch WAHL. Aber diese Formel ist auf 29 Attribute beschränkt.

29? Ich dachte 30, ist aber wurscht.

Das hab ich im letzten Jahrtausend so ungenau gelernt :smile:))
Du hast recht: zusammen mit dem Index sind es 30 Argumente!

Grüsse Niclaus