首頁>Club>
10
回覆列表
  • 1 # 荒川吹雪

    陣列是Excel資料處理的一個強大工具,我們首先要知道陣列分為工作表陣列、vba陣列兩大類。

    工作表陣列:用Ctrl+Shift+Enter結束輸入

    此類陣列在公式運用中,會降低Excel的工作效率(陣列太多時,執行會變慢),但是陣列公式又會很巧妙的完成很多意想不到的效果。

    tips1、降低效率的例子:我初學Excel的時候,在一份裝置執行記錄的資料收集系統中,大量運用了【{sum(if(……))}】這種形式的陣列公式,來對多條件求和。每次開啟表格,都要計算1min左右,後來在2013版本中增加了sumifs函式,然後我就用sumifs替代了以前的公式,每次開啟10s左右即可完成計算,效率大大提高了。

    tips2、意想不到效果的例子(公式保護):我編寫的公式有時候會被自己不小心給誤操作了,比如公式為【=A1+B1】,由於不小心按了鍵盤的什麼地方了,就變成【=A1+1】這樣了,導致計算錯誤。而是用陣列公式就能很大程度避免這樣的問題。比如選中C1到C5輸入公式【={A1:A5*B1:B5}】,當你不小心改變C1到C5的公式的時候,會彈出警告框:不允許修改陣列的某一部分。

    這裡,有個函式不需要三鍵結束,它就是SUMPRODUCT函式

    vba陣列,效率提升利器

    生成vba陣列的方式有很多,其中array是專門用來生成陣列的方法,還可以將一個單元格區域直接賦值給一個數組變數來生成陣列

    效率提升利器:由於vba陣列是在記憶體中完成的,而不涉及單元格的讀寫工作,所以效率那是槓槓滴,在寫vba程式碼的時候,能多用陣列+字典的話,就能很大程度上提升執行效率。

  • 2 # 風行office

    什麼是陣列公式呢?

    陣列就是一個具有維度的集合。比如:一維陣列、二維陣列、多維陣列。

    EXCEL的陣列,就相當於我們數學中的矩陣,一個矩陣內包裝有多個元素,元素與元素的不同組合就構成了不同維數的矩陣,表現在EXCLE表格上就 N行*M列的一個區域,N和M 不同時=0 就可以了,如下圖就是一維,二維,三維陣列的不同組合方式,分別是單行或單列一維陣列,多行多列二維,三維陣列。

    陣列輸入方法:

    使用陣列公式,在編輯欄輸入完公式以後一定要按下“Ctrl+Shift+Enter”組合鍵,使編輯欄的公式處在“{}”之中。

    陣列的資料型別

    文字、數字、邏輯值、錯誤值

    案例說明:

    1. 求1到100的和

    只用一個函式解決1到100的和,當然也可以是1000、10000甚至更多。討論具體的數值沒有太大意義,此處只是希望透過此例讓大家更進一步的瞭解陣列公式的用法。 解答:{=SUM(ROW(1:100))} 問題分析:求1到100的和,答案是5050,但Excel必須是你告訴了它正確的方法,它才能知道。計算從1到100的和,實際上就是計算1+2+3+4+……+98+99+100,好了,答案出來了,在編輯欄中輸入 “=sum(1+2+3+4+……+98+99+100)”。相信聰明的一定對此答案不滿意,雖然能得到正確的結果,但很明顯是“錯誤”的方法。 要得到1到100的正確數列,最簡單的方法就是使用Row()或是Column()函式,由於個人習慣,我比較習慣於Row(),所以這裡以Row()函式為例。 熟悉Row()函式:在A1單元格中輸入“=Row()”,使用填充柄填充至A5,看到什麼結果?是不是每一個單元格中值就是其對應的行數。

    下面是一個典型的應用

    案例2:求出各科成績大於90分的人數

    先用陣列計算條件(B19:B22>90),結果是{FALSE;FALSE;FALSE;TRUE},大於90,就為true,否則false.

    然後用“--”符號 把邏輯值轉換可計算值:--(B19:B22>90),結果為:{0;0;0;1},再用sum計算和。

  • 中秋節和大豐收的關聯?
  • 畢業三年後,哪些專業的學生換工作最多?