如何根据表格中的标准来总结小时数(Excel)

不得不“表”我Excel

ABCDEF 1 Category Project Hours 2 Project C1 C2 P1 10 3 P1 x P2 20 4 P2 x P3 30 5 P3 xx 6 P4 x 

A2:C6显示项目清单。 每个项目都属于多个类别
E2:F4显示每个项目花费的时间

我正在寻找一种方法来总结每个类别所花费的时间。 答案是显而易见的(40小时和50小时),但我不知道如何构build一个工作公式,这将提供答案

  HI 1 Category Sum Hours 2 C1 40 3 C2 50 

有任何想法吗 ?

这是SUMIF一个简单的应用程序。 您可以在I2中input=SUMIF(B3:B6;"x";$F2:$F5) ,并相应地修改其他类别。 如果将公式彼此相邻而不是彼此相邻,则可以将公式复制到另一个公式中。

我build议你以下面的方式改变表格:

  ABCDEF 1 =SUMIF1 =SUMIF2 Project Hours 2 Project C1 C2 Hours P1 10 3 P1 x =VLOOKUP P2 20 4 P2 x =VLOOKUP P3 30 5 P3 xx =VLOOKUP 6 P4 x =VLOOKUP 

SUMIF1公式为=SUMIF(B3:B6;"x";$D3:$D6)SUMIF2是复制过来的。 这将适用于你select的任何标签。 D3VLOOKUP公式是=VLOOKUP(A3;$E$2:$F$4;2;FALSE) 。 请注意,这将有一个#NA的D6,因为没有小时P4。 解决这个问题,你有一个相对普遍的解决scheme。

SUMPRODUCT()对于这种情况似乎是不错的select。 如果允许对结果栏进行轻微修改,则公式将变得更加简单。 在H2中input此公式,然后复制到I2。

  =SUMPRODUCT((B$2=H$1)*(B$3:B$6="x")*($F$2:$F$5)) 

快照显示数据和结果

我已经将INDEX, MATCHSUMPRODUCT结合起来照顾Pnumbers。 进入H2修改公式是:

 =(SUMPRODUCT((B$2=H$1)*(B$3:B$6="x")*($F$2:$F$5)))*((INDEX($A$3:$A$6,MATCH($E2,$A$3:$A$6))=$E2)*1) 

下一步将包括由IFERROR错误捕获。

编辑并入IFERROR公式是。

 =IFERROR((SUMPRODUCT((B$2=H$1)*(B$3:B$6="x")*($F$2:$F$5)))*((INDEX($A$3:$A$6,MATCH($E2,$A$3:$A$6))=$E2)*1),0) 

基于来自skkakker和chthonicdaemon的非常启发性的答案,我想出了这个解决scheme,工程。 谢谢!

=SUMPRODUCT(COUNTIFS($A$3:$A$6,$E$2:$E$4,INDEX($B$3:$C$6,0,MATCH($H2,$B$2:$C$2,0)),"x"),$F$2:$F$4)