• Resolved antoineO

    (@antoineo)


    Hi,

    I am creating a form but the function IF does not work well…

    I create 3 fields here : http://testform.apps-1and1.net/ :
    1. Type de logement (in BO, corresponding to “fieldname43” with the values 1, 2, 3)
    2. Nombre de places (in BO, corresponding to “fieldname43” with values 1, 2, 3, 4)
    3. Gain

    In BO, for “Gain” field, I put this formula : (it is work on Excel. here )

    IF((AND(fieldname43=1,fieldname45=1)),"196",IF((AND(fieldname43=1,fieldname45=2)),"331",IF((AND(fieldname43=1,fieldname45=3)),"557",IF((AND(fieldname43=1,fieldname45=4)),"938",IF((AND(fieldname43=2,fieldname45=1)),"177",IF((AND(fieldname43=2,fieldname45=2)),"263",IF((AND(fieldname43=2,fieldname45=3)),"391",IF((AND(fieldname43=2,fieldname45=4)),"581",IF((AND(fieldname43=3,fieldname45=1)),"158",IF((AND(fieldname43=3,fieldname45=2)),"204",IF((AND(fieldname43=3,fieldname45=3)),"262",IF((AND(fieldname43=3,fieldname45=4)),"317"))))))))))))

    I tried in remplacing the value “1”, “2”, … to the text. I tried to create another field to simplify such as a field to multiple “fieldname43” and “fieldname45″ (with others values) in order to have a simple function IF like IF(fieldname47=360,”196”,IF(fieldname47=…)

    Nothing to work..

    Thanks for your help

    https://wordpress.org/plugins/calculated-fields-form/

Viewing 4 replies - 1 through 4 (of 4 total)
  • Thread Starter antoineO

    (@antoineo)

    I understood the problem….

    With your function IF, it works only if we put :
    “IF(fieldname43<=2,196,158)”
    But it does not work with just : “IF(fieldname43=2,196,158)”
    :/

    Someone has the same issue ?

    Try ==. ie two equals signs…

    Thread Starter antoineO

    (@antoineo)

    Thanks vivanco for your help. It works !
    What a pity :/ I had completely worked my formula again like this :

    IF((AND(fieldname43<=3,fieldname45<=9)),196,IF((AND(fieldname43<=3,fieldname45>=10,fieldname45<=11)),331,IF((AND(fieldname43<=3,fieldname45>=12,fieldname45<=13)),557,IF((AND(fieldname43<=3,fieldname45>=14,fieldname45<=15)),938,IF((AND(fieldname43>=3,fieldname43<=5,fieldname45<=9)),177,IF((AND(fieldname43>=3,fieldname43<=5,fieldname45>=10,fieldname45<=11)),263,IF((AND(fieldname43>=3,fieldname43<=5,fieldname45>=12,fieldname45<=13)),391,IF((AND(fieldname43>=3,fieldname43<=5,fieldname45<=15)),581,IF((AND(fieldname43>=6,fieldname43<=7,fieldname45<=9)),158,IF((AND(fieldname43>=6,fieldname43<=7,fieldname45>=10,fieldname45<=11)),204,IF((AND(fieldname43>=6,fieldname43<=7,fieldname45>=12,fieldname45<=13)),262,IF((AND(fieldname43>=6,fieldname43<=7,fieldname45<=15)),599,0))))))))))))

    Thanks

    Plugin Author codepeople

    (@codepeople)

    Hi,

    I’m sorry for returning 3 months later, but for other users that may find confusing the equation, can use the following structure that is easier to understand.

    (function(){
    if( AND(fieldname43<=3,fieldname45<=9)) return 196;
    if(AND(fieldname43<=3,fieldname45>=10,fieldname45<=11)) return 331;
    if(AND(fieldname43<=3,fieldname45>=12,fieldname45<=13)) return 557;
    if(AND(fieldname43<=3,fieldname45>=14,fieldname45<=15)) return 938;
    if(AND(fieldname43>=3,fieldname43<=5,fieldname45<=9)) return 177;
    if(AND(fieldname43>=3,fieldname43<=5,fieldname45>=10,fieldname45<=11)) return 263;
    if(AND(fieldname43>=3,fieldname43<=5,fieldname45>=12,fieldname45<=13)) return 391;
    if(AND(fieldname43>=3,fieldname43<=5,fieldname45<=15)) return 581;
    if(AND(fieldname43>=6,fieldname43<=7,fieldname45<=9)) return 158;
    if(AND(fieldname43>=6,fieldname43<=7,fieldname45>=10,fieldname45<=11)) return 204;
    if(AND(fieldname43>=6,fieldname43<=7,fieldname45>=12,fieldname45<=13)) return 262;
    if(AND(fieldname43>=6,fieldname43<=7,fieldname45<=15)) return 599;
    return 0;
    })()

    Best regards.

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘Function IF > do not work perfectly ?’ is closed to new replies.