跳到主要內容

如何使用Excel控制項

如果你希望做出一份優秀的Excel,「控制項」是一個必學的項目。最常見到的控制項像是下拉式選單、點選按鈕,無須學過困難的巨集寫法,就可以寫出具有互動功能的Excel試算表。

以下使用的是輔仁大學經濟系的曹維光老師所提供的範例,檔名為Excel-1.xls的練習檔案。分頁當中可以看到房屋貸款房屋貸款練習的兩個分頁,我就先介紹房屋貸款的設計理念,然後我們再來動手作作看。

房屋貸款分區解釋

綠色區域是整個資料的來源,將會被引用到控制項練習(紅色區)與VLOOKUP練習(黃色區)。至於藍色區,由控制項設定時產生,可以作為運算或是索引資料時的利用;這部份是給Excel文件設計者使用,對於Excel使用者來說沒有什麼意義。




在做各個儲存格的公式介紹前,要先說一下。曹老師已經完成儲存格命名,如B6儲存格的名稱預設就是「B6」,但是為了提醒大家那一個儲存格在公式中的運算意義,因此命名為「購屋自備款」。這一點雖然很麻煩,但未來在修改這份文件時會比較輕鬆,知道這個儲存格的意義。


我們來看一下控制項(紅色區的運算流程)

  1. B2:用下拉式方塊來選擇地段名稱,資料的行數放在「藍色區」的「地段名稱序號」
  2. B3:用INDEX或VLOOKUP從資料當中挑出「地段名稱序號」對應的「每坪價格」
  3. B4:用微調按鈕來調整購買坪數
  4. B5:將B3×B4得到「房屋總價款」
  5. B6:這裡老師似乎打錯了,自付款應該為「總價款×C6/100」但老師打成「×C6/10」
    C6:用微調按鈕來調整自付款的比例
  6. B7:銀行貸款就是B5與B6的差額
  7. B8:用微調按鈕將數值傳到藍色區的H3,再將「H3/10000」作成貸款利率
  8. B9:用微調按鈕將數值傳到藍色區的H12,將「H12×24」,即可將月份改為年
  9. B10:用微調按鈕將數值傳到藍色區的H9,將「H9×」10000,得到薪水
  10. B11:用PMT函數算出每月分期付款的數值,數值為負的(費用)
  11. B12:將薪水加上分期付款,就可以得到每月的可支配所得。

從整個設計當中,我們可以察覺所謂的控制項,重點就在表單的運用。因此只要知道怎麼用表單就OK了。


下拉式方塊

下拉式方塊

拖曳出下拉式方塊後,按右鍵→控制項格式,可以在當中設定資料的來源(某一行)。在選取資料範圍時,可以讓你顯示資料所在行數(稱為序號),這可以幫助你在之後的運算,因此設定這個數值出現在那一格。這樣就是下拉式方塊。



微調按鈕

微調按鈕

同樣用右鍵可以修改微調按鈕的功能,要設定的只有四個地方:最小值、最大值、遞增值,與最後數值出現的地方。

重點在於,微調按鈕只能輸入整數值。如果你希望讓使用者可以選擇小數值,就要麻煩一點。

例如:如果你今天希望出現的數值為9.25%,要先將微調按鈕輸出的值放在C1,這時C1=925,但這不是你要的。因此你要在另一格B1輸入公式(B1=C1/10000),這樣才能讓微調按鈕的數值變成小數位數。

留言

這個網誌中的熱門文章

浴室蓮蓬頭水量復活了!

狀況是這樣的,進入冬季之後開始感覺熱水器的水似乎越來越常忽冷忽熱,熱水洗不到兩分鐘馬上就變成冷水,由於狀況太過頻繁因此開始上網查查可能的原因有哪些。

熱水器進水量太多,熱水器來不及燒熱熱水器裝錯,大廈用裝成公寓用(水壓不同)水壓不穩,建議裝個加壓器蓮蓬頭卡到沙子水管內鈣化.....
個人相當偏向簡單容易的解決方法,所以調整了水塔的水量,也把蓮蓬頭打開來清了清,順便把櫻花牌熱水器的溫度調了又調都沒有明顯的改善效果。

這時讓我比較驚奇的事情發生了,因為數年前曾經發生不良的洗手臺可能因為熱脹冷縮的關係而發生爆裂的情況,因此我很久沒有使用洗手臺裝熱水來使用。但因為逼不得已,打開洗手臺開熱水使用,竟然發現熱水可以源源不絕地供應,這代表說從水塔到熱水器到浴室的運作都是正常的,那代表的是蓮蓬頭有問題!

蓮蓬頭多半有個旋扭,可以決定是由蓮蓬頭出水還是下方的水龍頭出水,兩邊的出水量都一樣小就代表進水的時候有問題。而這時我在 Mobile01 上頭找到了相同狀況的苦主,用了他的方法竟然一試見效。

