家用過數(shù)組公式的都可能知道,對(duì)于多條件求和或計(jì)數(shù),我們一般都采用這種數(shù)組公式來(lái)計(jì)算。如: 對(duì)于1個(gè)明細(xì)數(shù)據(jù)(見例),我們需要求該班男、女生各科成績(jī)大于各科平均分的人數(shù),這個(gè)問題不難,大家一般都會(huì)用sum()來(lái)多條件求值就行了(注:數(shù)組公式): =SUM(($C$3:$C$428=$K3)*(D$3:D$428>=AVERAGE(D$3:D$428))) 確實(shí)這是解決問題的一種方法,但往往對(duì)于初用數(shù)組公式的朋友常常會(huì)遺忘(或不知道)用(Ctrl+shift+Enter)組合鍵來(lái)結(jié)束編輯(論壇中常常有類似的提問)。 =SUMProduct(($C$3:$C$428=$K3)*1,(D$3:D$428>=AVERAGE(D$3:D$428))*1) 原因在于:SUMPRODUCT()函數(shù)本身就支持?jǐn)?shù)組間運(yùn)算(相同尺寸的數(shù)組相乘后再加總),因此我們毋須用數(shù)組公式組合鍵來(lái)結(jié)束。 =SUMProduct(($C$3:$C$428=$K3),(D$3:D$428>=AVERAGE(D$3:D$428))) 如果多個(gè)條件這樣并列寫入,系統(tǒng)默認(rèn)是用AND關(guān)系(即相乘)來(lái)運(yùn)算,但是SUMPRODUCT不支持邏輯值數(shù)組常量間相乘(也算是小遺憾吧:)),因此請(qǐng)一定要將邏輯值轉(zhuǎn)換成數(shù)值才行。 =SUMProduct(($C$3:$C$428=$K3)*(D$3:D$428>=AVERAGE(D$3:D$428))) 如果數(shù)組尺寸(即行列數(shù))相同,建議使用這種方法,如果直接相乘出現(xiàn)錯(cuò)誤,可能是I列出現(xiàn)非數(shù)值字符,用逗號(hào)分隔后,系統(tǒng)可以自動(dòng)忽略非數(shù)值型數(shù)據(jù)的。 |
|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó)
( 粵ICP備10043721號(hào)-1 )
GMT+8, 2025-7-13 08:36 , Processed in 0.070096 second(s), 16 queries .
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.