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

按仓库及Style优先级标记库存阶段(Bin/Putaway)需求

按虚拟仓库+款号批量标记库存状态的解决方案

核心逻辑回顾

按「Virtual warehouse(虚拟仓库)+ Style(款号)」分组:

  • 若组内任意一行的Stage为"Bin",则组内所有行新列标记为"Bin"
  • 若组内无任何一行Stage为"Bin",则标记为"Putaway"

方法1:Excel公式实现

适用于Excel 365/2021及以上(动态数组支持)

直接在新列第一行输入公式,自动填充所有行:

=BYROW(A2:C10, LAMBDA(row, IF(COUNTIFS(A:A, INDEX(row,1), B:B, INDEX(row,2), C:C, "Bin")>0, "Bin", "Putaway")))

替换A2:C10为你的实际数据区域即可。

适用于旧版Excel(无动态数组)

输入数组公式后按Ctrl+Shift+Enter,再下拉填充:

=IF(SUMPRODUCT(($A$2:$A$10=A2)*($B$2:$B$10=B2)*($C$2:$C$10="Bin"))>0, "Bin", "Putaway")

方法2:Power Query实现(大数据量首选)

如果数据量较大,用Power Query效率更高:

  1. 选中数据区域,点击「数据」选项卡→「从表格/区域」导入Power Query
  2. 点击「转换」选项卡→「分组依据」:
    • 分组列:勾选Virtual warehouse和Style
    • 新列名:输入HasBin,操作选「行计数」,筛选条件设为[Stage] = "Bin"
  3. 点击「主页」→「合并查询」→「合并为新查询」,选择原表和分组后的表,匹配列选Virtual warehouse和Style
  4. 展开合并后的列,只保留HasBin字段
  5. 添加自定义列:
    if [HasBin] > 0 then "Bin" else "Putaway"
    
  6. 删除多余列,点击「关闭并上载」将结果导回Excel

方法3:SQL实现(数据在数据库中时)

假设表名为inventory,字段对应virtual_warehouse、style、stage,用窗口函数快速标记:

SELECT 
    virtual_warehouse,
    style,
    stage,
    CASE 
        WHEN MAX(CASE WHEN stage = 'Bin' THEN 1 ELSE 0 END) OVER (PARTITION BY virtual_warehouse, style) = 1 
        THEN 'Bin' 
        ELSE 'Putaway' 
    END AS inventory_status
FROM inventory;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 08:25:24