我正在尝试计算个人在多个指标上的差异,但是,如果他们跳过一个问题,则该问题被编码为 -99。我希望我的公式能够计算这些指标的差异,同时忽略/跳过/省略 -99 值。
我正在使用 Excel 来管理奖励系统。如果人们满足某些标准(完成调查、不随机回复、回答 % 的问题),他们就会得到时间补偿。因此,我不想将所有 -99 值更改为 0 或空白,因为它表示他们在具有大量分支的调查中看到了多少问题但选择跳过。如果我想摆脱它们,我只需使用 ctrl+f 并将它们替换为“”。除了使用 SPSS 或其他统计软件之外,还有其他建议吗?
目前我的公式是:=IF(ISERROR(VAR(DJ4:EH4)),"",VAR(DJ4:EH4))
但是,可以简化为 =VAR(DJ4:EH4) 来弄清楚如何做到这一点。
我希望它是这样的:计算 var(DJ4:EH4),除了单元格 = -99。
我尝试了 =Var(DJ4:EH4, <"-99"),但没有作用。
答案1
第一个裂缝是
=VAR(IF(DJ4:EH4=-99, "", DJ4:EH4))
输入此内容后按Ctrl+ Shift+ Enter,使其成为数组公式。
如果您的数据包含任何空白,则会IF(…,"", …)
导致它们被处理为零,因此将其修改为
=VAR(IF((DJ4:EH4=-99)+(DJ4:EH4=""), "", DJ4:EH4))
使用+
“或”的方式组合两个布尔值(因为OR(…)
在数组公式中不起作用)。
我曾想到对于您想要忽略的单元格可能最好使用#N/A
而不是""
,但事实证明这不起作用—— 的VAR(…)
计算结果为#N/A
。
答案2
您已经接近了。输入以下公式,但不要只按Enter
,而要按Ctrl
++ Shift
,Enter
因为这是一个数组公式。
=VAR(IF(DJ4:EH4<>-99,DJ4:EH4))