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

基于库存位置筛选SKU:Excel自动化处理需求求助

Excel库存表格自动化筛选方案

需求说明

  • 源数据存储在「Full MB52」工作表,包含SKU、库存数量、库存价值、库存位置信息,部分SKU对应多个库存位置
  • 需要生成两张目标表格:
    1. 仅包含位置1的SKU、库存数量及库存价值
    2. 包含位置5和7的SKU、库存数量及库存价值

原方法局限

之前使用的公式 =IF('Full MB52'!D2="0001",'Full MB52'!A2,"") 仅能逐行匹配位置1的SKU,存在以下问题:

  • 需先对位置列排序,否则会出现大量空白行
  • 无法高效处理多位置SKU的筛选需求
  • 手动下拉公式易出错,无法动态更新数据

高效解决方案(动态数组公式)

1. 生成位置1的目标表格

在新工作表的空白单元格(比如A1)输入以下公式,自动返回所有位置为"0001"的完整记录:

=FILTER('Full MB52'!A:C, 'Full MB52'!D:D="0001", "无匹配数据")
  • 说明:A:C 代表源数据中SKU、数量、价值所在的列(可根据实际列调整),D:D 是位置列,公式会自动筛选并输出符合条件的所有行,无需排序或手动下拉。

2. 生成位置5和7的目标表格

在另一新工作表的空白单元格输入以下公式,同时筛选位置5和7的记录:

=FILTER('Full MB52'!A:C, ISNUMBER(MATCH('Full MB52'!D:D, {"0005","0007"}, 0)), "无匹配数据")
  • 说明:MATCH 函数判断位置列是否属于{"0005","0007"},ISNUMBER 转换为布尔值供FILTER筛选,同样自动输出所有符合条件的记录。

如果你的Excel版本不支持动态数组(旧版Excel),可以用以下数组公式(输入后按 Ctrl+Shift+Enter 确认):

=INDEX('Full MB52'!A:C, SMALL(IF(OR('Full MB52'!D:D="0005",'Full MB52'!D:D="0007"), ROW('Full MB52'!D:D)-ROW('Full MB52'!D1)+1), ROW(A1)), COLUMN(A1))

下拉并右拉公式即可填充所有数据,空白单元格表示无更多匹配记录。

内容的提问来源于stack exchange,提问作者Kit Beaupré

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 08:25:04