excel 陣列函式入門講座

2021-06-29 12:12:09 字數 3810 閱讀 2308

陣列函式入門講座之一

1、陣列公式的實現方法:

在論壇中常可以看到許多在頭尾帶有「

{}」的公式,有些朋友把這些公式直接複製貼上到單元格中,但沒有出現正確的結果,

這是為什麼呢?

其實這些都是陣列公式,陣列公式的輸入方法是將公式輸入後,不要直接按回車鍵(

enter

),而是要同時按

ctrl+shift+enter

,這時電腦自動會為你新增「

{}」的。

在論壇上,為了告訴大家這是陣列公式,故在公式的頭尾都加上了「

{}」。如果不小心按回車了,可以用滑鼠點一下編輯欄中的公式,再按

ctrl+shift+enter。2

、陣列公式的原理(自編):

陣列公式,說白了就是同時對一組或幾組數同時處理,然後得到需要的答案。運用陣列公式的最重要的原理是數於數之間一一對應

下面舉一列說明一下(例1):

a1:a10

有下列一排數:

3214

3425

3621

3312

1216

第一問:求大於

20的數的和(此題亦可用

sumif

函式來處理,這裡為的是講清陣列公式的原理)。

答案為:

181,公式為

,excel

處理的原理:

首先由if

函式進行判斷,一一對應,如果大於

20,則為本身,否則為

false

。經過if

函式的處理,原來的

a1:a10

處理後變成:

32false

3425

3621

33false

false

false

然後用sum

函式進行求和,

sum函式忽略文字。

第二問:求大於

20的數的個數(此題亦可用

countif

函式來處理,這裡為的是講清陣列公式的原理)。

答案為:

6,公式為

,excel

處理的原理:

首先由if

函式進行判斷,如果大於

20,則為

1,否則為

false

。經過if

函式的處理,原來的

a1:a10

處理後變成:

1false11

111false

false

false

然後用sum

函式進行求和

,亦可用

count

函式進行計數。

第三問:求大於

20的數的個數減去小於等於

20的數的個數的值。

答案為:

1,公式為

,excel

處理的原理:

首先由if

函式進行判斷,如果大於

20,則為

1,否則為

-1。經過

if函式的處理,原來的

a1:a10

處理後變成:1-1

1111

1-1-1-1

然後用sum

函式進行求和。

陣列函式入門講座之二(上)

10

月23日給大家出了三道題,其實就題目的難度來說,如果既會用函式,又懂些陣列公式使用的話,那麼我想這些題目應該都能解決的。下面通過對這幾道題目的分析,來講講陣列公式的運用。

第一題:求1到

1000

的和。1+2+3+4+...+997+998+999+1000=

?這題,思路非常簡單,就是如何生成乙個1到

1000

這樣子的陣列,然後全部加起來。所以,如果要用陣列公式的話,你就得先問自己,到底需要乙個怎樣的陣列才能達到目的。那麼,接下來,就要考慮,通過什麼函式,才能達到這個目的。就這題來說,就會使用

row()

函式,乙個取得引用行號的函式,

=row(1:1000)

,通過這個函式就能生成這樣乙個陣列

,然後用

sum()

進行求和,就得到答案了。額外提醒大家的是,通過

sum()

這個函式,出來的結果就是乙個值,不會是陣列的。(

column()

函式也可以,這裡就不講了)。

答案:

chenjun

兄另一種使用

indirect()

的做法,是為了避免行範圍有行刪除、插入,這是在實際使用中出現問題地解決辦法,這次暫不討論

)。第二題:

求在1到

1000

中,是7

的倍數的數的和,包括

7在內。

7+14+21+28+...=

?這題,是在上題的基礎上,演變而來的,也就是乙個陣列的處理的問題。既然得到了1到

1000

這樣子的陣列,那麼如何得到

7的倍數的數的陣列?方法很多,下面一一講解:用的最多的方法是:

因為是求和,把不符合條件的數字,變成

0,然後求和,就可以了,

excel

是如何處理的,請看看陣列講座一。把公式寫的標準化一些:

其中,mod(row(1:1000),7)

是對row(1:1000)

生成的陣列

的再處理,再生成的陣列,從表面上來看新生成的陣列

,一點用都沒有,但實際上包含了

能不能被

7整除的資訊,即如果是

1,那麼對應的這個數不能被

7整除,而如果是

0的話,能被

7整除,這樣

if(mod(row(1:1000),7)=0,row(1:1000),0)

再次生成乙個我們都想要得陣列,那就是

,這樣在用

sum()

就能得到索要的答案了。

從上面可以看出,在陣列公式中,如果有

if()

參與,條件是陣列公式,對或錯有乙個是陣列,或都是陣列的話,需要一一對應。這例中,對是陣列,他就和條件一一對應,才會產生

的結果。

其他的方法:

思路:直接生成乙個

7倍數的陣列,然後做乙個

<1000

的判斷,再求和。

思路:使用

weekday()

將陣列轉化為乙個以

作為輪迴的陣列,正好和

7的倍數相呼應(當然如果用

也是可以的)。然後除以

7後,再

trunc()

後,變成

這樣的陣列,然後和

相乘,得出結果。

這裡,需指明的是,我在用

weekday()

的時候,忽略了乙個引數,那是預設值,星期一是

1,以此類推;而

trunc()

也忽略了乙個引數,預設值為

0,即取整。

所以,思路從某種程度上講,決定公式的使用方法,有些人排出來的公式很複雜,有些人很簡單,就是這個道理。大家在平時學用公式的時候,不僅要學習函式的使用方法,更主要的是要學習思路,不要只求結果,不求過程。

最後一題,我想詳細分析一下,加上最近有點忙,準備放在下週末,請大家諒解。

excel if in函式 EXCEL入門IF函式

if英文意思是 如果 假如這麼樣,就那麼樣。if it rains tomorrow,i ll stay at home.如果明天下雨,我就呆在家裡。excel中的if函式同樣表示假設,但它多考慮了一步。if 明天是否下雨,下雨呆家裡,不下雨出去浪 判斷條件 明天是否下雨 結果1 是 呆在家裡 結果...

大連公尺可多 Excel講座

主辦單位 大連公尺可多種子公司 擁有270多年歷史的法國威馬種業公司 vilmorin 成立於1743年。她一直致力於開發 生產和銷售創新優質的蔬菜和樹木種子,為專業使用者服務。源於法國的威馬公司,植根歐洲,放眼全球。如今已發展成為一家國際化的種子企業,在五大洲建立了6家分公司,在10多個國家設立了...

陣列元素相乘 Excel 小技巧 陣列入門

陣列,簡單理解為具有某種聯絡的多個元素的組合。舉個例子,初三一班裡有35位同學 元素 那這35位同學可以統一用初三一班直接命名,別人說初三一班,其實質意義就是裡面的35位同學。目錄頁 1.單列單行 vs 單列單行 方向分布 橫向 縱向 例1 例2 例3 2.單列多行 vs 單列單行 例4 3.多列單...