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

带附加条件的Pivot table行求和:产品销售稀疏度分析实现问询

pivot table

销售稀疏度计算实现方案

计算逻辑拆分

你需要的指标本质是产品上市后动销率,计算逻辑可以拆分为三步:

  • 定位每款产品的首次销售日期,即对应产品行第一个出现1的单元格对应的日期列
  • 截取该产品行中首次销售日期及之后的所有销售记录
  • 用截取范围内1的总和,除以截取范围内的总日期数,得到最终销售稀疏度

常用工具实现方法

方案1:Excel/WPS表格实现

假设表格结构为:A列存储产品名称/ID,B列及之后为对应日期的销售标记(1代表有销售,空值代表无销售),第1行B1、C1……为日期值,数据从第2行开始。

  1. 计算单款产品首次销售日期:在空白列(如Z列)Z2单元格输入公式:
    =INDEX($B$1:$AA$1,MATCH(1,B2:AA2,0))
    公式中$B$1:$AA$1为日期行的总范围,B2:AA2为当前产品的销售标记行范围,可根据你实际的表格宽度调整范围值
  2. 计算首次销售日后的销售总天数:在AA2单元格输入公式:
    =SUMIF($B$1:$AA$1,">="&Z2,B2:AA2)
  3. 计算首次销售日后的总日期数:在AB2单元格输入公式:
    =COUNTIF($B$1:$AA$1,">="&Z2)
  4. 计算最终稀疏度:在AC2单元格输入公式:
    =AA2/AB2
    选中Z2到AC2单元格,下拉填充所有产品行即可完成批量计算。

方案2:Python Pandas实现

如果数据量较大,可通过Python批量处理,示例代码如下:

import pandas as pd

# 读取原始表格数据,设置第一列为产品索引,第一行为表头
df = pd.read_excel("你的原始表格路径.xlsx", index_col=0)

def calc_product_sparsity(row):
    # 定位当前产品首次销售的日期
    first_sale_date = row[row == 1].index.min()
    # 截取首次销售日之后的所有销售记录
    post_first_sale_data = row.loc[first_sale_date:]
    # 返回稀疏度计算结果
    return post_first_sale_data.sum() / post_first_sale_data.count()

# 新增销售稀疏度列
df["销售稀疏度"] = df.apply(calc_product_sparsity, axis=1)

# 导出计算结果
df.to_excel("销售稀疏度计算结果.xlsx")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:15:03