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

如何识别存在多种重量分类的采购订单(PO)

识别包含多种重量分类的采购订单方法

核心逻辑很明确:统计每个采购订单(PO)下的重量分类种类数,筛选出种类数大于1的PO即可。以下是两种实用实现方式:

方案1:用Excel快速处理

如果数据存储在Excel/CSV中,按以下步骤操作:

  • 确保数据结构为每行对应1个PO下的单个SKU,列至少包含「采购订单号」和「重量分类」
  • 方法A(辅助列):
    添加新列「分类种类数」,输入数组公式(输入后按Ctrl+Shift+Enter生效):
    =SUMPRODUCT(($A$2:$A$1000=A2)/COUNTIF($B$2:$B$1000&$A$2:$A$1000,$B$2:$B$1000&$A$2:$A$1000))
    
    公式里的A$2:$A$1000替换为你的PO号列范围,B$2:$B$1000替换为重量分类列范围。之后筛选「分类种类数」>1的行,对应的PO就是目标对象。
  • 方法B(数据透视表):
    1. 插入数据透视表,行字段选「采购订单号」,值字段选「重量分类」
    2. 右键值字段→「值字段设置」→计算类型选「非重复计数」
    3. 筛选透视表中「非重复计数」>1的PO,即为需要识别的对象

方案2:用Python批量处理(适合大量数据)

如果数据量极大(数千份PO),用Python脚本效率更高,示例代码如下(假设数据是CSV格式):

import pandas as pd

# 读取采购订单数据,替换为你的文件路径
df = pd.read_csv("purchase_orders.csv")

# 按PO分组,统计每个PO的重量分类种类数
po_class_stats = df.groupby("po_number")["weight_class"].nunique()

# 筛选出分类种类数大于1的PO
target_pos = po_class_stats[po_class_stats > 1].reset_index()

# 输出结果或保存到文件
print("需识别的采购订单:")
print(target_pos)
target_pos.to_csv("target_purchase_orders.csv", index=False)

注意事项

  • 无论用哪种方法,必须保证PO号格式统一(避免同一个PO出现"PO123"和"po123"两种写法)
  • 如果数据来自ERP系统,直接导出「PO号+SKU重量分类」的明细数据即可,无需提前汇总

内容的提问来源于stack exchange,提问作者Francisco Augusto Varela Aguir

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 14:25:18