excel,从1表中获取数字,并根据第2表中的条件求和

excel,从1表中获取数字,并根据第2表中的条件求和,excel,excel-formula,Excel,Excel Formula,我有两张桌子: name date param if DO03 1999-05-01 1,18 no AM01 1999-05-02 2,15 no AM01 1999-05-03 1,98 no AM01 1999-05-04 2,05 yes MA03 1999-05-05 1,50 no MA02 1999-05-05 1,45 yes AM01 1999-05-07 2,22

我有两张桌子:

 name   date    param   if
DO03    1999-05-01  1,18    no
AM01    1999-05-02  2,15    no
AM01    1999-05-03  1,98    no
AM01    1999-05-04  2,05    yes
MA03    1999-05-05  1,50    no
MA02    1999-05-05  1,45    yes
AM01    1999-05-07  2,22    no
AM02    1999-05-08  1,56    no
SA02    1999-05-09  1,60    yes
MA03    1999-05-11  1,05    yes
MA02    1999-05-12  1,52    no
SA01    1999-05-13  2,17    yes
CY01    1999-05-14  2,00    yes
SA03    1999-05-15  0,97    yes
MA03    1999-05-16  1,11    no
DO01    1999-05-18  1,89    yes
MA01    1999-05-19  1,95    no
AM03    1999-05-20  0,95    yes
AM03    1999-05-21  1,20    yes
SA01    1999-05-23  1,90    no
AM01    1999-05-24  1,97    no
DO01    1999-05-25  2,10    yes
SA03    1999-05-26  1,15    no
AM01    1999-05-27  2,12    yes
DO02    1999-05-28  1,47    yes
CY03    1999-05-29  0,94    no
CY02    1999-05-30  1,48    no

我想做的事。 我想计算所有产品的总价格,其中“是”值为

f、 e.当第一个表中有“是”(所以第一个是AM01)时,我想从第二个表中获得该产品价格,另一个表中有“是”,另一个表中有“是”,等等。。 并将其求和为一个值。 我试过sumif,sumifs,但这比通常的sumif练习要难一点。 如有任何建议,我将不胜感激

编辑:遗忘-当我通过vlookup函数为每一行获取这个价格时,我设法使用temp列,然后对这个新列求和。但是有什么方法可以在一个命令中实现这一点吗?

您可以在SUMPRODUCT中使用SUMIF():

=SUMPRODUCT((D2:D28="yes")*(SUMIF(G2:G16,A2:A28,J2:J16)))
但您可能会使用
而不是
作为标准之间的限定符,因此使用以下内容:

=SUMPRODUCT((D2:D28="yes")*(SUMIF(G2:G16;A2:A28;J2:J16)))

看起来您需要先输入一个VLookup,然后进行计算,或者结合IF,VLookup,然后将该列与该计算相加。使用您提供的样本数据,您的预期总数是
222
(每个唯一的“yes”值仅对“yes”值求和一次“yes”值)还是
290
(对每个“yes”值求和)值(不考虑重复项)?290,不考虑重复项。如果可行,可以创建用户定义的函数。
=SUMPRODUCT((D2:D28="yes")*(SUMIF(G2:G16;A2:A28;J2:J16)))