愛伊米

EXCEL中陣列應用專題之四:陣列公式的計算和計算結果的輸出

今日我們繼續講解陣列應用的第四講:陣列公式計算結果的輸出,這講的內容難度比較大,希望在工作中有能用到的陣列的朋友仔細的驗證一下,給自己的工作帶來方便,也希望大家在學習EXCEL函式的時候可以參考。

一:在陣列的運算中,維數是如何參與的:

由於陣列公式是對陣列進行運算,陣列可以是一維的也可以是二維的。一維陣列可以是垂直的也可以是水平的。經過運算後,得到的結果可能是一維的,也可能是多維的,存放在不同的單元格區域中。

二: 陣列維數擴充套件的概念和意義:

在公式或函式中使用陣列常量時,其它運算物件或引數應該和第一個陣列具有相同的維數。必要時,Excel 會將運算物件擴充套件,以符合操作需要的維數。每一個運算物件的行數必須和含有最多行的運算物件的行數一樣,而列數也必須和含有最多列數物件的列數一樣。

例如: = SUM({7,8,9}+{4,5,6})內的第一個陣列為1×3,得到的結果為7+4、8+5 和 9+6 的SUM,也就是11+13+15=39。如果將公式寫成 = SUM({7,8,9}+4),則第二個資料並不是陣列,而是一個數值,為了要和第一個陣列相加,Excel 會自動將數值擴充成1 ×3 的陣列。使用=SUM({7,8,9}+{4,4,4})做計算,得到的結果為7+4、8+4和9+4的和, 即11+12+13=36。

三:陣列維數和單元格區域的對應關係:

將陣列公式輸入單元格區域中時,所使用的維數應和這個公式計算所得陣列維數相同。這樣, Excel 才能把計算所得的陣列中的每一個數值放入陣列區域的一個單元格內。

如果陣列公式計算所得的陣列比選定的陣列區域還小,則 Excel會將這個陣列擴充套件,以便將它填入整個陣列區域內。例如:={5,6;3,4}*2擴充後的公式就會變為={5,6;3,4}*{2,2;2,2},則相應的計算結果為“10,12,6,8”。再如:輸入公式={1,2;3,4}*{1,2}擴充後的公式就會變為={1,2;3,4}*{1,2;1,2} ,則相應的計算結果為“1,4,3,8”。

四:陣列擴充套件後的異常值處理:

如果 Excel 將一個數組擴充套件到可以填入比該陣列公式大的區域內,而沒有擴大值可用的單元格內,這樣就會出現#N/A錯誤值。

例如:={1,2;3,4}*{1,2,3} 擴充後的公式就會變為={1,2,#N/A;3,4,#N/A}*{1,2,3;1,2,3} ,而相應的計算結果為“1,4,#N/A,3,8,#N/A”。

備註:

a) 如果陣列公式計算所得的陣列比選定的陣列區域還要大,則超過的值不會出現在工作表上。

b) 由於一個單元格內只能儲存一個數值,所以當結果是一組資料時,單元格只返回第一個值,,在其他不同的單元格上能夠看到不同元素參與運算得到的不同結果。

五:陣列公式的實際應用:如下面的截圖,用陣列公式計算兩個資料區域A1:E1和A2:E2的乘積放在A3:E3的區域內:

EXCEL中陣列應用專題之四:陣列公式的計算和計算結果的輸出

(1)選取單元格區域A3:E3

(2)輸入公式“= A1:E1* A2:E2”。

EXCEL中陣列應用專題之四:陣列公式的計算和計算結果的輸出

(3)按“Crtl+Shift+Enter”組合鍵。

EXCEL中陣列應用專題之四:陣列公式的計算和計算結果的輸出

今日內容迴向:

1 什麼是陣列的維數:

2 什麼是陣列維數的擴充套件?

3 什麼情況下要維數擴充套件?