以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于表达式的计算 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122284) |
-- 作者:jjjeyes -- 发布时间:2018/7/22 11:56:00 -- [求助]关于表达式的计算 我有三列成绩,分别为“成绩一”,“成绩二”,“成绩三”,计算列为“平均值”。 想在“平均值”列计算这三列的平均值,如果三个成绩中只有两个成绩则取两个成绩的平均值,如果只有一个成绩,则直接将这个成绩赋值。在表达式生成器内的公式为:
(IsNull([成绩一],0) + IsNull([成绩二],0) + IsNull([成绩三],0)) / (IIF([成绩一] is null, 0, 1) + IIF([成绩二] is null, 0, 1) + IIF([成绩三] is null, 0, 1)) 但是,如果三列都没有成绩,用上面的公式计算后得到的值为“非数字”。 请教:如果三列成绩都没有,如何让计算结果不显示“非数字”,直接为空值 |
-- 作者:有点甜 -- 发布时间:2018/7/22 16:45:00 -- iif(IIF([成绩一] is null, 0, 1) + IIF([成绩二] is null, 0, 1) + IIF([成绩三] is null, 0, 1)=0, null, (IsNull([成绩一],0) + IsNull([成绩二],0) + IsNull([成绩三],0)) / (IIF([成绩一] is null, 0, 1) + IIF([成绩二] is null, 0, 1) + IIF([成绩三] is null, 0, 1))) |