Frage von Guest777, 25

Wer kann mir diese Excel Formel professioneller machen?

Hallo liebe Community!

Ich habe ein Excel Problem. Mein Ziel ist es eine Zahl zu bewerten. Also wenn eine Zahl zwischen 1 und 5 liegt soll 1 ausgegeben werden usw. bis 10. Die Grenzen sind unterschiedlich und sollen aus einem anderen Datenblatt genommen werden, um sie schnell verändern zu können. Meine Formel sieht so aus:

=WENN(UND(AC8>=Tabelle1!$M$14;AC8<Tabelle1!$M$13);1;WENN(UND(AC8>=Tabelle1!$M$13;AC8<Tabelle1!$M$12);2;WENN(UND(AC8>=Tabelle1!$M$12;AC8<Tabelle1!$M$11);3;WENN(UND(AC8>=Tabelle1!$M$11;AC8<Tabelle1!$M$10);4;WENN(UND(AC8>=Tabelle1!$M$10;AC8<Tabelle1!$M$9);5;WENN(UND(AC8>=Tabelle1!$M$9;AC8<Tabelle1!$M$8);6;WENN(UND(AC8>=Tabelle1!$M$8;AC8<Tabelle1!$M$7);7)))))))+WENN(UND(AC8>=Tabelle1!$M$7;AC8<Tabelle1!$M$6);8;WENN(UND(AC8>=Tabelle1!$M$6;AC8<Tabelle1!$M$5);9;WENN(UND(AC8>=Tabelle1!$M$5;AC8<Tabelle1!$M$4);10)))

Das ist natürlich mehr als umständlich! In Tabelle1 M14-M5 liegen die Grenzen, in AC230 liegt der Wert, der bewertet werden soll.

Wie kann ich diese Formel verkürzen? Mit =INDEX({1;2;3;4;5;6;7;8;9;10};VERGLEICH(S6;{0;0,25;0,3;0,36;0,44;0,53;0,6;0,68;0,77;0,86};1)) habe ich es versucht, allerdings habe ich es nicht hinbekommen, dass er sich die Grenzen aus dem anderen Datenblatt nimmt. Wer kann mir helfen? Bitte erklärt mir, was eure Alternative genau macht, damit ich auch etwas daraus lerne.

Cheers!

Antwort
von Ortogonn, 25

Moin,

irgendwas passt an deiner Wenn-Formel nicht. Die hat am Ende zu viele schließende Klammern und es fehlt der "sonst"-Teil der Wenn-Funktion.

Ich kann auch nicht nachvollziehen, was deine UND-Abfrage bewirken soll. Die wird nur dann wahr, wenn in Tabelle1!$M$4 bis Tabelle1!$M$13 sowie AC230 derselbe Wert und in Tabelle1!$M$14 mind ein gleich großer Wert steht. Wie willst du damit unterschiedliche Resultate von 1 bis 10 produzieren ?

Fehlt da ein Teil ?

Kommentar von Guest777 ,

Ich hab tatsächlich leider die falsche Formel eingefügt. Ich hab die Frage bearbeitet. Danke, dass du dir Zeit nimmst!

Kommentar von Ortogonn ,

Deine Liste der Grenzwerte ist absteigend sortiert, richtig? Einfacher wäre, wenn es aufsteigend sortiert ist. Dann reichte ein einfaches VERGLEICH().

In diesem Fall idealer Weise sogar 10 Grenzwerte und Gewichtung mit 1-10.

Vergleich() liefert die Position des zutreffenden Wertes in der Matrix. Das heißt Werte von 1-10. Man könnte somit sogar gleich die Position des Treffers als Gewichtung nutzen.

Wenn eine aufsteigende Sortierung in Tabelle1!M4:M14 möglich wäre, wäre deine "elegante" Formel:

=WENNFEHLER(VERGLEICH(Tabelle2!AC8;Tabelle1!M4:M14;1);0)

------------------

Ist eine absteigende Sortierung zwingend notwendig, dann

=11-WENNFEHLER(VERGLEICH(Tabelle2!AC8+1;Tabelle1!M4:M14;-1);11)

------------------------

Beispiel

http://www.xup.in/dl,12315353/Grenzwerte.xlsx/

Kommentar von Ortogonn ,

Nachtrag:

Ich habe mit ganzen Zahlen als Bsp. gearbeitet. Um bei absteigender Sortierung das gewünschte Ergebnis zu bekommen, erhöhe ich den Suchwert um 1. Bei kleineren Schrittweiten (Grenzwerte mit 0,1er oder noch mehr Nachkommastellen) ist diese Erhöhung entsprechend anzupassen.

Die Erhöhung ist nötig, damit dasselbe Ergebnis wie bei deine WENN-Formel angezeigt wird, wenn der Suchwert gleich einem der Grenzwerte ist.

Dabei habe ich nicht genau überprüft, warum deine Formel dieses Ergebnis liefert. Ich habe die VERGLEICH-Formel lediglich so angepasst, dass die Ergebnisse übereinstimmen.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten