使用2个标准汇总小时数

时间:2015-08-18 16:26:09

标签: excel excel-formula

我希望将摘要表添加到捕获时间表数据的工作簿中。

时间表表的布局类似于下面的屏幕截图,其中每行代表一天,然后一个人的总工作时间分布在C到E列中,这些列由seg2的唯一组合标识和seg3代码:

enter image description here

因此,第一列(C)具有201& S的独特组合。 303,总共19.9小时,然后(D)具有201和20的独特组合。 301总共5.9小时然后(E)具有202&的独特组合。 303总共11.2小时。

我的摘要表将如下面的屏幕截图所示;其中列出了seg2和seg3代码的每种可能组合:

enter image description here

我正在寻找的是总结表中针对" 1月营业时间"将对其行进行Seg2和Seg3代码组合的列...

enter image description here

然后将其与时间表表格中使用了Seg2和Seg3代码的单元格范围进行比较:

enter image description here

找到匹配的地方......

enter image description here

我希望它返回低于它的小时范围的总和......

enter image description here

...返回该独特Seg2和Seg3组合的总小时数:

enter image description here

然后我会拖动填充手柄以完成摘要表的所有公式" 1月时"列。

我设法使用SUMPRODUCT使用单个seg代码执行此操作,但尚未找到如何针对2个条件(即2个seg代码)执行此操作。

2 个答案:

答案 0 :(得分:1)

INDEX / MATCH可以处理双向匹配 - 是否需要重新排序"几小时?如果时间表中的Seg2 / Seg3总计总是在同一个地方,这将查看总小时数:

= INDEX(!时间表$ C $ 2:$ E $ 10,9,MATCH($ A2&安培; $ B2,时间表$ C $ 2:$ E $ 2和$ C $ 3:$ C $ 3,0))

编辑:忘记注意这是一个数组公式

答案 1 :(得分:1)

通过将INDEX函数的row参数留空,可以查找整个列。请参阅以下公式,然后使用 CTRL + SHIFT + ENTER

输入
=SUM(INDEX($C$4:$E$8,,MATCH($G2,IF($H2=$C$2:$E$2,$C$1:$E$1),0)))

enter image description here

请注意,此公式总结了示例中建议的表格中的所有值,而不仅仅是日期为1/1/2015的值。