先全開熱水
再用一字起子將制水塞(螺絲) 轉緊轉鬆 轉緊轉鬆 轉緊轉鬆
就看到一些砂狀污垢流出
熱水的水量就恢復正常
沒錯,就是拿一字起調整熱水管線下方的螺絲,順時鐘轉緊時,水量會變小;逆時鐘轉鬆時,水量會變大。重複幾次這樣的動作後,我終於看到我的蓮蓬頭有了正常的水量,原來是負責水量的螺絲因為長時間使用,空隙被一些鈣質給填滿,造成水量變小。

為什麼水量變小會影響到水溫呢?因為現在的熱水器都有防空燒裝置,當熱水水量過小的時候就會自動熄火,你需要把熱水關起來重新打開才會讓熱水器重新點火。當你的蓮蓬頭水量過小卻很熱時,你會降低熱水的水量並且提高冷水的水量,此時熱水溫度降低而熱水量低到某種程度的時候就會讓熱水器熄火,接著就是清涼的冷水從蓮蓬頭灑到你的身上,透清涼啊XD


插曲:

當我對蓮蓬頭完全失望時,拿著水盆猛從臉盆撈水沖澡的我,還真想買這款產品,可以將臉盆的水龍頭轉接到蓮蓬頭的工具,《面盆沐浴切換頭》,真是超吸引人的。



Ref
(己解決)浴缸水龍頭及蓮蓬頭純熱水是純冷水出水量的1/3, 是水龍頭內阻塞? 還是熱水水管阻塞? - Mobile01行動版 - http://goo.gl/NTBrl 面盆沐浴切換頭 、水龍頭及水管修理零件 | 水材/防水商品 - 特力屋 - http://goo.gl/uA…

合併多個 Excel 檔到一個工作表中

最近工作遇到一個問題,需要去檢驗近千個檔案的內容是否有問題。檢驗的方式雖然可以透過函數來判斷,但是上千個檔案量光是打開就覺得麻煩,覺得在驗證之前一定要把檔案想辦法合併起來。

巨集合併M Riza 先生提出一個很棒的方法,"Merge multiple excel files into a single spreadsheet (MS Excel 2007)"。

Step by Step開啟 Excel,按下 Alt + F11 叫出巨集編輯器,貼入網站中的 Code
修改第8行的路徑,改成需要合併的 Excel 檔存放路徑
按下執行鍵就 OK 了
心得儘管是 CSV 檔案也能正確合併。
這邊要注意一件事情,Code 當中的 A2 是起始的儲存格,在合併過程中會忽略掉標題列,直接從第二列開始複製;若是你想連標題列都合併起來,請改成 A1。IV 是他的複製欄寬,可以改成自己想要的欄寬。
Range("A2:IV" & Range("A65536").End(xlUp).Row).Copy
值得注意的是,雖然這個方法是給 Excel 2007 使用,但 Excel 2007 開始有個重大變化,就是 Excel 最大列數從 2^16 次方改成了 2^20 次方。這代表你可以處理的資料從 Excel 2003 的 65,536 筆增加至 1,048,576 筆。
心得第二點的發現是因為我合併了所有的檔案,還很慶幸原來只有六萬多筆,最後慚愧地發現原來資料數量有三十萬筆,而 Code 當中卻只設定到 65,536 筆,只需要把 A65536 改成 A1048576 即可。

2^4 代表的是16倍的資料處理量,過去 Excel 2003 只能處理六萬筆資料,如今拜軟體、處理器的提升,我們比起過去的人擁有更大的優勢來處理資料,感謝技術的進步。

JMC ExcelJeeShen Lee 李毅胜先生也寫了一個 Excel 巨集,"JMC Excel – Join, Merge, Combine multiple Excel sheets or Excel workbooks",畫面是我喜歡的簡潔類型,試用版可以一次合併 10 個檔案,如果你想要完整版的話可以寫信給作者花個 $7 購買他的檔案來使用看看。

不…

ASUS 主機板驅動全裝卻還有黃色驚嘆號?也許你少裝了這個…

今天重灌了一台電腦,主機板是 ASUS P9X79 WS ,照例上了 ASUS 的官網下載了相關的驅動程式安裝,因為原始的驅動程式光碟已經毀損無法使用。

等到全部安裝完,連 Windows 7 的更新結束後,裝置管理員內的部份硬體依然出現黃色驚嘆號( yellow exclamation mark ),這顯然代表我有什麼東西沒有裝到。

問題:安裝了所有驅動程式,還是有部份裝置沒被驅動SM匯流排控制器基本系統裝置( Base System Device ) x N 個
解決:你可能真的有東西沒裝到,例如…

我通常安裝的都是置頂的晶片組驅動程式,也就是使用綠色框框的 MEI 驅動程式,安裝完成之後也的確可以正常運作。

MEIIntel(R) Management Engine Interface
我再回頭到官網看一下,奇怪,為什麼舊版本的驅動程式反而容量大許多,新版只有59MB,舊版卻有 255MB。

好奇安裝了一下,黃色驚嘆號竟然全部消失了。該死,原來我一直少裝這款驅動程式。

ChipsetIntel(R) Chipset Software Installation Utility
如果你有相同問題,不妨回頭到官網,找一下 Chipset 驅動程式,就挑最容量大的那個吧!