在 Ragic 中,只要数值字段套用了公式运算,不管能不能根据参照的字段计算出结果,例如:参照的来源是尚未填写的内容时,即使运算结果不该为 0,而应该是空值,都会在触发运算后默认回传为 0,就像下图的公式,尽管还没有在 A1 输入任何数据,公式 A1*1 也一样会回传 0 这个数值。
如果你希望一个数值运算公式在参照的字段被填写之前能够保留在空值,就可以使用 ISBLANK 公式来检查参照字段是否为空,再透过 IF 条件式设置要传回的结果。例如:在 A1 还没有输入任何值的时候保留在空值,但如果 A1 有输入数值就计算 A1*1,就可以写下 IF(ISBLANK(A1),"",A1*1)。
如果你的计算可能一次包含多个字段,例如 A1*A2,而且希望每个字段都有值的时候才进行计算,就必须再使用 OR 公式加上原先的 ISBLANK 公式来逐个检查要被参照或计算的字段是否是空值,最后再加上 IF 条件式完成公式的设置。例如:在 A1 和 A2 有至少任一个字段为空时保留在空值,只有 A1 和 A2 都输入值的时候才计算 A1*A2,就可以将公式写成 IF(OR(ISBLANK(A1),ISBLANK(A2)),"",A1*A2)。
利用前面提到的 OR 公式,你可以加入各种不同的条件,如果你希望运算公式字段在计算结果为 0 的时候也改为空值显示,就可以再额外加入“原表达式=0”这个条件。例如:要计算 A1*A2,但是在 A1 跟 A2 都填入值之前保留空值,同时也希望如果 A1*A2 的结果是 0 就让运算结果保留为空值,就可以填入 IF(OR(ISBLANK(A1),ISBLANK(A2),A1*A2=0),"",A1*A2)。