前几年注册:Excel COUNTIF和RETURN为X年

时间:2018-03-22 21:44:02

标签: arrays excel excel-formula countif

在尝试@ Dude_Scott的建议后更新截图:

Desired output of data is in the blue table.

我们的数据包括1989年至2016年间注册的用户。 所有人都至少登记过一次。 有些是每年注册,有些则是跳过年。 我们的问题是每年查看以前用户注册的年数。 我们希望每年的结果为0yr,1yr,2yr,3yr等。 数组工作正常。

我用这种方式在Excel中组织了数据结构:

1)UserID All Years

对于1989年,结果为0,因为这是数据收集的第一年。

1990年,该公式返回预期的数量:

=COUNT(IF($B$2:$B$11613=1989,1/COUNTIFS($A$2:$A$11613,$A$2:$A$11613,$B$2:$B$11613,1989)))

从1991年开始,我被绊倒了:我找不到多年了。 这个公式不起作用:

=COUNT(IF(AND(OR($B$2:$B$11613=1989,1990,1/COUNTIFS($A$2:$A$11613,$A$2:$A$11613,$B$2:$B$11613,1989,1990)))))

我在哪里争论“COUNTIF 0年,1年,2年”等。先谢谢。 --f66

2 个答案:

答案 0 :(得分:0)

由于您使用COUNTIF,我假设您也可以使用SUMPRODUCT。在下面的屏幕截图中我使用了这个公式

=SUMPRODUCT(($A$2:$A$11=$D3)*($B$2:$B$11<=F$2))&" yr"

如果没有工作簿的示例,那么确定数据输出应该是什么样子有点困难,但要试一试。

旁注,我建议将用户ID和年份更新为表格格式并给它一个命名范围,这样就不会使用数组公式迭代数万行。

enter image description here

答案 1 :(得分:0)

我可能读错了,但这似乎是数据透视表的简单用例!

  1. 选择您的数据范围
  2. 将USERID设置为行标题
  3. 将YEARS设为列标题
  4. :t (.) . (.)设为您的值
  5. 我不再使用excel了,但是下面是使用google工作表上的测试数据执行此操作的输出链接。

    Google sheets pivot table for dummy data