将vlookup公式与条件组合成一个公式

时间:2017-04-05 18:49:04

标签: if-statement google-sheets vlookup

我正在尝试组合4种不同的数组公式。我在这个网站上尝试了一些建议,但它们没有用。

这是我试过的一对夫妇:

ARRAYFORMULA(IF(AND(K6>0,K6<=15),VLOOKUP(D5,Data!$F$2:$L$7,2,FALSE),0))  
ARRAYFORMULA(IF(AND(K6>=16,K6<=99),VLOOKUP(D5,Data!$F$2:$L$7,3,FALSE)))*K6
ARRAYFORMULA(IF(AND(K6>=100,K6<=249),VLOOKUP(D5,Data!$F$2:$L$7,4,FALSE)))*K6
ARRAYFORMULA(IF(AND(K6>=250,K6<=499),VLOOKUP(D5,Data!$F$2:$L$7,5,FALSE)))*K6

希望有人可以帮助制定这个公式。

2 个答案:

答案 0 :(得分:0)

首先要提到的是ArrayFormula的使用在你的公式中什么都不做。所以我在我的解决方案中摆脱了它。

我已经制作了帮助表,使其成为一个公式:

enter image description here

然后我做了3个步骤。

步骤1.查找vlookup

使用带有排序表的vlookup查找要返回的列数:

=VLOOKUP(K6,$R$2:$T$5,2)

步骤2.找到乘数

我在第一个公式中看到你没有乘以*K6

但是你需要一个公式来匹配所有条件。所以我们使用数字power

  1. K6 ^ 0 = 1
  2. K6 ^ 1 = K6
  3. 为了获得力量,我再次使用了我的助手表:

    =VLOOKUP(K6,$R$2:$T$5,3)

    步骤3.组合公式

    最后一件事是在一个公式中完成所有这些:

    =IF(AND(K6>0,K6<=499),VLOOKUP(D5,Data!$F$2:$L$7,VLOOKUP(K6,$R$2:$T$5,2),FALSE),0) *K6^VLOOKUP(K6,$R$2:$T$5,3)

    我仍然使用if-and来防止公式的vlookup部分出错。

答案 1 :(得分:0)

只是为@Max Makhrov添加一个选项。我修改了'IF'语句,将'^'放在核心VLOOKUP部分中。如果K6违反了if-and规则,则最终的“^”VLOOKUP可能会出错,因为越界。所以

=IF(AND(K6>0,K6<=499),VLOOKUP(D5,Data!$F$2:$L$7,VLOOKUP(K6,$R$2:$T$5,2),FALSE)*K6^VLOOKUP(K6,$R$2:$T$5,3),0)