仅在第一次出现值时计算符合多个条件的行

问题描述 投票:1回答:1

我有一个包含列ID和AGE的表PEOPLE以及与此问题无关的其他列。我可以有两个具有相同ID的行(如果修改了非相关列的一个数据,则会发生这种情况,我会复制该行以保留历史记录。不幸的是,我无法修改此行为并将年龄放入另一个表中。)

我想要实现的是,只有当ID首次出现时才按年龄计算人数。我试着这样做(我使用countifs因为我正在检查多个列,但这里只有AGE相关):

=COUNTIFS(PEOPLE[AGE];AGE_DISTRIBUTION[AGE])

其中AGE_DISTRIBUTION[AGE]包含年龄值。

只要我没有重复的ID,这样就可以正常工作,但是当我复制行时,公式会计算这些重复项。我该如何避免这种情况(即仅计算每个ID的首次出现)

这导致如下所示:

人员表:

| ID | Age | ... |
|  1 |  32 | ... |
|  2 |  42 | ... |
|  1 |  32 | ... |

AGE_DISTRIBUTION表:

| Age | Count |
| ... | ...   |
|  32 | 2     |  <-- here I should have 1 and not 2
| ... | ...   |
|  42 | 1     |
| ... | ...   |

预先感谢您的帮助。

旁注:我不能使用数据透视表。

excel-formula
1个回答
0
投票

我不太确定这是不是你的意思,但是:

enter image description here

使用的公式转换为:

{=SUM(--(FREQUENCY(IF(Table1[AGE]=[@AGE],Table1[ID]),Table1[ID])>0))}

请注意,这是一个数组公式,应通过CtrlShiftEnter输入

在消费时:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.