Excel 对格式为文本的日期列的计算

Excel 对格式为文本的日期列的计算,excel,date,excel-formula,sumifs,Excel,Date,Excel Formula,Sumifs,我需要根据另一列中的日期范围计算一列中的总和 =SUMIFS(Data!$A:$A,Data!$B:$B,">4/1/2014") 需要注意的是,其他人正在将日期列作为文本加载(无法控制)。更糟糕的是,我无法创建另一个类似 =DATEVALUE($A1) 因为我不能期望这个人在每次添加新数据时都填写这个公式 我唯一的想法是对整个列应用DATEVALUE,可能是作为数组公式或类似的格式。这可以通过使用更笨重但功能极其通用的SUMPRODUCT函数实现: =SUMPRODUCT((DATE

我需要根据另一列中的日期范围计算一列中的总和

=SUMIFS(Data!$A:$A,Data!$B:$B,">4/1/2014")
需要注意的是,其他人正在将日期列作为文本加载(无法控制)。更糟糕的是,我无法创建另一个类似

=DATEVALUE($A1)
因为我不能期望这个人在每次添加新数据时都填写这个公式


我唯一的想法是对整个列应用DATEVALUE,可能是作为数组公式或类似的格式。

这可以通过使用更笨重但功能极其通用的
SUMPRODUCT
函数实现:

=SUMPRODUCT((DATEVALUE(Data!$B:$B)>DATE(2014;1;4))*Data!$A:$A)

它所做的是确定一个包含所有单元格的数组,其中包含
DATEVALUE()>DATE(…)
,然后将该数组中的真/假项与数据相乘。

似乎DATEVALUE()在SUMPRODUCT中不起作用。我尝试了
=SUMPRODUCT(-DATEVALUE($B:$B)>DATE(2014,1,4)),$A:$A
,得到了一个#值!当
=SUMPRODUCT(-($B:$B)>日期(2014,5,7))时出错,$A:$A)
工作正常。想法?你的所有条目都在列日期中吗?或者是否存在无法转换为日期的列标题或类似内容?好的,我认为这与该列中的空单元格有关。有效:
=SUMPRODUCT(--(日期值($B1:$B11)>日期(2014,5,7)),$A1:$A11)
不起作用:
=SUMPRODUCT(--)(日期值($B:$B)>日期(2014,5,7)),$A:$A)
听起来像是这样的解释。然后最简单的方法可能是使用一个动态命名范围:
=SUMPRODUCT(--(日期值(rng列B)>日期(2014,5,7)),rng列A)
其中rng_ColumnB是
=OFFSET($B$1,,,COUNTA($B:$B))
可能有一种[更好的]方法来测试空格,但我似乎无法让IFERROR()或IF()在SUMPRODUCT()中工作。