多工作表物料文本匹配与库存扣减公式求助
解决多站点出库量扣减的Excel公式方案
核心公式(Excel 365/2021 适用)
在Inventory_Details工作表的H5单元格输入以下公式,下拉填充至H105即可:
=G5 - SUM(SUMIFS(INDIRECT("'"&{"Wellfit_site","Nakheel_Mall","站点3","站点4",..."站点16"}&"'!D:D"), INDIRECT("'"&{"Wellfit_site","Nakheel_Mall","站点3","站点4",..."站点16"}&"'!C:C"), B5))
公式说明
INDIRECT("'"&{站点列表}&"'!D:D"):动态生成所有站点工作表的出库量列(D列)引用SUMIFS(..., 站点物料列, B5):针对每个站点,匹配当前行的物料名称(B5),计算该站点的对应出库总量SUM(...):将所有站点的出库总量求和,再从G列的总库存中扣减
旧版Excel兼容方案(无动态数组)
若使用旧版Excel,先在空白区域(比如A1:A16)列出所有16个站点的工作表名称,再在H5输入:
=G5 - SUMPRODUCT(SUMIFS(INDIRECT("'"&A1:A16&"'!D:D"), INDIRECT("'"&A1:A16&"'!C:C"), B5))
解决文本匹配失败问题
- 统一文本格式:检查B列(物料名称)与各站点C列(物料描述)是否存在空格、大小写差异或特殊字符,可通过
TRIM函数统一处理,修改后的公式示例:=G5 - SUM(SUMIFS(INDIRECT("'"&{站点列表}&"'!D:D"), TRIM(INDIRECT("'"&{站点列表}&"'!C:C")), TRIM(B5))) - 处理特殊工作表名称:若站点名称含空格/特殊字符,公式中
'单引号必须保留(已在公式中自动添加),确保正确引用工作表 - 新增站点扩展:后续新增站点时,只需在数组(365版)或A1:A16列表(旧版)中添加站点名称即可,无需修改公式主体
验证技巧
- 单独验证单个站点的匹配结果:比如输入
=SUMIFS(Wellfit_site!D:D, Wellfit_site!C:C, B5),确认该站点的出库量计算是否正确 - 避免错误值:若部分物料无出库记录,可添加
IFERROR确保公式返回正常结果:=G5 - IFERROR(SUM(SUMIFS(...)), 0)
内容的提问来源于stack exchange,提问作者Taimur Falak
相关产品推荐
相关产品推荐

