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

Excel按A列分组判断B/C/D列全同的公式问题求助

Excel分组判断组内行一致性问题

原公式错误原因

你用的公式=IF(COUNTIFS(A:A;$A$2;B:B;$B$2;C:C;$C$2;D:D;$D$2)>1; "Yes"; "No")全返回"Yes"的核心问题是绝对引用的错误使用:

  • $A$2、$B$2这类绝对引用会让所有行都固定和第2行的B/C/D值做匹配,只要当前分组内存在至少一行和第2行的B/C/D一致(大部分场景都满足),就会触发>1的条件,返回"Yes",完全没实现“组内所有行B/C/D完全一致”的判断逻辑。

解决方案

解法1:直接用COUNTIFS+COUNT实现(无需辅助列)

在E2单元格输入以下公式,下拉填充即可:

=IF(COUNTIFS(A:A;A2;B:B;B2;C:C;C2;D:D;D2)=COUNTIF(A:A;A2);1;0)

逻辑说明:

  1. COUNTIF(A:A;A2):统计当前A列分组的总行数
  2. COUNTIFS(A:A;A2;B:B;B2;C:C;C2;D:D;D2):统计当前分组内,与当前行B/C/D值完全匹配的行数
  3. 若两个数值相等,说明组内所有行的B/C/D值完全一致,返回1;否则返回0

解法2:用VLOOKUP实现(需辅助列)

如果一定要用VLOOKUP,可通过辅助列配合实现:

  1. 新增辅助列F,在F2输入公式并下拉:
    =A2&B2&C2&D2
    
    该公式将分组标识(A列)与B/C/D列的值合并为唯一字符串,用于后续匹配判断。
  2. 在E2输入公式并下拉:
    =IF(VLOOKUP(A2;A:F;6;FALSE)=F2;IF(COUNTIF(A:A;A2)=COUNTIF(F:F;F2);1;0);0)
    
    逻辑说明:
    • VLOOKUP(A2;A:F;6;FALSE):查找当前分组(A2)对应的第一个合并字符串(F列)
    • 先判断当前行的合并字符串是否与分组首个合并字符串一致,再验证该合并字符串在组内的出现次数是否等于分组总行数,双重满足则返回1,否则返回0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 09:33:04