數(shù)組(Array,繁體版稱作陣列)是由數(shù)據(jù)元素組成的集合,數(shù)據(jù)無素可以是數(shù)值、文本、日期、邏輯、錯誤值等,數(shù)據(jù)元素以行和列的形式組織起來,構(gòu)成一個數(shù)據(jù)矩陣。
根據(jù)構(gòu)成元素的不同,在Microsoft_Excel有兩類數(shù)組:常量數(shù)組和單元格區(qū)域數(shù)組。
①常量數(shù)組
常量數(shù)組可以同時包含數(shù)字、文字、邏輯值和錯誤值等多種數(shù)據(jù)類型。它用{}將構(gòu)成數(shù)組的常量括起來,行中的元素用逗號,分隔,行之間用分號;分隔,文本必須用雙引號圍起來(例如,"playkid")。數(shù)組常數(shù)不能包含帶有逗號、美元符號、括號、百分號的數(shù)字,不能包含其他數(shù)組、公式或函數(shù)。在二維數(shù)組中,常量不得含有不同長度的行或列。
{2,"greensky",TRUE,#N/A,}是一個1行4列的常量數(shù)組。
?、趩卧駞^(qū)域數(shù)組
單元格區(qū)域數(shù)組則是通過對一組連續(xù)的單元格區(qū)域進行引用而得到的數(shù)組。
{A1:B4}是一個4行2列的單元格區(qū)域數(shù)組。
數(shù)組的維數(shù),數(shù)組可以是一維的也可以是二維的。
?、僖痪S數(shù)組就是一列或一行數(shù)。
{2,"greensky",TRUE,#N/A,}是一個1行4列的一維常量數(shù)組。
?、诙S數(shù)組就是一片單元格區(qū)域,包含多行和多列??v向數(shù)字由分號隔開,橫向數(shù)字由逗號隔開(逗列分行)。
{1,2,3;4,5,6}則為一個2行3列的二維常量數(shù)組。
數(shù)組公式
數(shù)組公式是指可以在數(shù)組的一項或多項上執(zhí)行多個計算的公式。數(shù)組公式可以可以對一批單元格應用一個公式,產(chǎn)生單個結(jié)果,也可以同時分列顯示多個結(jié)果。
一個數(shù)組其實就是一組同類型的數(shù)據(jù),可以當做一個整體來處理,而無須對每個單元格一一應用公式。
數(shù)組公式可以認為是Excel對公式和數(shù)組的一種擴充,換一句話說,是Excel公式在以數(shù)組為參數(shù)時的一種應用。
求1到100的和,答案是5050,在編輯欄中輸入=SUM(1+2+3+4+……+98+99+100),這是很SB的方法。
第2種方法:=SUMPRODUCT(ROW(1:100))
第3種方法:=SUM(ROW(1:100),之后按Ctrl+Shift+Enter轉(zhuǎn)換成數(shù)組。
如果把數(shù)組公式的返回值放入到一個單元格區(qū)域內(nèi)可以呈現(xiàn)返回數(shù)組的各個元素的值,這樣的公式稱為多單元格公式。而位于單元格中的數(shù)組公式稱為單元格公式。
每次輸入數(shù)組公式完成后,不要直接按回車鍵(Enter),都必須按(Ctrl+Shift+Enter)(不要自己鍵入花括號),才能完成數(shù)組公式。否則,公式就會返回不正確的結(jié)果或者返回#VALUE!。
不能在數(shù)組公式中使用列引用(例如"A:A"或"D:D");不能使用逗號和分號連接單元格。
下面選擇D6單元格,輸入公式=SUM(B2:B5*C2:C5),按下[Shift]+[Ctrl]+[Enter]鍵,公式外面會自動加上了一對大括號{},SUM函數(shù)將這些銷售額相加,就得到了總的銷售額。
在D2到D5單元格中分別輸入統(tǒng)一公式=B2:B5*C2:C5,按下[Shift]+[Ctrl]+[Enter]鍵,D2到D5的格中都會出現(xiàn)用大括弧{}框住的函數(shù)式,這表示該數(shù)組公式是針對整個數(shù)組來處理。
在上圖中,也可以輸入公式=SUM(B2:B5*{789;345;233;567})({789;345;233;567}為數(shù)組常數(shù)),然后按下[Shift]+[Ctrl]+[Enter]鍵。
數(shù)組的編輯
數(shù)組包含數(shù)個單元格,這些單元格形成一個整體,所以,使用數(shù)組公式后,數(shù)組里的某一單元格不能獨立編輯。在編輯數(shù)組前,必須先選取整個數(shù)組。
F5→定位→定位條件→當前數(shù)組(或者Ctrl+/)
刪除數(shù)組:選定存放數(shù)組的所有單元格,然后按Delete。
數(shù)組的擴充
=SUM({1,2,3}+{4,5,6})
=SUM({1;2;3}+{4;5;6})
=(1+4)+(2+5)+(3+6)
=5+7+9
=21
如果將公式寫成=SUM({1,2,3}+4),則第二個數(shù)據(jù)并不是數(shù)組,而是単個數(shù)值,為了要和第一個數(shù)組相加,Excel會自動將數(shù)值擴充成一個數(shù)組,使用=SUM({1,2,3}+{4,4,4})做計算。
=SUMPRODUCT(ROW(1:100))
=SUMPRODUCT(ROW(1:100),{1;1;1;1;1;...})
=SUMPRODUCT({1;2;4;5;6;...;100},{1;1;1;1;1;...})
=1*1+2*1+3*1+4*1+5*1+6*1+…+100*1
=SUM(1+2+3+4+……+98+99+100)
=5050
SUMPRODUCT函數(shù)只有一組,為了和第一個數(shù)組相加,Excel會自動生成一個數(shù)組{1;1;1;1;1;...},也就是就變成了直接求和。