Description: Libre office Calc Italian Steps to Reproduce: 1. Più «se» 0<=Value<1 «A» 1<=Value<1.5 «B» 1.5<=Value<3 «C» 3<=Value «D» 2. String : PIÙ.SE(0<=Value<1,"A",1<=Value<1.5,"B",1.5<=Value<3,"C",3<=Value,"D") Actual Results: 0 B 1.33 B 5.2 B 0.1 B 3.2 B 1.5 B 2.5 B 3 B Expected Results: Results 0 A 1.33 B 5.2 D 0.1 A 3.2 D 1.5 B 2.5 C 3 D Reproducible: Always User Profile Reset: No Additional Info:
Expected Results: Results 0 A 1.33 B 5.2 D 0.1 A 3.2 D 1.5 C 2.5 C 3 D
Please attach a sample document. I cannot find a function named "PIÙ.SE" in Italian help; so cannot test the step 2. But a document would carry everything required for reproduction.
PIÙ.SE() should be IFS() (see summary). Anyhow, conditions like 0<=Value<1 to evaluate whether Value is between [0,1) are wrong as they evaluate as (0<=Value)<1 which of course is not what was intended; they would need to be expressed as AND(0<=Value;Value<1) or as separate conditions to IFS().
Created attachment 146873 [details] File calc
(In reply to Mario Cataldi from comment #4) See what Eike said. Your formula is incorrect. This one could work: > =IFS(A12<0;"ERROR";A12<1;"A";A12<1,5;"B";A12<3;"C";TRUE();"D")
Then only one condition is correct. 1<Value<1.5 is incorrect?
(In reply to Mario Cataldi from comment #6) The syntax for Calc operators is described in help: https://help.libreoffice.org/latest/en-US/text/scalc/01/04060199.html. You may see that there's no ternary A<B<C operators exist, so you have to use equivalents using AND() and such spreadsheet functions. There is no 1:1 correspondence between standard math notation and Calc syntax. So yes, "1<Value<1.5" returns something other than you would expect - see Eike's answer.
Thank you very much. Now with the Eike advice it runs correctly. Bye
Created attachment 146882 [details] New version Thank you