Excel在索引/匹配/ If / Large命令期间忽略If语句

时间:2018-03-08 01:01:35

标签: excel if-statement excel-formula match multiple-select

我正在尝试创建一个图表,该图表可以找到符合第二个Excel工作表中某些条件的第一个(当时是第二个,第三个,第四个等)最大条目(通过总销售额)的名称。 (即我想找到最好的“苹果”销售价值,并在“欧洲”销售,如果你愿意的话,并向顾客展示这笔最大的销售金额已售出。)

我创建了一些代码,它给出了与工作表上最大值相对应的名称(非常好!)。但是,此名称不符合我的if语句中的条件。

示例代码:=INDEX('Sheet1'!B:B,MATCH(1,INDEX(('Sheet1'!V:V=LARGE(IF(AND('2. Sheet1'!E2:E1000="Apple", 'Sheet1'!W2:W1000="Europe"), 'Sheet1'!V:V, ""), ROWS(C$1:C1)))*(COUNTIF(C$1:C1,'Sheet1'!B:B)=0),),0))

B是具有客户名称的列,V是具有总销售额的列,E是显示所售商品名称的列,W是地理区域的名称,C是列(在新表),其中将重复客户的名称。

我想看到的是在欧洲购买苹果最多的顾客......但是我的销量却超过了所有人。

为了使它更奇怪,如果Sheet1的顶行没有出现“apples”和“Europe”,我会得到#N / A. (但是,如果这些包含在顶行中,则不会发生这种情况。)

有没有人对如何修复有任何想法?

1 个答案:

答案 0 :(得分:1)

在以下样本数据图像中,AB2:AC2中的公式为:

=AGGREGATE(14, 6, (V$2:V$21)/((W$2:W$21=AA2)*(E$2:E$21=Z2)), COUNTIFS(Z$2:Z2, Z2, AA$2:AA2, AA2))
=INDEX(B:B, AGGREGATE(15, 6, ROW($2:$21)/((E$2:E$21=Z2)*(W$2:W$21=AA2)*(V$2:V$21=AB2)), COUNTIFS(Z$2:Z2, Z2, AA$2:AA2, AA2, AB$2:AB2, AB2)))

如果您需要在一个公式中完成所有操作,请将公式从AB2( sans = )替换为AC2公式中AB2的每次出现。

根据需要填写。

enter image description here