3

我有一个包含太多嵌套语句的代码

基本上我有 1 个单元格与 100 个单元格进行比较,这 100 个单元格有自己的值,而 Excel 最多只有 64 个 if 循环。有什么建议么?

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))))))))))

谢谢!

4

3 回答 3

2

我认为查表比一堆 if 简单得多:

=HLOOKUP(Value,{"Cond1","Cond2","Cond3";"Res1","Res2","Res3"},2,FALSE)

或者

=VLOOKUP(Value,{"Cond1","Res1";"Cond2","Res2";"Cond3","Res3"},2,FALSE)

如果您的条件和结果是连续范围,则更简单

于 2013-05-20T08:47:57.947 回答
1

ifExcel中嵌套的硬限制为 7 。

这是增加此限制的技巧。

于 2013-05-20T08:34:22.203 回答
0

以下数组公式可能会有所帮助:

={INDEX(A1:H1;1;MIN((IF(L3:R3=S3:Y3;COLUMN(B1:H1);""))))}

L3:R3正在比较的数据数组 1 正在比较的
S3:Y3数据数组 2 数据数组的
B1:H1对应值

INDEX将从第 1 行和与找到的第一个匹配项对应的列的交集中找到值。数组的大小应该匹配,否则公式将给出#N/A.

公式是使用 Shift-Ctrl-Enter 插入的,大括号是由 Excel 插入的,而不是由用户插入的。

于 2013-05-20T09:04:08.807 回答