數(shù)組公式可以認(rèn)為是Excel對公式和數(shù)組的一種擴(kuò)充,換一句話說,是Excel公式在以數(shù)組為參數(shù)時(shí)的一種應(yīng)用。
數(shù)組公式可以看成是有多重?cái)?shù)值的公式。與單值公式的不同之處在于它可以產(chǎn)生一個(gè)以上的結(jié)果。一個(gè)數(shù)組公式可以占用一個(gè)或多個(gè)單元。
如有以下數(shù)據(jù):
姓名 | 面試官1 | 面試官2 | 面試官3 | 是否被錄取 |
求職人員1 | 合格 | 合格 | 不合格 | FALSE |
求職人員2 | 合格 | 不合格 | 合格 | FALSE |
求職人員3 | 合格 | 不合格 | 不合格 | FALSE |
求職人員4 | 合格 | 合格 | 合格 | TRUE |
求職人員5 | 合格 | 合格 | 合格 | TRUE |
對于求職人員需要由三個(gè)面試官判斷全部合格,才可以錄用,可以應(yīng)用數(shù)組公式和多條件判斷。
“是否被錄取”一列下面的單元格輸入公式如下:
=AND(B2:D2='合格')
在單元格編輯狀態(tài)下(也就是光標(biāo)點(diǎn)擊進(jìn)入單元格的情況下(單元格按F2時(shí)可進(jìn)入編輯狀態(tài))),按ctrl+Shift+Enter,即可以將上述公式框在{}內(nèi),如下所示:
{=AND(B2:D2='合格')}
此時(shí)的公式即是數(shù)組公式。
數(shù)組公式會(huì)對數(shù)組(或引用的區(qū)域)中的每一個(gè)元素的值逐一參與計(jì)算,如果有n個(gè)元素,則會(huì)形成n重循環(huán)的n個(gè)值;
如果是1個(gè)數(shù)組(或引用的區(qū)域),則是對這1個(gè)數(shù)組(或引用的區(qū)域)的每一個(gè)元素的值逐一參與計(jì)算;
如果是m個(gè)數(shù)組(或引用的區(qū)域),則是對這m個(gè)數(shù)組(或引用的區(qū)域)的每一個(gè)元素的值逐一參與計(jì)算,每個(gè)數(shù)組(或引用的區(qū)域)先用第一個(gè)元素的值參與計(jì)算、然后是每個(gè)數(shù)組(或引用的區(qū)域)的第2個(gè)、第3個(gè)...;
多條件判斷的函數(shù)除了and()以外,還有or()。
當(dāng)單元格邏輯值是'true'時(shí),應(yīng)用公式時(shí)可以轉(zhuǎn)換為數(shù)字'1',當(dāng)單元格邏輯值是'false'時(shí),應(yīng)用公式時(shí)可以轉(zhuǎn)換為數(shù)字'0'。
如以下數(shù)據(jù):
員工姓名 | 所屬部門 | 業(yè)績 | 工齡 | 是否發(fā)放獎(jiǎng)金 | 發(fā)放資金金額 |
員工1 | 銷售部 | 14400 | 3 | FALSE | 0 |
員工2 | 人力部 | 18000 | 9 | FALSE | 0 |
員工3 | 人力部 | 252000 | 8 | TRUE | 500 |
員工4 | 銷售部 | 324000 | 5 | FALSE | 0 |
員工5 | 工程部 | 324000 | 10 | TRUE | 500 |
員工6 | 工程部 | 36000 | 4 | FALSE | 0 |
員工7 | 人力部 | 372000 | 11 | TRUE | 500 |
員工8 | 銷售部 | 432000 | 5 | FALSE | 0 |
員工9 | 銷售部 | 14400 | 2 | FALSE | 0 |
員工10 | 人力部 | 16800 | 8 | FALSE | 0 |
員工11 | 工程部 | 36000 | 4 | FALSE | 0 |
同時(shí)滿足業(yè)績超過30000元以及工齡在5年以上兩個(gè)條件即可發(fā)放500的資金。
“是否發(fā)放獎(jiǎng)金”一列便可以利用公式:=AND(C2>30000,D2>5)
“發(fā)放資金金額”列便可以利用公式:=E2*500
如有以下數(shù)據(jù):
日期 | 規(guī)格 | 金額 |
2017/3/1 | 惠普 | 2654 |
2017/3/6 | 愛普生 | 2780 |
2017/3/3 | 佳能 | 2432 |
2017/2/5 | 愛普生 | 3223 |
2017/2/8 | 愛普生 | 3564 |
2017/2/7 | 佳能 | 1432 |
2017/2/9 | 惠普 | 1987 |
2017/3/5 | 惠普 | 3465 |
2017/3/7 | 愛普生 | 2683 |
2017/3/4 | 佳能 | 2154 |
按時(shí)間段統(tǒng)計(jì)每種產(chǎn)品銷售金額:
時(shí)段間 | 惠普 | 愛普生 | 佳能 |
2017/2/10 | 1987 | 6787 | 1432 |
2017/3/10 | 8106 | 12250 | 6018 |
便可在“惠普”列的下一個(gè)單元格應(yīng)用以下公式:
=SUM(($A$2:$A$11<>
sumproduct()函數(shù)是指在給定的幾組數(shù)組中,將數(shù)組間對應(yīng)的元素相乘,并返回乘積之和。與數(shù)組公式有功能相似之處。
如有以下數(shù)據(jù):
產(chǎn)品名稱 | 銷售數(shù)量 | 銷售單價(jià) | 金額 |
A3打印紙(箱) | 55 | 120 | 6600 |
迷你文件柜 | 68 | 119 | 8092 |
鼠標(biāo) | 70 | 99 | 6930 |
A4打印紙(箱) | 45 | 115 | 5175 |
26797 | |||
總銷售額 | |||
26797 |
在“總銷售額”下的單元格中可以應(yīng)用以下公式:
=SUMPRODUCT(B2:B5*C2:C5)
如有以下一個(gè)月(從1號(hào)-31號(hào))的收進(jìn)、發(fā)出的數(shù)據(jù),便可以應(yīng)用SUMPRODUCT()進(jìn)行一個(gè)月的收進(jìn)、發(fā)出的匯總。
整月收進(jìn)匯總 | 整月發(fā)出匯總 | 結(jié)存數(shù)量 | 1號(hào) | 2號(hào) | …… | ||||
收進(jìn) | 發(fā)出 | 收進(jìn) | 發(fā)出 | …… | |||||
58 | 35 | 24 | 55 | 33 | 3 | 2 |
上述“58”的單元格便是應(yīng)用以下公式:
=SUMPRODUCT((MOD(COLUMN(I5:BR5),2)=1)*I5:BR5)得出的值。
上述(COLUMN(I5:BR5))用于返回某一引用的列號(hào);
(MOD(COLUMN(I5:BR5),2)=1)形成一個(gè)邏輯值,邏輯值的'true'對應(yīng)數(shù)值'1',邏輯值的'false'對應(yīng)數(shù)值'0'。
這樣與區(qū)域I5:BR5的每一個(gè)單元格的列號(hào)相對應(yīng),由(MOD(COLUMN(I5:BR5),2)=1)形成一個(gè)邏輯值數(shù)組,或一個(gè)0、1序列的數(shù)組,用這種間接的方式,可以對每天收進(jìn)的數(shù)值或行匯總。