date范围内数据的总和,其中date是文本

我有一个以下格式的Excel表格:

在这里输入图像说明

我想用Excel公式回答以下问题:

  • 迪斯尼在11月17日至11月20date间的总和是多less?

我尝试了下面的方法,失败了:

  1. 对数组使用SUMIFS

    =SUMIFS(c4:g8,c3:g3,i1,b4:b8,">="&i2,b4:b8,"<="&i3)

其中i1包含Disney ,i2包含date格式的17-Nov ,i3包含date格式的20-Nov

但是这不起作用,因为我们正在提交一个数组,我们必须指定一个单元格范围。 所以我尝试了以下方法:

  1. 使用SUMIFS的范围:

    =SUMIFS(c4:g8,b4:b8,">="&i2,b4:b8,"<="&i3)

但是,这也不起作用,因为我认为我们正在使用><运营商的文本(表中的date值)。

那么该怎么办?
我应该完全改变表格的格式吗?
我应该把它转换回范围?

您可以使用IndexMatch来select要求和的列。

像这样的东西

 =SUMIFS(INDEX($B$4:$G$8,,MATCH(I1,$B$3:$G$3)),$B$4:$B$8,">="&I2,$B$4:$B$8,"<="&I3) 

您也可以像这样利用表结构化地址
(在Excel 2010中进行了testing,因此Excel 2007中的表格格式可能略有不同)

 =SUMIFS(INDEX(MyTable,,MATCH(I1,MyTable[#Headers])),MyTable[Date],">="&I2,MyTable[Date],"<="&I3) 

这就是Sumproduct()的好处。

 =SUMPRODUCT($C$4:$G$8*($C$3:$G$3=company)*($B$4:$B$8>=startDate)*($B$4:$B$8<=finishDate)) 

在这里输入图像说明

companystartDatefinishDate是A11,B11和C11的命名单元格。 表格和第11行的date是真正的date。

如果将date存储为文本值,则无法计算date范围内的数据。 date需要是真正的date。 文字不能用来定义date范围。

为了更大的灵活性,我会考虑“压扁”数据( 例如 ),然后使用数据透视表过滤设施。