我的代码有太多嵌套语句
基本上我有1个单元与100个单元进行比较,而这100个单元有自己的值,而Excel只有最多64个循环。 有什么建议吗?
A = B =>> X = B1
A = C =>> X = C1
A = D =>> X = D1
A = E =>> X = E1
IF(L2=S2,T2,IF(L3=S3,T3,IF(L4=S4,T4,IF(L5=S5,T5,IF(L6=S6,T6,IF(L7=S7,T7,IF(L8=S8,T8,IF(L9=S9,T9,IF(L10=S10,T10,IF(L11=S11,T11))))))))))
谢谢!
答案 0 :(得分:2)
我认为表查找比一堆ifs简单得多:
=HLOOKUP(Value,{"Cond1","Cond2","Cond3";"Res1","Res2","Res3"},2,FALSE)
或
=VLOOKUP(Value,{"Cond1","Res1";"Cond2","Res2";"Cond3","Res3"},2,FALSE)
如果你的条件和结果是连续的范围,那就更简单了
答案 1 :(得分:1)
Excel中存在7个嵌套if
的硬限制。
Here is a trick增加此限制。
答案 2 :(得分:0)
以下数组公式可能有所帮助:
={INDEX(A1:H1;1;MIN((IF(L3:R3=S3:Y3;COLUMN(B1:H1);""))))}
L3:R3
数据数组1被比较
S3:Y3
数据阵列2被比较
B1:H1
数据数组的对应值
INDEX
将找到第1行的interction和与找到的第一个匹配对应的列的值。数组的大小应该匹配,否则公式将给出#N/A
。
使用Shift-Ctrl-Enter插入公式,曲线括号由Excel插入,而不是由用户插入。