Excel返回一个日期范围的多个值,并汇总一个日期项

时间:2018-12-14 13:33:34

标签: excel date excel-formula calendar

对于这个问题,我有相反的查询:

Excel - Lookup to return multiple values in between date range

在以下链接中也为上述查询提供了解决方案:

https://www.get-digital-help.com/2009/12/13/formula-for-matching-a-date-within-a-date-range-in-excel/

但是我的查询是,对于多个日期范围,如何查找单个日期的总预订量。

我希望建立一个日历,使我能够计算出某天的预订量。所有预订都用于1个或多个项目,我希望整个日期日历范围内的一天中的总项目数。

Date range and total items staying for that date range, with calendar

在右侧的日历上,我希望添加在指定日期内将要停留的总项目。

因此,在示例中,在12月26日,总共有6个商品。在12月5日只有1个,而在12月1日则没有任何物品。

想在右边的日历中显示这些数字。

我尝试使用VLOOKUP,LOOKUP,INDEX和MATCH。 另外,尝试了上述SUMPRODUCT,但这些似乎给出了单个范围和该范围的数字,但没有给出日期范围内的多个值。

https://chandoo.org/wp/range-lookup-excel/

我尝试过的公式是12月26日,是:

=(LOOKUP(H10,((Table1[Date From]):(Table1[Date To])),Table1[Items from]))

=SUMIF(Table1[Item],(LOOKUP(2,1/(Table1[Date From]<=H10)/(Table1[Date To]>=H10))))

=INDEX(Table1[Item from],MATCH(H10,LOOKUP(H10,Table1[[Date From]:[Date To]])))

2 个答案:

答案 0 :(得分:2)

12月26日(并保留原始结构

=SUMIFS(Bookings[[Items]:[Items]],Bookings[[Date From]:[Date From]],"<=" &H10,Bookings[[Date To]:[Date To]],">="&H10)

请注意,我使用了绝对地址结构化的参考表格,因此您至少可以在一行中进行填充/拖动,而无需更改表中的列。

如果您想使事情变得更简单,可以用计算的引用替换H10引用,但要以使用易失函数OFFSET为代价。

=SUMIFS(Bookings[[Items]:[Items]],Bookings[[Date From]:[Date From]],"<=" &OFFSET(H$1,ROW()-2,0),Bookings[[Date To]:[Date To]],">="&OFFSET(H$1,ROW()-2,0))

您也许还可以使用INDEX函数来构造计算单元格引用,该函数将是非易失性的。

答案 1 :(得分:1)

使用数组公式更新答案

很抱歉,您的第一个请求不明白。

您可以在“单个单元格”中使用以下数组公式

{= SUM( IF( (E2 >=$B$2:$B$8 ) * (E2<=$C$2:$C$8) ; $A$2:$A$8 ; 0 ))} 

其中e列包含目标日期,abc列包含itemsfrom和{{1} }。

此公式对于在每个目标日期to都会相对更改的其他单元格是可扩展和可复制的。这很容易适应您的月份表。将公式放在第一个日期下方,然后水平扩展并复制/粘贴到其他行。

查看图片:

new picture with column dates

旧答案

  • 使用目标日期创建一个单独的单元格。假设e2
  • $e$1上创建以下公式:e2
  • 展开并在底部求和。

抱歉,我在图像中用葡萄牙语写了公式(se = if; e = and):

Image