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

Google Sheets:求占总销售额80%的高贡献客户列表公式需求

筛选贡献80%销售额的高价值客户(Google Sheets方案)

实现逻辑

由于客户已按销售额降序排列,核心是找到累计销售额首次达到或接近总销售额80%的客户分组:

  1. 计算总销售额的80%作为阈值
  2. 逐行计算累计销售额
  3. 定位累计值首次跨越阈值的位置,提取该位置及之前的所有客户

无辅助列公式方案

在空白单元格输入以下公式(假设数据范围为A2:B,A列客户名、B列销售额,首行为表头):

=INDEX(A2:B, SEQUENCE(MATCH(TRUE, SCAN(0, B2:B, LAMBDA(acc, val, acc+val)) >= SUM(B2:B)*0.8, 0)), {1,2})

公式拆解

  • SUM(B2:B)*0.8:计算总销售额的80%阈值
  • SCAN(0, B2:B, LAMBDA(acc, val, acc+val)):生成逐行累计销售额数组
  • MATCH(TRUE, ... >= ..., 0):找到累计值首次≥阈值的行索引
  • SEQUENCE(...):生成从1到目标索引的连续行号
  • INDEX(A2:B, ..., {1,2}):提取对应的客户名称和销售额

兼容旧版函数的方案(需辅助列)

若无法使用SCAN函数:

  1. 在C2单元格输入累计公式并下拉:=SUM($B$2:B2)
  2. 用QUERY提取目标客户:
=QUERY(A2:C, "SELECT A,B WHERE C >= "&SUM(B2:B)*0.8&" LIMIT 1", 0)

如需提取所有累计值接近80%的客户,可调整为:

=QUERY(A2:C, "SELECT A,B WHERE C <= "&(SUM(B2:B)*0.8 + INDEX(C:C, MATCH(TRUE, C:C >= SUM(B2:B)*0.8, 0)) - SUM(B2:B)*0.8)&" ORDER BY B DESC", 0)

问题排查(针对你之前的异常情况)

  • 引用范围错误:确认公式引用的是完整数据列(如B2:B而非B2:B5),否则会遗漏后续客户
  • 累计计算未锁定起始行:辅助列累计公式需锁定起始行($B$2),否则下拉时累计范围会偏移
  • 排序失效:重新确认数据是否严格按销售额降序排列,排序错误会直接导致累计逻辑偏差

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 13:50:07