對於excel中的「陣列」,可以理解為有著行、列標識並有著尺寸特徵的集合。乙個單元格的資料就可以是乙個陣列,即單元素陣列;單行資料或者單列資料,是一維陣列;多行多列資料是多維陣列。
其特點是:
1. 所有的陣列,都能在一定連續單元格區域表示出來。2. 陣列的尺寸由構成陣列元素的個數來確定。3 同一維度的陣列,要注意尺寸特徵,
同一陣列中,不存在尺寸不同的行或列。4 在編輯欄可以用
f9鍵檢視陣列的運算結果。
陣列的表示:用花括號{}表示陣列。如。其中,30後面,跟的是分號;,表示40要換行了。陣列的各個元素間用逗號與分號分隔,兩者意義一定要理解,分號分隔表示的是陣列的行分隔。
由上面的定義可以知道:如果錄入這樣的陣列=,那麼會提示錯誤,因為存在行的尺寸不同。
那麼對於excel的兩個陣列進行運算,結果是幾行幾列的資料呢?兩個陣列的行數取最大值,列數取最大值,即為結果的行列數。
例如,陣列1區域是4行2列,陣列2:區域是2行3列,運算結果區域的行列數即為:4行3列。
01/ 陣列的定義
陣列:指一組資料。陣列元素可以是:數值,文字,日期,邏輯值,錯誤值
02/ 陣列的存在形式
常量陣列:直接寫在公式中的陣列元素。如:
=*2 --->--->4
用「,」(逗號)把列陣列元素分開
=*2 --->--->4
用「;」(分號)把行陣列元素分開
記憶體陣列:
將大於80的數字求和?
8756
2367
10090
=sum(if(a1:b3>80,a1:b3)) -->277
注意:記憶體陣列須以ctrl+shift+enter
03/ 陣列間的運算
1.行與行或列與列的運算(陣列元素個數相同或不同)
2.行與列的運算(陣列元素個數相同或不同)
注:運算中不限制兩個陣列形狀一致。
注:資料量大時執行陣列可能記憶體開銷增大,反應變慢。
上圖中:
①-② --> -->2
①-③ --> -->4
③-④ --> -->2
04/ 陣列的應用
例項1:
書名單價數量
金額excel函式大全
34.5
45excel圖表應用
28.8
23vba入門到高階
80100
辦公應用全攻略
23.9
872010透視表
4597
vba與資料庫運用
29.3
90 1.求出採購書本總金額?
=sum(b4:b9*c4:c9)
2.求出採購數量大於80的有幾種圖書?
=sum(if(c4:c9>80,1))
例項2:
語文數學優
優良優優
優差優優
良優優差
差優良良
良優優 語文和數學同時為優的有幾個?
=count(if(a15:a24&b15:b24="優優",))
例項3:
書名金額vba與資料庫運用
2637
excel函式大全
1552.5
2010透視表
2205
excel圖表應用
662.4
vba入門到高階
800辦公應用全攻略
2079.3
金額大於2000的平均分?
=sum(if(b30:b35>2000,b30:b35))/count(if(b30:b35>2000,b30:b35))=sum(if(b30:b35>2000,b30:b35,0))/sum(if(b30:b35>2000,1,0))=sum(if(b30:b35>2000,b30:b35,0))/sum(if(b30:b35>2000,1))
交換兩個陣列使兩個陣列和的差最小
有兩個陣列a,b,大小都為n,陣列元素的值任意整形數,無序 要求 通過交換a,b中的元素,使 陣列a元素的和 與 陣列b元素的和 之間的差最小。求解思路 當前陣列a和陣列b的和之差為 a sum a sum b a的第i個元素和b的第j個元素交換後,a和b的和之差為 a sum a a i b j ...
交換兩個陣列使兩個陣列和的差最小
有兩個陣列a,b,大小都為n,陣列元素的值任意整形數,無序 要求 通過交換a,b中的元素,使 陣列a元素的和 與 陣列b元素的和 之間的差最小。求解思路 當前陣列a和陣列b的和之差為 a sum a sum b a的第i個元素和b的第j個元素交換後,a和b的和之差為 a sum a a i b j ...
計算兩個陣列的差集
給你兩個分別有 5000 個元素的陣列,計算他們的差集 方案1迴圈第乙個陣列 判斷item是否在第二個陣列裡,如果在,則unset掉這個鍵,最後剩下的陣列就是差集 function array diff array 1,array 2 return array 1 方案2 最優 效率最快 將第二個陣...