计算唯一出现次数
Counting unique occurrences
我正在尝试计算按访问持续时间(第 2 列)出现的 独特 传感器(第 1 列)的数量。以下是一小部分数据:
Sensor ID Implant duration
13113 1
13113 1
13113 1
13144 1
13144 1
13144 2
13144 2
13144 2
13144 2
13144 2
14018 1
12184 2
13052 1
13052 1
12155 2
12155 3
12155 3
13069 2
13069 2
13018 1
13018 1
13019 1
13019 1
13049 1
13054 3
13060 3
13108 2
13108 2
因此计数:
Visit 1
应该是 6
(13113, 14018, 13052, 13018, 13019, 13049),
Visit 2
应为 5
(13144、12184、12155、13069、13108),并且
Visit 3
应该是 3
(12155, 13054, 13060)。
我尝试了 DCOUNTA
但它没有 return 第一次出现的计数,只是植入持续时间为 1、2 或 3 的条目总数。例如它 returns 13 for Visit 1
, 11 for Visit 2
, and 4 for Visit 3
.
我有很多数据需要保留和计算,所以我不想应用过滤器或删除重复项。
我可以逐步完成..不确定这是否有帮助:
我把你的数据放在A列和B列。
在 C 列中:
=CONCATENATE(A2,"#",B2)
D 列:
=IF(C2=C1,"",A2)
E 列:
=IF(C2=C1,"",B2)
F 列:
=IF(D2="","",COUNTIF(D:D,D2))
G 列:
=IF(E2="","",COUNTIF(E:E,E2))
到那时,您就拥有了所需的数据 "flagged" .. 只需提取它即可。
如果我理解这个问题,结果应该是:
访问 1:7 (13113,13144,14018,13052,13018,13019,13049)
访问 2:5 (13144,12184,12155,13069,13108)
访问 3: 3 (12155,13054,13060)
您的示例数据(13113、13144、14018、13052、13018、13019、13049)中似乎有 7 个唯一传感器,用于 访问 ID =1,不是6.
=SUMPRODUCT((B2:B29=1)/(COUNTIFS(B2:B29, 1, A2:A29, A2:A29&"")+(B2:B29<>1)))
=SUMPRODUCT((B2:B29=2)/(COUNTIFS(B2:B29, 2, A2:A29, A2:A29&"")+(B2:B29<>2)))
=SUMPRODUCT((B2:B29=3)/(COUNTIFS(B2:B29, 3, A2:A29, A2:A29&"")+(B2:B29<>3)))
最好将访问 ID 放入一个单元格中,并在所有三个位置引用该单元格。
您可以使用数据透视表,ROWS 为 Sensor ID
,COLUMNS 为 VALUES(计数),Implant Duration
为 COLUMNS,然后在列上应用 =COUNT()。显示哪个传感器(按顺序)、哪个持续时间和组合实例:
我正在尝试计算按访问持续时间(第 2 列)出现的 独特 传感器(第 1 列)的数量。以下是一小部分数据:
Sensor ID Implant duration
13113 1
13113 1
13113 1
13144 1
13144 1
13144 2
13144 2
13144 2
13144 2
13144 2
14018 1
12184 2
13052 1
13052 1
12155 2
12155 3
12155 3
13069 2
13069 2
13018 1
13018 1
13019 1
13019 1
13049 1
13054 3
13060 3
13108 2
13108 2
因此计数:
Visit 1
应该是 6
(13113, 14018, 13052, 13018, 13019, 13049),
Visit 2
应为 5
(13144、12184、12155、13069、13108),并且
Visit 3
应该是 3
(12155, 13054, 13060)。
我尝试了 DCOUNTA
但它没有 return 第一次出现的计数,只是植入持续时间为 1、2 或 3 的条目总数。例如它 returns 13 for Visit 1
, 11 for Visit 2
, and 4 for Visit 3
.
我有很多数据需要保留和计算,所以我不想应用过滤器或删除重复项。
我可以逐步完成..不确定这是否有帮助:
我把你的数据放在A列和B列。 在 C 列中:
=CONCATENATE(A2,"#",B2)
D 列:
=IF(C2=C1,"",A2)
E 列:
=IF(C2=C1,"",B2)
F 列:
=IF(D2="","",COUNTIF(D:D,D2))
G 列:
=IF(E2="","",COUNTIF(E:E,E2))
到那时,您就拥有了所需的数据 "flagged" .. 只需提取它即可。
如果我理解这个问题,结果应该是:
访问 1:7 (13113,13144,14018,13052,13018,13019,13049)
访问 2:5 (13144,12184,12155,13069,13108)
访问 3: 3 (12155,13054,13060)
您的示例数据(13113、13144、14018、13052、13018、13019、13049)中似乎有 7 个唯一传感器,用于 访问 ID =1,不是6.
=SUMPRODUCT((B2:B29=1)/(COUNTIFS(B2:B29, 1, A2:A29, A2:A29&"")+(B2:B29<>1)))
=SUMPRODUCT((B2:B29=2)/(COUNTIFS(B2:B29, 2, A2:A29, A2:A29&"")+(B2:B29<>2)))
=SUMPRODUCT((B2:B29=3)/(COUNTIFS(B2:B29, 3, A2:A29, A2:A29&"")+(B2:B29<>3)))
最好将访问 ID 放入一个单元格中,并在所有三个位置引用该单元格。
您可以使用数据透视表,ROWS 为 Sensor ID
,COLUMNS 为 VALUES(计数),Implant Duration
为 COLUMNS,然后在列上应用 =COUNT()。显示哪个传感器(按顺序)、哪个持续时间和组合实例: