在润乾报表中,在自动计算中计算平均值的时候,如果数值的个数是固定的,比如3个,我们可以很容易地计算平均值,比如A1、B1、C1是可以编辑的单元格,我们可以很容易的在自动计算中写表达式${A1+B1+C1}/3就可以计算出来;但是,有时候我们会遇到,在3个编辑框中,如果我们只输入一个数值,则平均值则等于这个数值,如果输入的是2个数值,则平均值为这两个数的平均值,如果3个都输入,平均值就是这3个数的平均值。对于这种情况,我们可以有两种方法来实现:
第一种方法,通过判断3个输入框是否为空的组合来计算,使用三目计算表达式:A2==""&&B2==""&&C2==""?0:(((A2!=""&&B2==""&&C2=="")||(A2==""&&B2!=""&&C2=="")||(A2==""&&B2==""&&C2!=""))?${A2+B2+C2} : (((A2!=""&&B2!=""&&C2=="")||(A2!=""&&B2==""&&C2!="")||(A2==""&&B2!=""&&C2!=""))?${A2+B2+C2}/2:${A2+B2+C2}/3) )
计算结果如下:
当只输入一个编辑框的时候
当只输入两个编辑框的时候
当3个编辑框都输入的时候
第二种方法:
通过设置隐藏单元格,用隐藏单元格来判断编辑单元格是否为空,如在隐藏格F2中写一个自动计算的表达式:${A2}==""?0:1;同样在G2、H2隐藏格中各写一个自动计算的表达式${B2}==""?0:1、${C2}==""?0:1;这样我们就可以直接在计算平均值的单元格里书写自动计算的表达式:A2==""&&B2==""&&C2==""?0:${A2+B2+C2}/${F2+G2+H2};这样,同样可以计算数值个数不固定的数的平均数!
目前,也只想到了这两种方式,大家有好的解决方法,欢迎补充!