如何处理100多个IF语句

我正在使用MS Excel 2007中的checkbox数组创build一个清单。根据checkbox的数量,有2 ^ 7(= 128)个可能的组合,其中可以selectcheckbox。 每个checkbox组合都会给出一个独特的结果。

什么是最有效的方法来成功testing每个条件,并在工作表中的单元格中给出结果?

示例代码:

=if(and(chkbox1=true,chkbox2=true,chkbox3=false,chkbox4=false,chkbox5=true,chkbox6=false,chkbox7=true),"Unique outcome",if(and(chkbox8=true,chkbox9.............))))))))) 

我有(尝试失败)的方法是使用IF语句。 我试图绕过嵌套的IF限制,通过创build14个具有约9个嵌套IF的命名范围,并在电子表格中的有效嵌套IF中编译14个命名范围。 不幸的是,处理器正在努力计算这个结果(即电脑是“冻结”)。

  • 减less指定范围内嵌套IF的数量(但增加电子表格中嵌套IF的数量)会对效率产生影响吗?
  • 在单元格中使用嵌套的IF而不是命名范围会更好吗?
  • VLOOKUP会工作吗?

目前,我正在考虑使用VBA代码,因为人们曾经说过这将是处理多种条件的最有效方法。 有没有人有任何build议或build议?

为每个TRUE或FALSE结果组成一个10 ,然后为每个可能的二进制值创build一个查找表,并为结果(或行而不是列)创build另一个列。

为了扩大pnuts的答案,你可以用一个公式来实现这个:

 =if(chkbox1=true,1,0)+if(chkbox2=true,2,0)+if(chkbox3=true,4,0)+if(chkbox4=true,8,0)+ ... 

这会给你一个介于0和127之间的值,然后你可以在VLOOKUP函数中使用这个值来从两列表(或者更简单的说,在一个OFFSET函数中从单列列表中获得适当的结果)中获得适当的结果。