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

Excel中用COUNTIFS统计每位客户交易次数的方法(4.5万行数据)

统计每个Customer ID的交易次数解决方案

针对45000行的交易数据,以下是几种高效可行的方法,解决你之前尝试的方法失效问题:

方法一:数据透视表(推荐,大数据量最优)

这是处理这类统计需求最简便的方式,无需复杂公式:

  • 选中包含Customer ID和Transaction Date的整个数据区域(包括表头)
  • 点击菜单栏的插入 → 数据透视表,选择放置透视表的位置(新工作表或当前工作表空白处)
  • 在透视表字段面板中:
    • 将Customer ID拖到行区域
    • 将Customer ID拖到值区域,默认会显示计数项:Customer ID,这就是该客户的交易次数
  • 若值区域显示的是求和,右键点击值区域单元格 → 值字段设置 → 选择计数即可

方法二:动态数组公式(Excel 365/2021及以上版本)

利用Excel的动态数组功能自动生成唯一客户ID及对应交易次数:

  1. 获取所有唯一客户ID:在空白单元格(比如D2)输入
    =UNIQUE(A:A)
    
    会自动向下填充所有不重复的Customer ID(注意排除表头,若A1是表头,可写=UNIQUE(A2:A45001)更精准)
  2. 对应交易次数:在E2输入
    =COUNTIF(A:A, D#)
    
    这里的D#是动态引用,会自动匹配D列的每个唯一ID,生成对应的交易次数;也可以用更简洁的合并公式:
    =BYROW(UNIQUE(A2:A45001), LAMBDA(cust, COUNTIF(A:A, cust)))
    
    输入后会直接在单元格下方生成所有客户的交易次数,与UNIQUE的结果一一对应

方法三:兼容旧版Excel的数组公式

如果使用的是Excel 2019及更早版本,可通过以下步骤实现:

  1. 获取唯一客户ID:在D2输入数组公式(输入后按Ctrl+Shift+Enter确认,不要直接回车)
    =INDEX(A:A, MATCH(0, COUNTIF(D$1:D1, A:A), 0))
    
    下拉公式直到单元格显示#N/A,此时D列就是所有不重复的Customer ID
  2. 统计交易次数:在E2输入
    =COUNTIF(A:A, D2)
    
    下拉公式即可得到每个客户的交易次数

关于你之前方法失效的原因说明

  • 使用COUNTIFS结合ID与日期布尔比较:你实际统计的是每个客户在特定日期的交易次数,而非客户的总交易次数,所以切换ID后会因为日期组合唯一导致结果错误
  • 拼接ID与日期后用UNIQUE:得到的是所有唯一的交易记录(ID+日期),并非唯一客户ID,自然无法统计每位客户的总交易次数
  • SUMPRODUCT结合COUNTIF报错:大概率是拼接后的文本格式问题,或者公式引用范围错误,这种方法本身就不是最优解

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 21:22:39