COUNTIFS公式计算唯一记录,其中范围包含指定年份标准内的日期

时间:2014-10-27 15:19:45

标签: excel date

我已经谷歌搜索了几个小时试图创建一个COUNTIFS公式:

  1. 计算表格范围内的唯一记录
  2. ,其日期在
  3. 之后的4年内
  4. 参考单元格中的一年
  5. 这是我到目前为止所做的:=COUNTIFS(dte_degr_conferred2,"<="&YEAR('Student Success and Progress'!$G$1)+4)但它不正确我已经尝试了几种变体

    请注意:dte_degr_conferred2列包含日期,'Student Success and Progress'!$G$1包含4位数年份

    非常感谢

4 个答案:

答案 0 :(得分:0)

也许你的意思是数组公式**

=SUM(IF(FREQUENCY(IF(dte_degr_conferred2<>"",IF(YEAR(dte_degr_conferred2)='Student Success and Progress'!G1,dte_degr_conferred2)),dte_degr_conferred2),1))

此致

**数组公式的输入方式与&#39;标准&#39;相同。公式。您只需按住CTRL和SHIFT键,然后按ENTER键,而不是按ENTER键。如果您已正确完成,您会注意到Excel在公式周围放置了大括号{}(尽管不要尝试自己手动插入这些括号)。

答案 1 :(得分:0)

试着找出你需要的东西(你可能会过度复杂)。以下是使用COUNTIFS公式比较日期的示例。此公式已输入单元格 E6 ,设置如下:

=COUNTIFS($B$2:$B$6,"<="&E3+4,$B$2:$B$6,">="&E3)

enter image description here

答案 2 :(得分:0)

我有一个更简单的解释:

=COUNTIF(dte_degr_conferred2,">="&DATE('Student Success and Progress'!$G$1+4,1,1))

答案 3 :(得分:0)

&#34;计数独特&#34;要求使这成为一个有趣的问题。

以下是我提出的建议:

=SUM(
  IF(
   FREQUENCY(
    IF((YEAR(ddc)>=ssp!$G$1) + (YEAR(ddc)<ssp!$G$1+4) = 2, ddc, ""),
    IF((YEAR(ddc)>=ssp!$G$1) + (YEAR(ddc)<ssp!$G$1+4) = 2, ddc, "")
   )>0,
   1
  )
 )

...其中ddcdte_degr_conferred2ssp'Student Success and Progress'(当发布到SO时,它有助于将问题简化为基本要素,因为这样可以更容易回应,并使其更具普遍用途。)

以数组公式输入: Ctrl + Shift + Enter

示例

enter image description here

在此示例中,有三个不同的日期符合条件:05/12 / 2014,09 / 12/2014和05/26/2012。

工作原理:

创建数组公式时,在将它们连接到数组之前单独计算它们会很有用。我在这里这样做了:

enter image description here

C列是=(YEAR(A1)>=$B$1) + (YEAR(A1)<$B$1+4)(向下复制)。在Excel中,TRUE为1且FALSE为0,因此您可以将布尔值一起添加。如果A1介于B1B1+4之间,则两个操作数均为TRUE,TRUE + TRUE = 2。

D列是=IF(C1=2,A1,"")(向下复制)。这会抓取符合条件的数据。 (我格式化为数字以突出显示Excel将日期存储为数字的事实。)

E栏是=SUM(IF(FREQUENCY(D1:D10,D1:D10)>0,1))。有关此方法的说明,请参阅http://office.microsoft.com/en-us/excel-help/count-occurrences-of-values-or-unique-values-in-a-data-range-HP003056118.aspx

我在顶部的解决方案将所有这些组合成一个单一的数组公式。