文章首先從概念上認識一維數組和二維數組;然后從數據和圖示來進一步理解一維數組和二維數組。
我們常聽到高手們過招,談及Excel中數組運算、一維數組、二維數組,甚至是多維數組。
本文就來逐一認識一維數組和二維數組。理清概念很重要,不要混淆數組、數組公式。
第一,一維數組和二維數組的定義
單行或單列的數組,我們稱為一維數組。
多行多列(含2行2列)的數組是二維數組。
第二,數組和數組公式的區別
數組,就是元素的集合,按行、列進行排列。
數組公式:就是包含有數組運算的公式。ctrl+shift+enter,三鍵結束,這個過程就是告訴excel請與數組運算的方式來處理本公式,反饋一個信息,就是在公式的外面添加一對花括號。
第三,一維數組和二維數組的運算規律
1、單值x與數組arry運算
執行x與arry中每一個元素分別運算并返回結果,也就是與arry本身行列、尺寸一樣的結果。
比如:2*{1,2;3,4;5,6},執行2*1、2*2、2*3……2*6運算,并返回3行2列的二維數組結果{2,4;6,8;10,12},如下圖所示:
數組中行和列分別用逗號、分號來間隔。逗號表示行,行之間的關系比較緊密,用逗號分割;列之間,關系相對比較疏遠一點,用分號分割。
又比如:"A"&{"B","C"}返回{"AB","AC"}。"A"={"B","A","C"}返回{FALSE,TRUE,FALSE}
2、同向一維數組運算
執行arry1與arry2對應位置的元素分別運算并返回結果。要求arry1與arry2尺寸必須相同,否則多余部分返回#N/A錯誤。
比如: {1;2;3}*{4;5;6}返回{4;10;18}; {1,2,3,4}*{4,5,6}返回{4,10,18,#N/A},如下圖所示:
3、異向一維數組運算
arry1的每一元素與arry2的每一元素分別運算并返回結果,得到兩個數組的行數*列數個元素,也就是M行數組與N列數組運算結果為M*N的矩陣數組。
比如:{1;2;3}*{4,5,6,7,8},執行1*4、1*5、……1*8、2*4、2*5……3*8,返回{4,5,6,7,8;8,10,12,14,16;12,15,18,21,24}
4、一維數組與二維數組運算
二維數組其中一個方向與一維數組同向同尺寸,比如M*N的二維數組與M行或者N列的數組運算,在同向的運算類似同向一維數組之間的位置對應,在異向的運算則類似單值與數組之間的一一運算。超出尺寸范圍都返回錯誤值。
例:{1,2,3,4}*{1,2,3,4,5;6,7,8,9,10}即4列一維數組與2行5列二維數組運算,列方向上兩個數組運算按位置一一對應的,不足部分用#N/A補齊,行方向上則是一對多的運算。
即:1*1,2*2,3*3,4*4,#N/A *5;1*6,2*7,3*8,4*9,#N/A *10;返回{1,4,9,16,#N/A;6,14,24,36,#N/A}。
5、二維數組之間運算
要求尺寸相同,并執行相同位置元素一一對應的運算,超出尺寸部分返回錯誤。
例:{1,2;3,4}*{1,2,3;4,5,6;7,8,9}執行1*1,2*2,3*4,4*5,其余部分用#N/A補齊,返回={1,4,#N/A;12,20,#N/A;#N/A,#N/A,#N/A}
以上幾個圖示,希望對新手認識和理清一維數組和二維數組有所幫助。