Mehrere Berechnungen in einem Feld

  • Ich suche eine Möglichkeit mit einer "if" "then" abfrage.

    Meine Datenbank besitzt ein Feld Einkaufspreis, Grösse und Preis pro Einheit (Formelfeld). Nun will ich dass wenn im Feld Grösse 10ml steht dann Einkaufspreis / 80 gemacht wird. Klappt soweit auch nur die "if" Abfrage nicht. Ich kann nur sagen mache Einkaufspreis durch 80.

    Was benötige ich alles?

    Ist Grösse 5ml dann Einkaufspreis / 80

    Ist Grösse 10ml dann Einkaufspreis / 160

    Ist Grösse 15ml dann Einkaufspreis / 240

    Versucht habe ich zb.

    Code
    if(prop("Grösse") == "5ml" ; prop("EKP [CHF]") /80)

    In Excel klappt das wunderbar mit folgender Formel.

    Code
    =WENN((F3*1)=5;D3/80;WENN((F3*1)=10;D3/160;WENN((F3*1)=15;D3/240;"")))

    Hier steht dann in F3 5, 10 oder 15 für die ml Angabe.

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

  • Grischabock grüße, bevor ich jetzt das ganze ausführlich beschreibe eine kurze Verständnisfrage, ist das so gemeint? (Größen die nicht in der Liste sind werden bei mir jetzt als 0 angezeigt, da Formel Ausgänge keine strings erlauben):

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

  • if(prop("size") == "5 ml", prop("ekp") / 80, if(prop("size") == "10 ml", prop("ekp") / 160, if(prop("size") == "15 ml", prop("ekp") / 240, 0)))

    IF-Statements brauchen 3 Argumente IF(Bedingung, Output Bedingung erfüllt, Output Bedingung nicht erfüllt) also teste man er ob die gegebene größe gegeben ist. Sollte sie nicht gegeben sein ersetzt man den "Output Bedingung nicht erfüllt" einfach durch eine weitere IF-Abfrage. Das Ganze kann man dann so oft wiederholen bis man alle gegebenen Fälle durchgegangen ist.

  • IF-Statements brauchen 3 Argumente IF(Bedingung, Output Bedingung erfüllt, Output Bedingung nicht erfüllt)

    Ach so, ja da kann ich noch lange versuchen :) Ich danke dir vielmals, das ist Natürlich sehr praktisch und auch einfach wenn man dies so weiterziehen kann wie man es möchte. Die 0 am Ende wäre dann eben nicht erfüllt oder?

  • Die null steht nur da als letzter ausgang wenn alle abfragen "falsch" wären. man kann natürlich abkürzen, wenn es nur 3 optionen gibt und die letzte abfrage vereinfachen denn wenn es nur a, b und c gibt und a und b falsch sind muss ja c die richtige option sein. das sähe dann so aus:

    if(prop("size") == "5 ml", prop("ekp") / 80, if(prop("size") == "10 ml", prop("ekp") / 160, prop("ekp") / 240))