我需要确定发动机的成本,具体取决于它将使用哪些部件。
我有一张纸,每张发动机型号都有每件零件的成本。有3种发动机型号和近500种零件(!零件)。
在另一张纸上,我尝试将所有各种零件组合的值相加。 (!EngineCost)。我使用" 1"表明包含该部分。我从每个发动机尺寸的零件和总数中获取价格。
目前我手动完成这项工作(见下文)。有更好的方法吗?
= IF(O3 = 1,'零件'!$ R 6 $" 0&#34)+ IF(P3 = 1,'零件'!$ R $ 7," 0&#34)+ IF(Q3 = 1,'零件'!$ R 8 $," 0&#34)
谢谢!
的链接答案 0 :(得分:1)
我的第一个预感是你可以使用以下公式:
=SUMIFS(O3:O6, 1, 'Parts'!$R$6:$R$8)
当'Parts'!$R$6:$R$8
中的相应单元格等于1时,对O3:O6
中的值求和。
然而,正如@simoco指出的那样,你有一个转置 - 一个数组相对于另一个转置。这使得这一点更具挑战性。您需要两个步骤:
以下可以做到:
=SUMPRODUCT((O3:Q3=1), TRANSPOSE('Parts'!$R$6:$R$8))
作为数组公式输入*);或者,利用矩阵乘法实际上是行向量与列向量的元素乘法,然后取总和的事实:
=MMULT(I3:K3,IF(G4:G6=1,1,0))
再次输入数组公式*)。
* )通过在PC上按ctrl-shift-enter或在Mac上按cmd-shift-enter输入数组公式。