电子表格中相互依赖的variables
假设我有一个inputvariablesx
和三个参数a,b,c
,使得:
- 给定
b
c = f(x,a,b)
对某些(已知)函数f
c = f(x,a,b)
有c = f(x,a,b)
- 给定
c
b = g(x,a,c)
对于一些(已知的,不同的)函数g
,有b = g(x,a,c)
。
我想在电子表格(例如Excel)中对此进行build模。 更确切地说,如果用户提供x,a
和b
则c
将被评估,如果给定c
,则b
将被评估。 看起来这不能直接实现,因为一个单元格可以保存一个值或一个公式。
有没有规范的方法来做到这一点? 如果不是,那么最佳实践解决方法是什么(可能是一些VBA魔术)?
您可以将input字段从计算值中分离出来,并添加一些仅使用互斥字段之一的validation,例如:
在我的例子中,我使用以下条件格式来突出无效input:
=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)))