如果需要解决IF的多层嵌套,特别是超过7层的嵌套,把条件作为一个辅助表,然后用函数VLOOKUP来查询最佳。
假定辅助工作表名为“条件”,根据条件返回数据所在表名为“数据”。
在“条件”表中——A列为名称,a、b......;B列为数值1、2.......。
在“数据”表中——A列为名称,a、b......(与“条件”表A列的数据顺序是不同的);B列为根据A列名称到“条件”表查询返回的数值。
在“数据”列的B2单元格粘贴公式=VLOOKUP(A2,条件!$A:$B,2,0),向下填充到相应的单元格即可。
简单的可以是
=vlookup(A2, {"a",1;"b",2;"c",3},2,0)
上面的公式有一点不好的是,如果A2是空的,或者是a b c之外的值的话,公式单元格就显示N/A
如果不希望显示N/A,加上if判断一下
=if(or(A2="a",A2="b",A2="c"), vlookup(A2, {"a",1;"b",2;"c",3},2,0), "")
vlookup和lookup的返回结果有一点不同,就是当输入的不是数组中的数据时,vlookup不返回值,而lookup返回最接近的值