SUMPRODUCT多條件求和
求和與條件求和
SUM和SUMIF :運(yùn)行時間正比于其數(shù)據(jù)范圍。所以如果數(shù)據(jù)區(qū)是排過序的,就可以適當(dāng)?shù)剡x擇計(jì)算區(qū)域來減少計(jì)算時間。
SUMIF 和COUNTIF可以使用通配符?和*
DSUM:速度很快,但使用不大方便
l 多條件求和
數(shù)組公式的一個經(jīng)常使用的地方就是用SUM數(shù)組進(jìn)行多條件求和。但它通常很慢。
優(yōu)化的辦法是:
-用SUMPRODUCT代替。
它比SUM數(shù)組快約5%-10%,而且還能處理文本和空值。
{=SUM($D$2:$D$10301*$E$2:$E$10301)}
=SUMPRODUCT($D$2:$D$10301*$E$2:$E$10301)
=SUMPRODUCT($D$2:$D$10301,$E$2:$E$10301)
這三個公式結(jié)果相同,但第三個公式比前兩個約快77%
用SUMPRODUCT條件求和,其形式如下:
SUMPRODUCT(--(條件1),--(條件2),(求和區(qū)域))
其中兩個減號(--)的作用是把條件的邏輯值轉(zhuǎn)變?yōu)閿?shù)值以便計(jì)算,也可用+0和*1代替,但(--)比+0,*1都略快些。
但注意其中的各部分區(qū)域范圍必須相同,且不能是同一列。
也可使用下式:
SUMPRODUCT((條件1)*(條件2)*(求和區(qū)域))
但這個公式略慢于用逗號分割的公式,而且其求和區(qū)域內(nèi)不能有文本值。
-另一個辦法是用DSUM代替SUM數(shù)組公式
如果多條件求和的數(shù)組公式不多,也可用DSUM來代替,它也比數(shù)組公式略快。但其缺點(diǎn)是必須有單獨(dú)的區(qū)域來存放條件,所以使用不大方便。