Microsoft Excel是Microsoft為使用Windows和Apple Macintosh操作系統的電腦編寫的一款電子表格軟件。直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使Excel成為最流行的個人計算機數據處理軟件。 1、行列數相同數組的運算??
 數組1+數組2,這是一個多單元格的數組公式,第一個數組的第一個元素與第二個數組的第一個元素相加,結果作為數組公式結果的第一個元素,然后第一個數組的第二個元素與第二個數組的第二個元素相加,結果作為數組公式結果的第二個元素,接著是第三個元素……直到第N個。
 這是橫向的一維數組的計算,原理同上。

這是二維數組與二維數組進行計算,生成一個新的二維數組的多單元格數組公式。同樣的計算過程,第一個數組的第一行的第一個元素與第二個數組的第一行的第一個元素相乘,結果為數組公式的結果的數組的第一行的第一個元素,接著是第二個,第三個……直到第N個。
規律很簡單:兩個同行同列的數組計算是對應元素間進行運算,并返回同樣大小的數組。 正如穿鞋要穿合腳的才走得了路一樣,在公式或函數中使用數組時,運算對象或參數的數組維數要匹配,否則計算會出錯。教室里,第一排的有8個 同學,第二排有9個同學,老師說:“第一排和第二排的同學交換作業,互相檢查。”第二排的第9個同學和誰交換?這就是數組的不匹配。數組不匹配時,工作就 不能完成了。 你可以試著改一改數組的參數試試。
2、數組與單一的數據的運算
 這相當于在E42單元格輸入公式=A42*$C$42,然后下拉復制公式實現。
 等同于在B56輸入公式“=B52+$B$54”,然后右拉復制公式實現。
 等同于在C67單元格輸入公式“=A60+$E$60”然后右拉下拉復制公式實現。
不難看出:一個數組與一個單一的數據進行運算,是將數組的每一元素均與那個單一數據進行計算,并返回同樣大小的數組。
3、單列數組與單行數組的計算
 兩個數組相加,查看結果是幾行幾列:在任意單元格輸入公式“=A80:A83+B87:E87”,抹黑公式,按F9鍵,可看到公式的計算結果為數組 “{110,210,310,410;120,220,320,420;130,230,330,430;140,240,340,440}”通看看分號 與逗號,我們知道這是一個四行四列的數組,選擇一個四行四列的單元格,輸入公式“=A80:A83+B87:E87”,三鍵結束,可看到返回的結果為:
 相當于在E80輸入公式“=$A80+B$87”右拉下拉復制公式的結果。 單列數組與單行數組的計算: A、計算結果返回一個多行列的數組; B、返回數組的行數同單列數組的行數相同、列數同單行數組的列數相同。 C、返回數組中第R行第C列的元素是單列數組的第R個元素和單行數組的第C個元素運算的結果。
4、行數(或列數)相同的單列(或單行)數組與多行多列數組的計算 (1)單列數組的行數與多行多列數組的行數相同時:

(2)單行數組的列數與多行多列數組的列數相同時:
 計算規律同單行單列的數組計算的規律大同小異: A、計算結果返回一個多行列的數組; B、返回數組的行、列數與多行多列數組的行列數相同; C、單列數組與多行多列數組計算時,返回的數組的第R行第C列的數據等于單列數組的第R行的數據與多行多列數組的第R行第C列的數據的計算結果; D、單行數組與多行多列數組計算時,返回的數組的第R行第C列的數據等于單行數組的第C列的數據與多行多列數組的第R行第C列的數據的計算結果。
=======留給你的思考題======= 講到這里,我們可以暫停一下進度。課間休息,插播一段廣告: 你可以喝杯水,聽聽音樂,然后我們來看幾個例子:
圖1:
 圖2:
 圖3:
 上面的三張圖,第一個公式是我們前面講的例子,第二個公式是在第一個公式的基礎上對參與計算的數組區域進行了修改,但是,兩個不同參數的公式,返回的結果 卻都是一樣的。這里我只是舉了三個例子,你可以把前面我們講過的公式里的數組參數都修改修改,什么情況下,會返回相同的結果呢?它們又有什么共同的地方? 知識總是光顧那些善于總結和發現的人。否則,踩著別人的腳印走,想要看到別人沒看到的風景,你要等到猴年馬月? 好了,我也仿小學老師的口氣問問大家:“為什么兩個不同的公式,返回的結果都是一樣的呢?從上面的圖,你發現了什么?把你的發現說給你的伙伴聽一聽。” 這就是你今天的作業,如果你是真心想想學數組公式的,記得跟貼回復!
5、行、列數不相等的數組計算 (1)行數不相等的單列數組與與多行列數組的計算
 (2)列數不相等的單行數組與多行多列數組的計算
 (3)行、列數不相同的兩個多行多列數組的計算
 有了對前面例子的分析,再來看這三個例子就相對簡單了。它們的計算規則和前面都是一樣的,不難看出: A、公式返回一個多行多列數組; B、返回數組的行數與參與計算的兩個數組中行數較大的數組的行數相同,列數與較大的列數的數組相同; C、返回數組的大于較小行數數組行數、大于較大列數數組列數的區域的元素均為#N/A。有效元素為兩個數組中對應數組的計算結果。 需要提醒一點的是,對會返回#N/A的數組,在進行再計算和處理時,考慮對#N/A值作相應的處理! 比如我們想對上面數組與數組2相加后的結果進行求和:
 正確的公式(數組):=SUM(IF(ISNA(A213:B216+D213:F215),0,A213:B216+D213:F215)) 通過ISNA函數對返回的數組里的各個元素進行了判斷和處理,把把有的#N/A值替換成數值0,最后再用SUM函數對所有數值進行求和。 我們說,數組計算時,得注意行列數的匹配,其實如果了解了數組的計算原理后,能正確處理那些返回的#N/A值的話,很多時候,并不會出錯的。
Excel整體界面趨于平面化,顯得清新簡潔。流暢的動畫和平滑的過渡,帶來不同以往的使用體驗。 |