求助:Excel中计算两行数据间的唯一匹配数量
解决Excel彩票猜中号码统计(去重)问题
你的问题出在当前公式会重复计算开奖号码中出现多次的数字,导致统计结果偏高。要实现仅统计用户选中的、在开奖记录中出现过的唯一号码数量,可以用以下两种方案:
方案1:使用UNIQUE函数(Excel 365/2021及以上版本)
直接提取开奖记录中的唯一号码,再统计用户选中的数量:
=SUMPRODUCT(--(COUNTIF(B2:K2, UNIQUE(Draws!$B$2:$G$18))>0))
公式解释:
UNIQUE(Draws!$B$2:$G$18):从开奖区域提取所有不重复的中奖号码。COUNTIF(B2:K2, ...):检查每个唯一中奖号码是否在用户的选号范围内(存在则返回≥1,不存在则返回0)。--(...)>0:将存在的结果转为1,不存在的转为0。SUMPRODUCT:把所有1相加,得到用户猜中的唯一号码总数。
方案2:兼容旧版Excel(无UNIQUE函数)
如果你的Excel版本不支持UNIQUE,可以用数组公式实现去重统计:
=SUMPRODUCT(--(ISNUMBER(MATCH(B2:K2, Draws!$B$2:$G$18, 0))/COUNTIF(Draws!$B$2:$G$18, Draws!$B$2:$G$18)))
公式解释:
MATCH(B2:K2, Draws!$B$2:$G$18, 0):判断用户选号是否出现在开奖记录中。COUNTIF(Draws!$B$2:$G$18, Draws!$B$2:$G$18):计算每个开奖号码出现的次数。ISNUMBER(...) / ...:将重复出现的开奖号码权重设为1/出现次数,确保每个唯一号码仅被统计一次。SUMPRODUCT:求和后得到最终的唯一猜中数量。
注意事项:
- 旧版Excel输入数组公式后,需要按
Ctrl+Shift+Enter确认(而非仅Enter)。 - 确保开奖区域
Draws!$B$2:$G$18没有空白单元格,否则可能影响统计结果。
内容的提问来源于stack exchange,提问作者Gm33
相关产品推荐
相关产品推荐

