【发布时间】:2016-05-31 10:22:33
【问题描述】:
基于两个输入条件,我希望能够输出 4 个输出值中的 1 个。例如,在检查两个表之间的匹配时,我希望能够访问如下函数:
=TRUTHTABLE(condition1,condition2,true-true,true-false,false-true,false-false)
做一些类似的事情:
=TRUTHTABLE(MATCH(value,array1,0),MATCH(value,array2,0),"Good","Missing","Redundant","Good")
到目前为止,我提出的两个选项是:
=IF(条件1,IF(条件2,真-真,真-假),IF(条件2,假-真,假-假))
或:
=CHOOSE(1--condition1*2--condition2,false-false,false-true,true-false,true-true)
由于条件 2 的重复,选项 1 维护起来很麻烦,而选项 2 很复杂,以便将来的维护者理解。我目前倾向于选项 2,但有人知道更好的选项吗?
【问题讨论】:
-
您只处理 4 个选项,因此管理起来相对较小。您可以将表格写成 4 行 3 列,条件 1 的 A 列可能结果与 B 列中条件 2 的可能结果相匹配。每一对/行形成一个唯一标识符。然后,您只需查看表中条件 1 和条件 2 为真的行,并从匹配行中的 C 列返回结果。
-
如果我只使用该公式一两次可能会起作用,但我计划在一列的每一行重复数百个单元格高。
-
A potentially easier way to manage multiple if results 而不是进入嵌套 IF 表。只要您的四个可能结果保持不变,您就应该能够将公式复制到您的数据列旁边。
-
谢谢。今天下午我会尝试这种方法。
-
您的问题中让我想起这一点的部分是未来的可维护性。是的,这个公式可能很疯狂,但是您要检查的表格相对容易维护。
标签: excel formula truthtable