如何在Excel中判断某一Key的所有Value是否全部匹配?
判断同一Key下所有Value是否完全一致的Excel公式
需求说明
需要单个单元格公式,支持下拉填充整列,自动判断任意行数的同一Key分组下所有Value是否完全相同,输出“是”或“否”。
解决方案
假设Key列是A列,Value列是B列,结果列是C列,根据Excel版本选择对应公式:
适用于Excel 365/2021(支持动态数组)
在C2单元格输入以下公式,直接下拉填充即可:
=IF(COUNTIFS(A:A,A2,B:B,"<>"&B2)=0,"是","否")
原理:COUNTIFS(A:A,A2,B:B,"<>"&B2)统计当前Key(A2)对应的所有行中,Value不等于当前行Value(B2)的数量。若数量为0,说明该Key下所有Value完全一致,返回“是”;否则返回“否”。
适用于旧版Excel(如2019及更早版本)
若Excel不支持动态数组,可使用SUMPRODUCT函数(注意将数据范围调整为实际行区间,比如A$2:A$1000):
=IF(SUMPRODUCT((A$2:A$1000=A2)*(B$2:B$1000<>B2))=0,"是","否")
原理:通过数组运算统计同Key下Value不一致的行数,结果为0时表示所有Value一致。
效果验证
对应示例数据,使用公式后结果列会自动生成符合预期的内容:
| Key | Value | 该Key的所有Value是否全部匹配? |
|---|---|---|
| 1 | 1 | 是 |
| 2 | 1 | 否 |
| 2 | 2 | 否 |
| 3 | 3 | 是 |
| 3 | 3 | 是 |
| 3 | 3 | 是 |
公式无需提前对Key排序或分组,下拉后每一行都会自动判断对应Key的Value一致性。
内容的提问来源于stack exchange,提问作者Michael Dahle
相关产品推荐
相关产品推荐

