2014-01-15 74 views
2

当A2:A100中的单元格满足特定条件时,我想将相应值乘以一个因子,对于不同的条件,将相应值乘以不同因子,例如当A2 = :根据标准计算的总和单元

"Banana" then B2*C2 but when 
"Apple" then B2*C3 but when 
"Pear" then B2*C4 

并将这些结果总和在一个单元中。

所以当A2 =“香蕉”和A3 =“梨”我想要这样:=B2*C2+B3*C4

ColumnA中条件的相应值在ColumnB(匹配行)中,C2,C3和C4包含适合条件的因子。

我已经尝试过一个大公式,但是这让我喜欢永远,当我在ColumnA中输入更多的值时,我必须调整该公式。

+0

我不能使用vba或visual basic,我没有真正的编程经验,只能在excel – user3197770

+0

是啊那就是我想要的 – user3197770

+0

请尝试:'= B2 * IF(A2 =“香蕉”,C $ 2,IF A2 =“Apple”,C $ 3,IF(A2 =“Pear”,C $ 4,0)))'拷贝下来(然后求和)。 – pnuts

回答

1

请尝试:

=SUMIF(A:A,"Apple",B:B)*C3+SUMIF(A:A,"Banana",B:B)*C2+SUMIF(A:A,"Pear",B:B)*C4 

糟糕 - 但用分号,而不是逗号!

+0

那一个做了诡计,非常感谢! – user3197770

+1

只要C2:C4是一个连续的范围,按照例子,那么你也可以这个版本= SUMPRODUCT(C2:C4; SUMIF(A:A; {“Banana”;“Apple”;“Pear”}} ; B:B))' –

+0

@barry我认为这是一种不同的(当然更好)答案。我的'借口'是,在撰写本文时,要求并不十分清楚,所以我认为简洁胜过优雅。 – pnuts

0
=IF(A2="banana";B2*C2;IF(A2="apple";B2*C3;B2*C4)) 

还是你需要类似的东西,但对于100 +的情况?

+0

我需要这样的,但对于100多个案例 – user3197770

+0

你能够使用宏/ VBA(Visual Basic的应用程序)? – Zam

+0

这是我使用的大公式的一小部分,我改变了它,所以它适合这个例子: =(SUM(IF(A2 =“Apple”; B2 * C2; IF(A2 =“Banana”; B2 * C3 ; IF(A2 = “梨”; B2 * C4; IF(A2 = “橙色”; B2 * C5; 0)))); IF(A3 = “苹果”; B3 * C2; IF(A3 = “香蕉” ; B3 * C3; IF(A3 = “梨”; B3 * C4; IF(A3 = “橙色”; B3 * C5; 0)))); IF(A4 = “苹果”; B4 * C2; IF(A4 = “香蕉”; B4 * C3; IF(A4 = “梨”; B4 * C4; IF(A4 = “橙色”; B4 * C5; 0)))); IF(A5 = “苹果”; B5 * C2 ; IF(A5 =“香蕉”; B5 * C3; IF(A5 =“梨”; B5 * C4; IF(A5 =“橙色”; B5 * C5; 0)))) – user3197770