我有一张表格,上面列有个人及其年龄的长名单。从这些数据中,我能够得出所有年龄段的名单,然后计算出每个年龄段的人数。以下是一些简单的示例数据和当前输出。
原始数据
---------------
| ID | Age |
---------------
1 1
2 5
3 10
4 1
5 6
6 3
7 1
8 5
... and so on.
汇总输出
---------------
| Age | Count |
---------------
1 13
2 5
3 2
....
58 5
59 2
60 7
我想对上述汇总数据进行的操作是将其进一步分成 5 组进行汇总。例如,我想找出 1-5 岁、6-10 岁、11-15 岁等的总数,就像下面提供的示例数据一样。
---------------------
| Age Range | Count |
---------------------
1-5 48
6-10 35
11-15 40
...
46-50 25
51-55 19
56+ 17
是否有一个集成的汇总功能可以做到这一点,或者我需要自己对这些数字数据进行分组和汇总?如果我的请求没有直接的目标,我的最终结果是显示这些年龄范围的条形图,因为显示每个年龄的图表太多了。我宁愿有 10 个左右的条形图,而不是 60 多个条形图。可以做到吗?
答案1
方法 1:新建字段并使用数据透视表
向您的数据添加一个新列,并填写以下内容。
=INT((B2-1)/5)*5+1&"-"&(INT((B2-1)/5)+1)*5
或者更好的是,使用这个公式,它将为您提供您要求的“56+”类别:
=IF(B2>55,"56+",INT((B2-1)/5)*5+1&"-"&(INT((B2-1)/5)+1)*5)
您可以使用数据透视表轻松获得所需的摘要。将新字段添加AgeRange
到“行标签”和Count of ID
“值”。
方法二:使用FREQUENCY
函数构建直方图
在您要绘制的年龄范围上设置一列上限,即 {5, 10, ..., 55}。选择相邻列中的单元格,超出上限的底行一个单元格。不更改选择,将以下内容粘贴到公式栏中并按Ctrl+ Shift+ Enter:
=FREQUENCY(B2:B101,E2:E12)
其中,B2:B101
是年龄列,E2:E12
是上限列。
结果:
答案2
这可能不是您正在寻找的,但假设 ID 和 Age 分别位于 A 列和 B 列。将以下公式放在 C2 中
=IF(AND($B2<E$1,$B2>=D$1),1,0)
将年龄分隔符放在第 1 行。
将结果值相加即可得到数字图表。