我以前有一个这样的公式:
=IF(ISBLANK(A2);"";
IF(A2="Not Available";"";
IF(AND(A2="TypeA";B2=1,1);"ANModel1";
IF(AND(A2="TypeA";B2=1,5);"ANModel2";
IF(AND(A2="TypeA";B2=2,2);"ANModel3";
IF(AND(A2="TypeA";B2=3);"ANModel4";
IF(AND(A2="TypeA";B2=4);"ANModel5";
IF(AND(A2="TypeB";B2=0,55);"FNModel1";
IF(AND(A2="TypeB";B2=0,75);"FNModel2";
IF(AND(A2="TypeB";B2=1,1);"FNModel3";
IF(AND(A2="TypeB";B2=1,5);"FNModel4";
IF(AND(A2="TypeB";B2=2,2);"FNModel5";""))))))))))))
B2
是基于A2
而计算的,因此,如果A2
为空,则B2
也为空。如果A2
是非空白的,则B2
也是如此。只需进行1张ISBLANK
支票。
就像那样,只有更多的选择,因此可维护性开始看起来像雷区。我通过将数据提取到表中来修复了其中的 most ,
Type Power Part
TypeA 1,1 ANModel1
TypeA 1,5 ANModel2
TypeA 2,2 ANModel3
TypeA 3 ANModel4
TypeA 4 ANModel5
TypeB 0,55 FNModel1
TypeB 0,75 FNModel2
TypeB 1,1 FNModel3
TypeB 1,5 FNModel4
TypeB 2,2 FNModel5
并使用像这样的数组公式来找到正确的部分:
{=INDEX(Data!$A$2:Data!$C$11;MATCH(1;(Data!$A$2:Data!$A$11=A2)*(Data!$B$2:Data!$B$11=B2);0);3)}
同样,这是一个数组公式,请注意{}
。
通常我只使用VLOOKUP
,但是如果您需要使用2个单元格作为参数,我不知道如何使它工作。当前的方法对此没有问题。
效果很好,除了可用于缺少的ISBLANK
函数。而且我不能像普通函数那样将其添加到数组函数中。
当第一个用作参数的单元格(或其中一个/两个,请参见上面的说明)为空时,如何通过显示空单元格而不显示返回代码来实现提供的数组公式的功能?>
当前使用的是Microsoft Excel2013。升级不会在圣诞节之前进行,因此,我正在明确地寻找适用于该版本的解决方案。