在Excel中使用公式中的范围

我马上给你举个例子。 我有一个列(F)的date为这种格式的文本。 Jan 31, 2014 12:55 PM PST

我可以使用DATEVALUE((LEFT(F5,12))),将这些转换为dateDATEVALUE((LEFT(F5,12))),

但是当我使用这个范围作为countif函数的参数时,我想在飞行中执行这个转换:

 =COUNTIF(Dates!$F:$F,">"&DATE(1,1,2014)) 

:这显然是行不通的,因为我把这个date定为那一栏的文字

假设我使用DATEVALUE((LEFT(F5,12))),将这些date转换为另一列G DATEVALUE((LEFT(F5,12))),

 =COUNTIF(Dates!$G:$G,">"&DATE(1,1,2014)) 

:现在,这将工作

但我想要的东西(这是行不通的)

 =COUNTIF(DATEVALUE(LEFT(Dates!$F:$F,12)),">"&DATE(1,1,2014)) 

有没有可能?

以下将起作用:

 =SUM(IF(DATEVALUE(LEFT(F:F,12)) > DATE(1,1,2014),1,0)) 

作为“数组公式”input(使用ctrl-shift-enter)。

你不能用COUNTIF来做,因为COUNTIF的第一个参数必须是一个范围(并且使用你的DATEVALUE函数会给出一个“数组”)。 您可以使用SUMPRODUCT – 我build议限制范围,而不是使用整列,例如

=SUMPRODUCT((DATEVALUE(LEFT(Dates!$F2:$F1000,12))>DATE(1,1,2014))+0)