【问题标题】:Sumproduct with lookup array带有查找数组的 Sumproduct
【发布时间】:2022-11-23 06:44:43
【问题描述】:

在一张Total Value 上,我在A2:A21 中有一个程序集列表。在列标题 B1:BA1 中,我列举了一年中的 52 周。我需要用每周用于每个组件的组件的总值填充此矩阵。

对于每个程序集12...20,在 A 列 (@987654336) 中都有一个具有相应名称(即'1''2'...'20')的工作表@) 组件列表 (ID) 和 B 列 (N!B1:...) 组装所需的组件数量。

此外,我还有另一张工作表CV,其中包含按周列出所有组件值的表格 - CV!A2:A200 包含组件 ID,CV!B1:BA1 枚举周数。

我正在尝试为 Total Value 中的每个装配/周交叉点提出一个动态公式,它将根据给定周内那些组件的值求和每个组件所需的数量(来自相应的装配表),在@中给出987654342@。

如果只有一个程序集,并且 CV 只包含该程序集所需的组件,那么这将是一个简单的 SUMPRODUCT。数组 1 将包含组件的组件数量,而数组 2 将包含该周的组件值。就我而言,CV 是一个没有特定顺序的长列表。我需要 SUMPRODUCT 中的第二个数组来精确查找该周数组 1 中组件的值。

我什至不知道如何开始这个。有任何想法吗?

【问题讨论】:

  • 我试图重现您的表格结构,但不是很清楚。您能否附上您的表结构图片并手动显示一个计算来为我们说明。
  • 谢谢你看这个。我添加了说明性图像。关于计算,在 Total Value 中,对于第 1 周的第 1 次组装,我们将第二个表中的组件数量乘以第 1 周相应组件的值,如 CV 表中给出。我限制了图像中的行数/列数以使事物可见,但实际上,CV 将包含数百个组件。

标签: excel


【解决方案1】:

嗨,在单元格“总价值”中试试这个公式!B2:

=SUMPRODUCT(IFNA(VLOOKUP(间接("'"&$A2&"'!A2:A200"),CV!$A$1:$BA$200,B$1+1,0),0),间接("'" &$A2&"'!B2:B200"))

如果我理解正确,它应该可以工作

【讨论】:

  • 谢谢你。我已经手动完成了一些测试计算,这会返回不同的数字。我认为 VLOOKUP 返回的数组中的组件值与第二个数组的组件数量不匹配。
  • 您好,感谢您的测试,您能再做一次吗? :D 忘记使 Vlookup 完全匹配(我在原始答案中对其进行了编辑)我在我的版本和前几个结果中对其进行了测试,看起来不错,但请再次检查:=SUMPRODUCT(IFNA(VLOOKUP(INDIRECT("'"& $A2&"'!A2:A200"),CV!$A$1:$BA$200,B$1+1,0),0),INDIRECT("'"&$A2&"'!B2:B200"))
猜你喜欢
  • 1970-01-01
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多