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

如何在Excel中编写AverageIFS公式实现同Client ID销售额合并求平均

按客户维度计算平均订单价值的解决方案

你需要的是客户级别的平均订单价值——先计算每个客户的总销售额,再对这些客户总销售额求平均值,而非所有订单的简单平均。以下是不同工具下的具体实现方法:

Excel 实现

假设你的Client ID在A列,销售额在B列,可直接用动态数组公式一步计算:

=AVERAGE(SUMIF(A:A, UNIQUE(A:A), B:B))
  • UNIQUE(A:A):提取所有不重复的客户ID
  • SUMIF(A:A, UNIQUE(A:A), B:B):对每个唯一客户的销售额求和,得到一组客户总销售额数据
  • AVERAGE(...):对这些客户总销售额求平均

也可以用数据透视表分步操作:

  1. 选中数据区域,插入数据透视表
  2. 将Client ID拖到「行」区域,销售额拖到「值」区域并设置为「求和」
  3. 对透视表中生成的客户总销售额列,用AVERAGE()函数计算平均值

SQL 实现

假设你的销售表名为sales,包含client_id和sales_amount两列,用嵌套查询实现:

SELECT AVG(total_sales) AS avg_customer_order_value
FROM (
    SELECT client_id, SUM(sales_amount) AS total_sales
    FROM sales
    GROUP BY client_id
) AS customer_totals;
  • 子查询SELECT client_id, SUM(sales_amount) ... GROUP BY client_id:按客户分组,计算每个客户的总销售额
  • 外层查询AVG(total_sales):对所有客户的总销售额求平均

Python Pandas 实现

假设你的数据集已加载为DataFramedf,列名为Client ID和Sales:

# 按客户分组计算总销售额
customer_totals = df.groupby('Client ID')['Sales'].sum()
# 计算客户级别的平均订单价值
avg_customer_value = customer_totals.mean()

print(avg_customer_value)
  • groupby('Client ID')['Sales'].sum():按客户分组,聚合计算每个客户的总销售额
  • .mean():对所有客户的总销售额求平均

以你给出的示例数据验证:

  • A1总销售额:1000+100=1100;A2:2000;A3:4000
  • 客户总销售额平均值:(1100+2000+4000)/3 = 7100/3 ≈ 2366.67,符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:50:26