You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

统计A列同值对应B列双值情况及Excel玩家对阵记录查询问题

需求1:统计A列取值相同时,B列存在两个对应值的次数

适用Excel 365/2021及以上版本

公式如下,可直接修改范围适配你的实际数据:
=SUM(--(BYROW(UNIQUE(A2:A1000),LAMBDA(x,COUNTA(UNIQUE(FILTER(B2:B1000,A2:A1000=x))))>=2))
说明:

  • 把A2:A1000、B2:B1000替换为你实际的A、B列数据范围
  • 公式默认统计对应B列至少有2个不同值的A值数量,如果需要统计恰好有2个的场景,把>=2改为=2即可

适用低版本Excel(无LAMBDA/UNIQUE函数)

用SUMPRODUCT实现的公式,解决了普通SUMPRODUCT重复计数的问题:
=SUMPRODUCT(--(COUNTIFS(A:A,A2:A1000,B:B,"<>"&B2:B1000)>0)/COUNTIF(A:A,A2:A1000))
说明:公式通过COUNTIFS判断相同A值下是否存在不同B值,再通过除以同A值的总计数实现去重统计。


需求2:查询8808玩家是否与E5向下罗列的所有玩家都有对阵记录

默认规则:对阵记录的两个玩家分别存储在B、C两列,如果你的存储列不同,可自行替换公式中的列号。

适用Excel 365/2021及以上版本

可直接返回结果,未对阵的玩家还会自动罗列:
=LET(opps,FILTER(E5:E1000,E5:E1000<>""),cnt_total,COUNTA(opps),cnt_matched,SUMPRODUCT(--(COUNTIFS(B:B,8808,C:C,opps)+COUNTIFS(B:B,opps,C:C,8808)>0)),IF(cnt_total=cnt_matched,"是","否,未对阵玩家:"&TEXTJOIN("、",,FILTER(opps,COUNTIFS(B:B,8808,C:C,opps)+COUNTIFS(B:B,opps,C:C,8808)=0))))

适用低版本Excel

返回TRUE代表全部对阵过,返回FALSE代表存在未对阵的玩家:
=SUMPRODUCT(--(COUNTIFS(B:B,8808,C:C,E5:INDEX(E:E,COUNTA(E:E)))+COUNTIFS(B:B,E5:INDEX(E:E,COUNTA(E:E)),C:C,8808)>0))=COUNTA(E5:INDEX(E:E,COUNTA(E:E)))


注意事项

  • 所有公式中的数据范围可根据你的实际行数调整,缩小计算范围能提升运行效率
  • 如果对阵玩家的存储列不是B、C,替换公式内的对应列号即可

内容的提问来源于stack exchange,提问作者Ed Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 06:45:03