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

LibreOffice Calc/Excel 匹配商品后提取对应行最新成本公式咨询

通用动态提取最新采购成本公式方案

LibreOffice Calc 适用公式(你的当前场景)

在comprasDet表的ctUnit列对应单元格(以第2行为例)输入以下公式,可直接向下拖拽批量填充:

=LOOKUP(2,1/(INDIRECT("$productos."&MATCH(D2,$productos.D:D,0)&":"&MATCH(D2,$productos.D:D,0))<>""),INDIRECT("$productos."&MATCH(D2,$productos.D:D,0)&":"&MATCH(D2,$productos.D:D,0)))

公式逻辑说明

  • 内层MATCH(D2,$productos.D:D,0)自动匹配当前D列商品在productos表中对应的行号
  • INDIRECT函数将匹配到的行号动态拼接为整行引用,不需要指定固定列范围,完美兼容后续新增的价格列
  • 外层LOOKUP逻辑保持你原有的验证可用的规则,自动提取匹配行最右侧的非空值,即最新登记的单位成本

总采购成本(ctTot)计算

假设采购数量存放在comprasDet表的C列,ctUnit单位成本存放在E列,第2行ctTot公式为:
=E2*C2
直接向下拖拽即可批量计算所有行的总采购成本

Excel 兼容适配版公式

如果需要在Excel中使用,仅需把跨表引用的.替换为!即可,逻辑完全一致:

=LOOKUP(2,1/(INDIRECT("productos!"&MATCH(D2,productos!D:D,0)&":"&MATCH(D2,productos!D:D,0))<>""),INDIRECT("productos!"&MATCH(D2,productos!D:D,0)&":"&MATCH(D2,productos!D:D,0)))

注意事项

  • 如果productos表的商品名称存储列不是D列,将公式中对应的$productos.D:D(Excel版为productos!D:D)替换为实际存储商品名的列范围即可
  • 匹配无结果时会返回错误值,可根据需要嵌套IFERROR自定义返回内容,比如无匹配时返回空白:=IFERROR(原有公式,"")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:27:05