EXCEL数组SUM IF多个条件的唯一组合

时间:2017-11-29 21:18:21

标签: arrays excel unique

是否可以根据表格创建数组公式,以便在求和之前搜索不同的数据组合?以下是一些示例数据:

   |    A     |     B     |     C     |     D     |
---------------------------------------------------
 1 | 1 Jun    | Charlie   | D         | 1.3       |
 2 | 1 Jun    | Charlie   | N         | 1.4       |
 3 | 1 Jun    | Dave      | D         | 1.3       |
 4 | 2 Jun    | Charlie   | N         | 0.6       | 
 5 | 2 Jun    | Dave      | D         | 1.5       |

我希望数组公式能够做的是查看表,忽略列B并告诉我哪些不同的行(A,C和D或更多标准)和总和列D(如果它们是唯一的)。在这个例子中,它不应该对第3行求和,因为在6月1日,“D”已经有1.3。

PivotTables和VBA已经出局,因为我正在为超级限制性计算机上的最低级别用户设计这个。

编辑:预期结果的图片,更改样本数据以反映结果。 Expected Results

我正在寻找的数据类型....我用LName替换ID以进行可视化。我需要排除个人,只能通过他们的模式获得飞机时间。你可以看到图像的底部,一个飞机上有2个人。我使用MAX来避免使用它并缩短工作时间。

左边的等级是日期,飞机,航班号,然后是人。我需要将小时数汇总到每个日期的航班号。

Pivot Table

原始公式是

=SUM((FLTD_HRS)*(FLTD_DATE>=$D$3)*(FLTD_DATE<=$D$4)*(IF(FLTD_ACFT_MDS=CONFIG!$F$8,1,0)))
然而,实际上,并没有让我获得独特的航班。我更喜欢数组公式到数据透视表.... XD

2 个答案:

答案 0 :(得分:0)

  1. 使用A,C和D的独特组合创建一个表。这可以假设有限或至少不变,但您也可以添加您可能拥有的每个组合并添加IF(row =“”, “”,x)到不显示的公式。
  2. 您可以在第一个表中添加新列(E),然后在新表中查找值或在新表中计算。

     E = SUMIFS(D$3:D$30,A$3:A$30,A3,C$3:C$30,C3,D$3:D$30,D3)
    E1 = {=INDEX(A$3:E$30,MATCH(G3&H3&I3,A$3:A$30&C$3:C$30&D$3:D$30,0),5)}
    E2 = SUMIFS(D$3:D$30,A$3:A$30,G3,C$3:C$30,H3,D$3:D$30,I3)
    
  3. enter image description here

答案 1 :(得分:0)

我最终创建了一个计算表,通过连接我想要匹配的字段为每个航班创建一个唯一的密钥,并通过搜索“VALID_PC”来搜索重复项,该“VALID_PC”搜索了机组人员的最高等级。我在K和L列中使用的公式是:

=IF(IFERROR(MATCH(H3,VALID_PC,0),"0"),A3&RIGHT(C3,5)&D3&E3,0)

=IFERROR(IF(A2=0,0,IF(COUNTIF($K$2:K3,K3)>1,0,1)),0)

这允许我对主页上的L列是否有1做一个简单的{= SUM}。

Calculations Sheet

我非常感谢您为帮助我而提供的帮助和努力。