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

如何基于产品属性表生成全量SKU组合,简化空值过滤配置

SKU全量属性组合生成方案

方案1:Excel/WPS内置函数实现(适配Office 365/2021+、WPS最新版,无需代码)

核心利用TOCOL函数自动过滤空值,配合LET+数组运算生成笛卡尔积,无需编写大量ISBLANK判断逻辑,配置成本极低:

  • 第一步:单属性有效值提取:对每类属性列(如类型、规格、香味),用=TOCOL(属性列范围,1)提取非空值列表,第二个参数1代表自动忽略所有空单元格,无需额外判断逻辑。
  • 第二步:全组合生成公式(以3类属性为例,可灵活扩展):
=LET(
// 提取各属性非空值列表
attr1,TOCOL(A:A,1), // A列为产品类型列
attr2,TOCOL(B:B,1), // B列为香味列
attr3,TOCOL(C:C,1), // C列为规格列
// 计算各属性值数量
cnt1,ROWS(attr1),cnt2,ROWS(attr2),cnt3,ROWS(attr3),
// 计算总组合数
total,cnt1*cnt2*cnt3,
// 生成所有组合并拼接
INDEX(attr1,INT((SEQUENCE(total)-1)/(cnt2*cnt3))+1)&", "&
INDEX(attr2,INT(MOD(SEQUENCE(total)-1,cnt2*cnt3)/cnt3)+1)&", "&
INDEX(attr3,MOD(SEQUENCE(total)-1,cnt3)+1)
)
  • 第三步:扩展属性只需在公式中新增对应属性的提取、计数变量,调整拼接逻辑即可,无需针对空值单独调试。

方案2:Python轻量脚本实现(适配高频新品迭代场景)

若每月新增SKU品类超过5个,推荐用脚本实现,支持任意数量属性、自动过滤空值,无需每次调整配置:

  • 依赖安装:执行命令pip install pandas openpyxl
  • 核心代码:
import itertools
import pandas as pd

# 读取属性表:第一行是属性名,每列存对应属性的可选值
attr_df = pd.read_excel("产品属性录入表.xlsx")
# 每列过滤空值,生成属性值列表
attr_lists = [attr_df[col].dropna().tolist() for col in attr_df.columns]
# 生成全量笛卡尔积组合
sku_combinations = list(itertools.product(*attr_lists))
# 导出结果
result_df = pd.DataFrame(sku_combinations, columns=attr_df.columns)
result_df.to_excel("SKU全组合结果.xlsx", index=False)
  • 后续新增品类仅需更新属性录入表的内容,运行脚本即可直接输出结果,无需修改代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 05:24:03