假设我有一个输入变量x
和三个参数a,b,c
,这样:
b
,某些(已知)函数c = f(x,a,b)
已f
c
我们对某些(已知的,不同的)函数b = g(x,a,c)
有g
。我想在电子表格(例如Excel)中对此进行建模。更确切地说,如果用户提供x,a
和b
,那么将评估c
,如果c
被给出,则将评估b
。似乎无法直接实现这一点,因为单元格可以 值或一个公式。
是否有规范方式来执行此操作?如果没有,什么是最佳实践解决方法(可能是一些VBA魔术)?
答案 0 :(得分:1)
您可以将输入字段与计算值分开,并添加一些验证,只使用其中一个互斥字段,例如:
在我的示例中,我使用了以下条件格式来突出显示无效输入:
=AND($B$4<>"", $B$5<>"")
我按照公式计算了值:
=B2
=B3
=IF(AND($B$4<>"", $B$5<>""), "#ERROR: only 1 value can be specified",
IF($B$4<>"", $B$4, $B$5-1))
=IF(AND($B$4<>"", $B$5<>""), "#ERROR: only 1 value can be specified",
IF($B$5<>"", $B$5, $B$4+1))
更一般地说:
=if(error_condition, error_message, if(b_is_not_empty, b, g(x,a,c)))