2006年9月27日 星期三

[EXCEL] 沒有規則的資料轉換-查表法

 
  相關函數IF() / VLOOKUP()

  EXCEL最常用的功能之一,是做資料的轉換。例如,日期轉成星期,半徑轉成圓面積等等。有規則的資料轉換,可以單純用函數或數學運算式來做,例如,A1 為半徑,圓面積 B1

=PI()*A1^2

  那麼,如果資料轉換不是單一的規則呢?例如,當半徑是負數時,希望顯示文字「錯誤的半徑」,而不是直接套公式運算。此時,可以用函數 IF() 來處理:
##CONTINUE##
=IF(A1<0,"錯誤的半徑",pi()*a1^2>

  再複雜一點,如果半徑為零時,希望顯示「半徑為零」,那麼,可以做多層的 IF() 來處理:

=IF(A1<0,"錯誤的半徑",IF(A1=0,"半徑為零",PI()*A1^2))

  更複雜一點,如果資料轉換根本沒有規則呢?例如,要把學生的學號轉換成姓名,那該如何做?EXCEL提供一個函數 VLOOKUP(),可以做表格查詢,即使沒有任何規則,也可以做資料轉換:


  先在 A2:B5 建立一個對應表格,用來查表。在 E1 輸入函數

=VLOOKUP(D1,A2:B5,2,0)

  那麼,只要 D1 的值改變,EXCEL就會自動到 A2:B5 這個表格去查表,找出第一欄的值等於 D1 的資料列,再把相對應的姓名顯示在 E1 上,完成沒有規則的資料轉換。

有趣的EXCEL

 
  EXCEL 是一個很有趣的軟體。

  它提供了很多函數,可以做一些基本的計算和查詢,例如加總,平均,條件搜尋等等。而這些基本函數又可以進一步組合出千變萬化的功能來。就像積木一樣,最後的成果,取決於你天馬行空的創意

##CONTINUE##
  創意,需要累積。希望這裡累積的各種經驗和創意,能引發出更多的創意。

2007/1/31 補充:

  我不會 VBA,但是我會 C 語言,所以 VBA 對我而言,應該只是要熟悉它的語法,物件結構及函數的應用。 (應該是吧!?)

  VBA 功能很強,所有能用函數做出來的功能,用 VBA 都做的出來。不過,一旦用上 VBA,就只是單純解問題而已,不懂寫程式的人,永遠還是不懂如何解問題。

  我的想法是,Excel 可以分三個層次:操作使用函數VBA。我比較喜歡在 Excel 的函數中打轉,讓不懂寫程式的人,只靠套用函數,就能一定程度的解決問題。畢竟,從套用函數到寫程式,是一個不小的門檻。

2006年9月19日 星期二

與羊共舞-清境農場

 
  8 月 6 日,一路從台中殺上南投,目標是清境農場青青草原上著名的綿羊秀

   假日的清境農場可以用爆滿來形容。公路兩旁滿滿都是人,停車位一位難求。青青草原有兩個入口,各有不小的停車場,但是我還是找不到停車位,眼看 2:30 開演的時間快要到了,我放下老婆孩子先去看綿羊秀,自己再繼續往前找停車位,這是身為司機的宿命。幸好,再往上一小段距離,公路的右手邊就有一片不小的免 費停車場,是特產店附設的,空空盪盪的沒人搶,往回走路也只需五分鐘,是苦命的司機另一個不錯的停車地點。

  綿羊秀以牧羊犬趕羊下山開場,在台灣是難得的景觀,小朋友也看的興奮不已。

##CONTINUE##
  剪羊毛的過程倒是一般,沒啥看頭。令我驚喜的是,剪完羊毛之後,會把所有的綿羊都放出來,也就是說,所有人都可以近距離和綿羊接觸,不會只是遠遠觀看而已。

  而園方則理所當然的可以再賺一票綿羊飼料費

  綿羊吃飽了,理所當然會有一些「產出」,請小心你的腳步。

  山下是酷熱的夏天,山上卻已頗有涼意,坐在滿眼青翠的青草坡上,看著成群的綿羊在遠處閒逛,在身旁漫步,清涼的薄霧一陣一陣的湧來,又一波一波的退去,酷熱的八月天,這裡可算的上人間仙境了。