作者JieJuen (David)
看板Office
標題Re: [算表] 遇到一個奇怪的現象! 請幫忙~
時間Wed Jan 9 05:44:45 2008
: → behind0416:另想問什麼時候該用陣列呢? 是有兩個條件以上就該用嗎? 01/08 21:54
: 推 JieJuen:當函數可選擇以"單一元素"或"整個陣列"輸入時按三鍵會不同 01/08 23:27
: 推 sti571:請教J大...其實我沒有很懂SHIF+CTRL+ENTER的意義 (陣列) 01/09 01:21
: → sti571:可否有個實例說明一下,或是哪裡能參考學習的..謝謝^^ 01/09 01:23
嘿 這可是個大哉問
基本上,了解它的運作之後,
視野會打開一個維度呀!
的確,有些基礎(對非陣列公式的了解)之後
實例是最好的學習方式
我也是藉由"一個例子"打開了視野
這個實例是
http://www.excelhelp.net/cgi-bin/forum/topic.cgi?forum=4&topic=719&show=50
取不重複的資料
嘿 既然它會幫助你提升
也就不是那麼容易
用評估值公式可以幫助了解其運算過程
但也不會真的很難
因為目的清楚簡單
在看這個之前(很久之前)
我曾做過說明檔中FREQUENCY的範例
看的似懂非懂
它也不是講的很清楚
但讓我感覺到這有一塊未開發的領域,等著我去探索~
看完取不重複的資料後(及其討論,看自己的想法與其他人的想法有哪些不同 哪些相同)
就看看論壇上的問題,有沒有可以回答的
有些東西可以在這裡看看有沒有
http://www.excelhelp.net/cgi-bin/forum/topic.cgi?forum=4&topic=458&show=0
這是它的精華區
(當然不是一次看完)
其中也有上述的取不重複資料
回答幾篇文章
大概就比較了解了
這是我的學習過程
: → behind0416:我也想知道陣列應用的時機! 請指點獲告知何處可學習!3Q 01/09 01:30
有人有整理陣列公式入門的文章
請看它精華區(上面第二連結)中的"數組公式入門"
http://www.excelhelp.net/cgi-bin/forum/topic.cgi?forum=4&topic=256&show=50
既然有人整理了
可能也能幫助學習吧
不過內容不少
我對其定位是
"有部分了解後,來看看有什麼漏掉的或理解錯的觀念"
這樣才有辦法挑需要的看
還有影片可以看
http://club.excelhome.net/dispbbs.asp?boardid=119&id=221861
函數部分講了不少陣列公式
不過我也是了解後才來看的
不知道不了解時看的幫助到底如何
講很多資源,其實會讓人心花花
我在看第一篇文的時候
都不知道後面的東西的
就把"取不重複資料"看懂吧~
然後"回答問題",是一定要做的事! 哈哈
---------------
現在討論一點"陣列應用的時機"
其實陣列很常見,例如SUM(A1:A5)"看起來"就像把
一個5個元素的陣列丟給SUM來算
所以,什麼是"陣列公式"?
看來已經不能說"有丟入陣列的公式"了,不然上面那式子也好像叫陣列公式了...
當然,也可以說上式是丟入一個範圍,不是一個陣列
SUM沒有把每個元素都分開來各別做事情云云,
堅持要用"有丟入陣列的公式"來定義
不過這樣講實在不怎麼清楚(至少...您覺得清楚嗎? :X)
操作上來說,按Ctrl+Shift+Enter結尾的式子,就叫陣列公式
但這樣講雖然定義清楚,實質上卻沒有更進一步的了解
對一個函數,可以給它一個值,也可以給它一堆值,
當一個算式,給一個值和給一堆值不同的時候,
若決定要給一堆,用Ctrl+Shift+Enter來告知EXCEL
太抽象?
EXCEL最簡單的函數是什麼?
嘿 就是沒有函數嘛
─ "沒有函數"算什麼函數嘛?
還有運算子呀!
現在打開EXCEL,在A1~A5寫下5 4 3 2 1
在B1
=A1 ("="等於 就是運算子)
嗯,是5。
重新F2編輯,按F4固定。
=$A$1
往下拉到B5....都是5
B1公式拉到C1,F2,Ctrl+Shift+Enter
{=$A$1}
往下拉到C5...都是5
(好無聊哦..)
以上...是給一個值和給一堆值相同的時候....|||
"給一堆值"? 是的,B是給一個範圍,C是給範圍內所有的數。
現在請想想,D1輸入
=$A$1:$A$5 再往下拉,會是什麼?
E1
{=$A$1:$A$5} 往下拉呢?
D1給的範圍不只一格,那...所要的那"一個值"是哪一個呢?
由公式所在的位置往範圍走去,走到A1,YES,就是它了
D2...就找到A2
A1~A5在直的方向有5個位置(1~5),在橫的方向有1個位置(A欄)
所以凡公式在1~5列的往範圍走去,都只會碰到一個值,
在D6,直走不到公式,轉彎呢? 那看A6的情形
A6往上走,哇,有5個值,無法顯示....
所以D的公式會是5 4 3 2 1,再往下就錯誤值
回想一下B1~B5
=$A$1
在B1時,直走,走到A1
在B2~5時,走一次走不到,但轉彎後,只有一個值,顯示沒問題。
E1發生什麼事?
給"一堆值",哪些值? {A1:A5}={5;4;3;2;1}
往下拉到E5,還是這堆值,所以顯示都一樣。
為什麼是5? 因為5是第一個嘛~
其他人呢? 好,E1公式拉到F1
現在F1公式是 {=$A$1:$A$5}
用滑鼠選住F1:F5
注意選住的範圍中,F1是白色,其他都是淡藍色,
這表示圈選區的焦點是F1,而F1有公式
按"F2"功能鍵(XD 真巧),進入編輯狀態,公式已經有了,按Ctrl+Shift+Enter
5 4 3 2 1 全都出來了
現在總算有地方讓後面的兄弟姊妹們透透氣
所以,E1~E5看到的是五個大哥,其實後面都跟了四個人(不恐怖不恐怖)
F1:F5就是多儲存格陣列公式,好多個格子來放一個公式的結果
還有什麼把戲?
"次方"
G1
=$A$1:$A$5^2
H1:H5
{=$A$1:$A$5^2}
經過上面單純的引用實驗
現在次方的結果也很容易了解了
於是,加入函數吧:SUM
I1
=SUM($A$1:$A$5)
此時不是陣列公式
所以A1:A5要去找對應的"一個值"嗎?
嘿,別急,你看,還沒碰到"="這個運算子呀
(總算感覺到 = 的存在了嗎? XD)
SUM收到一個範圍之後,就把矛頭指向這個範圍,把數字通通加起來,變成
=15 很熟悉的計算過程
J1
=SUM($A$1:$A$5^2)
唔...剛剛寫過()裡的式子
^乘冪計算子需要我們決定是"一個值"還是"一堆值"
看G1,現在J1成為
=SUM(25)
結果當然是25囉
J的結果和G一樣
K1
{=SUM($A$1:$A$5^2)}
現在要"一堆值"了
$A$1:$A$5^2的一堆值是
{5^2;4^2;3^2;2^2;1^2} 計算後
{25;16;9;4;1}
SUM收到一堆值,就把它加起來,結果55
好吧,上面的式子雖然都很簡單,
但陣列公式的基本運作其實也就這樣,
剩下的就是一些巧思,
撒豆為兵,讓各元素一聲令下衝鋒陷陣囉~
了解後,即使沒有巧思,
好歹也是位將軍了:P
附檔
http://kuso.cc/37sj
當然,到這樣為止,"維度"的確還沒完全打開
還是請看看"取不重複資料"才會過癮:)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.164.50.204
推 higger:J大太強了... 01/09 07:20
推 sti571:感謝J大(膜拜),我會花時間學習的,多謝賜教 ^^ 01/09 09:12
推 behind0416:感謝~ ^^ 學習中! 01/09 11:42
→ JieJuen:^^ 某方面來說我也是新手,所以才記得怎麼學習的.歡迎指教~ 01/09 18:09
推 mddc62:J大太強了....佩服!!佩服!! 01/09 18:59
推 ozone:感謝!!!! 獲益良多!!!!!! 11/10 22:53
→ JieJuen:用到陣列的普通公式好例子 #19TIqvWu 8363 01/20 09:50