【问题标题】:How can I multiply lookup values from two different tables and then sum them in just one cell?如何将两个不同表中的查找值相乘,然后在一个单元格中求和?
【发布时间】:2019-07-30 11:22:57
【问题描述】:

我正在尝试在 excel 中获取专用材料表。所以我们有一些产品,这些产品需要特殊的材料。我知道在特定产品中使用了多少以及哪些材料。我也知道哪一年卖了多少,现在我想计算一下这些年需要的材料。因为产品库很大(> 100),因此> 100列,我想使用一些查找或索引功能来自动化乘法。

如图所示,我尝试使用 sumproduct,这在 stackoverflow 的其他问题中也有说明。此 sumproduct 应将一个表中获得的所有值与另一个表中的相应值相乘。我觉得我的前两个匹配函数有些不对劲(再看图片)

The code used:
=SUMPRODUCT(INDEX($B$19:$E$22;MATCH(B$2;$A$19:$A$22;0);MATCH(B$10;$B$18:$E$18;0));INDEX($B$3:$E$5;MATCH($A11;$A$3:$A$5;0);MATCH(TRUE;$B$3:$E$5>0;0)))

图片包含一些额外的信息和实际需要的解释

它需要查找或索引的原因是因为表 3 中的产品总是与表 1 中显示的顺序不同。

我希望这个 sumproduct 尽可能自动化,在此先感谢您:)

【问题讨论】:

    标签: excel indexing excel-formula vlookup sumproduct


    【解决方案1】:

    您可以尝试调整以下内容:

    B11中的公式:

    =SUM(INDEX($B:$B,MATCH($A11,$A$1:$A$5,0)):INDEX($E:$E,MATCH($A11,$A$1:$A$5,0))*TRANSPOSE(B$19:B$22))
    

    作为数组输入,CtrlShiftEnter

    向右和向下拖动到矩阵中。

    旁注:请务必编辑您的问题以包含所有相关信息,包括您自己尝试的公式,作为文本。更容易复制已格式化为 markdown 的粘贴示例数据:)

    【讨论】:

    • 哇,非常感谢您的快速回答!这已经更接近我的问题的答案了!我会尝试处理你的建议。还有一件小事;通过转置表 3,我可能会将表 3 和表 1 中的错误 P 值相乘。在此示例中,它们位于同一列行上,但是,在实际工作表中,它们可能是随机顺序的,如果公式发现 X 列(表 1)上的 P1 乘以 Y 行(表 3)上 RM 的相应 P1 值。
    • @D.Nijland,它适用于您的示例数据:)。那是您提供给我们的信息,所以恐怕这就是答案的基础。
    • 谢谢,它已经很有帮助了。我所说的唯一区别如图所示;其中表 1 的列可以根据情况更改(由于数据透视表)。因此,需要在表3中查找对应的P进行相乘。
    • 我将使用 VBA 函数来规避这个问题。现在表 3 的排序将与表 1 的列类似,以便您始终可以与表 1 的转置数组相乘。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多