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

如何统计A列数据相同且B列、C列数据不同的记录数?

统计A列相同且B、C列不同的记录方法

示例数据

countiesABC
city1102030
city1102131

需求说明:统计A列值相同的分组中,存在至少两条记录B、C列不完全相同的分组数量(示例中city1的A分组符合条件,计数加1)。


Excel 解法

方法1:辅助列+数据透视表

  1. 新增辅助列D,输入公式 =A2&"|"&B2&"|"&C2,下拉填充,将A、B、C拼接成唯一标识。
  2. 插入数据透视表:把A拖到「行」区域,D拖到「值」区域并设置汇总方式为「计数」。
  3. 新增辅助列E,输入公式 =IF(COUNTIF(A:A,A2)>1,1,0),对E列去重后求和,即可得到符合条件的分组数。

方法2:数组公式直接计算

在空白单元格输入以下公式,按Ctrl+Shift+Enter确认:

=SUM(IF(FREQUENCY(IF(COUNTIFS(A:A,A:A,B:B,B:B,C:C,C:C)<COUNTIF(A:A,A:A),MATCH(A:A,A:A,0)),ROW(A:A)-ROW(A1)+1)>0,1))

公式会直接返回符合条件的A分组总数。


SQL 解法

假设表名为your_table:

统计符合条件的分组数

SELECT COUNT(DISTINCT A) AS qualified_groups
FROM your_table t1
WHERE EXISTS (
    SELECT 1
    FROM your_table t2
    WHERE t2.A = t1.A
      AND (t2.B != t1.B OR t2.C != t1.C)
);

统计每个分组的B/C不同组合数

SELECT A, COUNT(DISTINCT CONCAT(B, '|', C)) AS distinct_bc_count
FROM your_table
GROUP BY A
HAVING distinct_bc_count > 1;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 18:37:34