我有一个大型Excel文件(30K行)的以下摘录,我需要统计选票,每个选民可以在70个列表中投票选出最多3个候选人。
col_1 col_2 col_3 vote_status
16 0 0 Invalid - Incorrect ballot number
31 25 66 Success
35 25 66 Valid
35 0 25 Valid - duplicate candidates
查看这些数据,您将看到第一个示例,特定选民在第一列中投票选出候选人编号16,在第二和第三列投票选出任意人。但是,由于这次投票的地位,投票不应该算在内。有三种可能的有效状态:"成功","有效"和"有效 - 重复候选人"。
第2行中的选民投票选出第1列候选人31,第2栏第25候选人和第3栏第66候选人。第3行中的选民与之前的选民基本相同,只是他在第3栏中投了候选人35 1.第四次投票中的重复候选人是候选人35,投票时间被替换为0,因此将被排除在计票之外,但该行的其他两个候选人投票有效。
如何使用Excel以以下格式生成结果列表:
candidate col_1 col_2 col_3
16 0 0 0
25 0 2 1
31 1 0 0
35 2 0 0
66 0 0 2
结果甚至不必列在列中,只要结果是正确的,就更容易做到,即:0票16票,3票25票,1票31票,2票赞成66和3票对66。
我尝试了sumif
,countif
,sumifs
,countifs
和sumproduct
函数的各种组合,但无济于事。
希望你能帮忙吗?
答案 0 :(得分:1)
我会为你做其中一个,剩下的应该差不多了。我正在为候选人16工作,我将假设“"候选人"是纸张上的单元格A1" Sheet2"和#34; Sheet1"正是你在上面发布的内容。
单元格B2的内容是:
=COUNTIFS(Sheet1!A:A,Sheet2!$A2,Sheet1!$D:$D,"Success") + COUNTIFS(Sheet1!A:A,Sheet2!$A2,Sheet1!$D:$D,"Valid") + COUNTIFS(Sheet1!A:A,Sheet2!$A2,Sheet1!$D:$D,"Valid - duplicate candidates")
它是三个独立的证券的总和,每个都有两个条件。候选人的条件,然后是状态。每个人的候选条件相同,投票状态不同。