星期三, 12月 05, 2007

用SUMPRODUCT函數做「兩條件加總」

梅酒 @ 星期三, 12月 05, 2007
最近工作上剛好碰到需要使用到這樣的功能,那時候有點趕著要,所以我用自己的解法,用最笨、最原始的方式做出來,那樣會需要好幾個欄位當中繼欄位,才能得到最後的結果。

單一條件的加總,可以用SUMIF()這個函數輕鬆達到。很簡單。我就是用這個函數解決問題的。但是就是多了兩欄中繼欄位,表格不夠漂亮啦!(←雖然可以隱藏欄位,囧)

在Google搜尋到Excel Help論壇的解法,酷!
參考 兩條件加總 from Excel Help。

星期六, 12月 01, 2007

骰子高手

梅酒 @ 星期六, 12月 01, 2007
之前有在我猜上看到類似的神人,不過找不到影片了。
我覺得這個神人比較厲害啦!不用一堆奇奇怪怪的架式,動作很自然。

星期三, 10月 17, 2007

用函數達到(兩條件)自動查表

梅酒 @ 星期三, 10月 17, 2007
在Excel中最常用的查表功能是Vlookup、Hlookup,這是最直覺拿來套用就可以的了!不過他們有個限制,資料需要經過排序,如果沒排序的話,函數搜尋出來的資料會出現錯誤。在這裡就不探討這兩個函數了!
其實我最喜歡用INDEX和MATCH函數來達到相似的功能,好處是不需要排序,比Vlookup、Hlookup好這麼一個功能。不過MATCH函數也有缺點的啦,就是他找MATCH資料的話,資料要是唯一的!!這裡不懂沒關係,我先講起來放而已!(不然我真不知道怎麼起頭這篇文章)

假如有一筆資料如下圖:

星期五, 4月 06, 2007

MS Excel排除(篩選)掉相同資料

梅酒 @ 星期五, 4月 06, 2007
很多時候自己用excel處理資料時,常常會碰到一個欄位中有重複的資料,如果我想要知道這一欄裡面有幾筆不一樣的資料時,要是一個一個看、一個一個比較的話,不只會令人抓狂,更慘的是可能會遺漏掉。

像這欄一堆姓名有些重複的,我想要剃除掉重複的,每個人名都只列出一個就好。這就是這篇文章的目的了!(自己在try excel功能時一邊在看電視,臨時抓了幾個人名進去,沒有別的意思!)


有關「陣列公式」的用法,看了一堆文章自己實做了好幾次都還抓不到頭緒,在『[EXCEL]排除重複的資料』中我終於悟出究竟那個環節搞錯了!這也是本文的一個大重點,因為寫這篇就是我自己的筆記啦,免得哪天需要用到時忘了!

下載範例檔:


星期二, 3月 13, 2007

MS Excel隱藏的攝影功能

梅酒 @ 星期二, 3月 13, 2007
今天在Google上隨便搜尋有關Excel的東西,意外發現這個網站
Excel - 小技巧 - 隱藏的攝影功能
自己簡單地實做一下,大驚豔啊!他一定會是個超好用的功能啦!
順手就寫了個MEMO。
趁這個機會順便再介紹一個人的網誌,可以在那學到很多Excel技巧哦!
Yahoo知識+:Excel應用知識名人

下載範例檔:



實做一下,隨便弄了一個表格、一些資料如下:

(圖一)
1. 把這個區塊選取起來。這個區塊是準備變成圖片的。



(圖二)
2. 按著SHIFT,滑鼠點「編輯」,下拉式選單有個「貼上圖片連結」的選項。點他。


(圖三)
3. 出現了一個「圖片」(紅色框起來的部份),圖片工具列也蹦出來了。這圖片有什麼了不起的?他如果僅是死的圖片,那我用Print Screen不就得了?!這個功能厲害的當然是因為這個圖片不是死的囉!


(圖四)
4. 當你修改原始表格裡的資料,這個「圖片」也會跟著改變哦!酷吧!?


下載範例檔:paste linking pic.xls


~~~好吧!其實也還好啦!不過這更加強了我對EXCEL骨子裡都是函數的看法了!畫曲線圖的那種圖表也是一個函數,這個例子講了以後,這其實也是一個函數。你點選這個圖,除了跳出一個「圖片工具列」之外,在「資料編輯列」那邊顯示出「=$A$3:$E$7」,表示的就是這個圖片引用的區域儲存格(參照)。
因此,如果你把這個圖片copy到該檔案的其他sheet的話,這圖片所引用的則是該sheet的「=$A$3:$E$7」這個範圍的資料。

星期日, 3月 11, 2007

excel轉置表格同時保持連結

梅酒 @ 星期日, 3月 11, 2007
在excel中遇到又要「連結」儲存格,又要「轉置」表格的話,真不知道該怎麼辦!沒辦法很直覺的用手動操作出來。
當你複製了幾格儲存格要貼到其他儲存格時,可以按右鍵選擇「選擇性貼上」,可是注意到,勾選了「轉置」的選項「貼上連結」的按鈕就不見了。
(圖一)
尷尬了。如果我剛好是要重新整理排列原有的資料的話,除了不想動到原來的資料之外,還想要做到「如果原有的資料有更動/新增的話,就自動變更」,這樣一定要用連結的嘛!可是又要轉置原來的資料呢?就比較棘手了。


要把上面橫向排列的資料轉置成下面那個藍色的區塊(轉置),而且上面的資料如果有變更/改了文字或數字,下面會自動跟著改變(連結)。

只好用函數來解決這個問題了。在這裡會用到的函數有ROW(),ADDRESS(),INDIRECT()

先講excel的基本觀念。單一個函數的功能可能沒有很強大,可是當很多函數組合起來,一個包一個,就能組合出很有用的功能囉!
假設我們有個包了三層的函數,A(B(C(xx))),A包B,B又包C。而實際解析的過程是C解析出值丟到B(被B引用),B解析出值又丟到A來(被A引用),最後A解析出最後的結果。反正就是,從裡面算出來,裡面的先算
函數中的被括號包起來的叫做引數

=ROW()

ROW這個函數的功用就是秀出該儲存格是第幾列。
(圖二)
這個函數還真是單調無比,可是他用和其他函數包在一起的時候就非常方便了!
(圖三)
把滑鼠移動到儲存格的右下角,滑鼠會變成一個十字形,滑鼠往下移動就可以將這個儲存格複製下去了!這在之後的應用會非常方便。


=ADDRESS(列,欄,參照位址的形式,,sheet的名稱)
在ADDRESS中除了列與欄的引數是必填的之外,其他引數如果沒有特別指定的話,可以只寫成「=ADDRESS(列,欄)」這樣就好了。
=ADDRESS(2,5)會顯示$E$2。第五欄第二列的位址就是E2囉!前面出現錢字號「$」只是絕對位址而已,相對或絕對在這case並不會影響結果。可是如果都只填常數的函數的話,複製到其他儲存格後的結果還是一樣的,ADDRESS(2,5)永遠都是E2。
這個函數就是我找到可以做轉置的關鍵函數了。因為我想到,要是可以把列與欄的數字調換過來,在延伸複製到其他儲存格,不就可以有轉置的效果了嘛?轉置就是行變列,列變行嘛!

我們要讓ADDRESS出現的結果隨著你複製到其他儲存格而有所不同,有相對應的結果出來。=ADDRESS(ROW(),5),照著圖三的方式把這儲存格往下拉。
(圖四)
會E5, E6, E7.....這樣增加。這樣只有「列」的位址增加。剛剛說的,把列的引數和欄的引數調換就有轉置的效果啦!
我們要的結果希望是A1, B1, C1, D1......顯示在A8, A9, A10, A11......
=ADDRESS(1,ROW()-7)
(圖五)
引數寫成ROW()-7,-7是因為放在第8列要讓他ADDRESS的引數顯示成A1, B1, C1, D1.....。

唉,看那麼久,累了嘛?沒關係,我快講完了。

接著再ADDRESS外麵包一個INDIRECT()函數就OK啦!
(圖六)
INDIRECT(位址)函數就是顯示該位址儲存格的內容囉!

(圖七)
同理,在B8欄以下就是用=INDIRECT(ADDRESS(2,ROW()-7))囉!
C8欄以下就是用=INDIRECT(ADDRESS(3,ROW()-7)),D、E欄都是以此類推。不難吧!?

如此一來,你修改了上面橫是排列的資料後,下面縱向排列的結果就會自動變化哦。


UPDATE 2007/04/12:
我今天看了INDEX的用法,好像會比上述的還要簡單耶!上面的方法需要兩個函數包在一起,用INDEX的話好像只需要一個。XD不過等我有空再改。目前在想其他的東西。


UPDATE 2007/12/6:

講了那麼久用INDEX函數來達到轉置且保持連結的解法,過了半年才開始動筆寫。
其實是因為要找資料當範例的不好找,我又不想拿公司的資料出來。麻煩。
昨天寫了使用SUMPRODUCT這個函數來做兩條件加總,裡面的資料順便就拿來用好了。拿來轉置一下。


範例檔來囉:(強烈建議下載回去看,比較具體)


INDEX(陣列, 列, 欄)

陣列:指定預備要轉置的資料陣列,這裡是A1:W3。
:指定哪一列的資料。這裡故意把列的部份寫入COLUMN()這個函數(欄)代入。因為轉置就是欄→列;列→欄才叫轉置ㄇㄟ。這個目的就跟上面講的ADDRESS裡面包的東西的操作概念一樣。
:故意寫ROW(),要-7是因為目前從ROW()=8開始,要讓它變成1,所以ROW()-7。

用INDEX()的方法真是簡單明瞭又快速。

星期日, 2月 04, 2007

《大騙局》的bug

梅酒 @ 星期日, 2月 04, 2007
終於把這本《大騙局》看完了。這是《達文西密碼》作者丹.布朗的作品之一,他的第二本著作。第一本是《數位密碼》、第三本是《天使與魔鬼》。除了《天使與魔鬼》我沒看過之外,其他三本都看過咧。不過我並不會想再看他其他作品了!

有網友說,丹.布朗的作品好像有小說產生器似的,每本小說雖然內容不同,但是文章架構都是一樣的,意慾蔓延-丹。布朗的Deception point 大騙局有人說到,共同點就是第一章都是以一個重要的人物死掉開場;都有反派人物以追殺主角來推進故事的發展;故事主角小時候都有一些不可磨滅的陰影;故事中都會有個最重要反派的藏鏡人。故事架構幾乎如出一轍,好像先前網路上頗有趣的「雜誌專訪產生器」做出來的文章。

因為文章的架構雷同性很大,對於一些情節比較刺激的部份反而不會激起我的緊張心情了!不像我第一次看達文西密碼一樣感覺到刺激而且會一直有想知道待會會發生什麼事情來push我繼續看下去的動力。
這本書令我覺得有趣的大概是他內容提到許多科普的知識,即使作者講的東西不一定對,卻很迷人!科普知識如果都能用小說的方式傳授的話,小孩子鐵定不會那麼排斥自然科學了!呵呵~

以下有講到小說內容的探討,還沒看過小說的,請不要繼續往下看了!

邊看小說邊猜測幕後的主使者到底是誰,有人猜是總統,可是我在看小說的過程中總認為作者有意把讀者導引到認為幕後主使者是總統資政-田奇。會有這樣的認為是因為當主角瑞秋從冰棚上獲救時,這個幕後藏鏡人以「主官」的代名詞密集出現,加上每次情節轉到田奇知道了某件出乎他意料外的事件後,故事中的殺手(三角洲部隊)就會有主官出現給他們新的任務方向。

『主官就是田奇』,給我這種想法的最大支持情節是在於,田奇約國偵局局長出來見面時,三角洲部隊用地獄火飛彈轟。這部份的故事鋪陳令人很直覺的猜田奇想要除掉這一直幫助主角的局長。

直到真正的主官現身,從直昇機上下來和主角談判時,才知道原來真正的幕後主使者是這國偵局局長。這是我很不能理解和接受的轉變。為什麼呢?因為還有一個很重要的情節,引導到我認為主官不應該是局長的想法:

還記得女主角-瑞秋登上了哥雅號後,一直想要跟局長報告目前的狀況、和位置嗎?在這之前,情節已經發展到局長『疑似』被地獄火飛彈幹掉了,所以瑞秋無法想像電話不離身的局長竟然讓他打不進去,取而代之的是一個追蹤電話來源的脈衝訊號。無法和罩瑞秋的局長聯繫上並報告,瑞秋當然緊張,加上瑞秋聽到類似追蹤電話位置的脈衝訊號更是讓他提高警覺,連忙吩咐停在哥雅上的海岸救難隊隊員仔細地盯著雷達上出現不該有的亮點,唯恐殺手從後面追殺!

OK,情節大致是這樣。可是如果幕後的主使者真的是局長的話,如果他正坐在三角洲部隊駕駛的直昇機裡面的話,他何須大費周章地不接電話而是用脈衝訊號追蹤出要滅口的對象的位置呢?這樣不是打草驚蛇嘛?如果幕後主使者是局長的話,他大可接起瑞秋打給他的電話,聽他報告他現在的狀況,而且一邊偷偷地坐上正要去追殺他的直昇機去遂行他的任務啊。而且接電話的同時也可以追蹤瑞秋目前的位置啊!再而且,瑞秋也不會因為聽到追蹤位置的脈衝而提高警覺啊!這樣,也不會特別叫海岸防衛隊特別注意雷達上的狀況了!
幕後主使者就可以直接了當的用地獄火飛彈擊沉哥雅號,不留痕跡。

故事發展到主官走下直昇機,確定誰就是幕後主使者時,我覺得,即使故事情節把幕後主使者改成田奇也是說得通的!應該說,更說得通!偷偷地認為,作者在這裡有點硬ㄠ的感覺。


不過,基本上這本書給了我蠻多不一樣的觀點。其中包含:國家軍方的最高機密,新發明的新型飛行器和空中武器,都用「外星人」的理由流傳在民間,讓民眾相信看到的奇怪飛行物體就是外星人的傑作,可以免除掉一堆解釋機密的麻煩。很酷!


星期日, 1月 14, 2007

開始用blogger

梅酒 @ 星期日, 1月 14, 2007
對於blogger完全是個生手,前陣子看它已經把Beta刪掉了,應該有比較完整的功能了吧!之前也很常在無名、Pixnet寫blog,不過google提供的這個blogger感覺不是那麼直覺化,然而它的設定彈性比BSP提供的blog還要高,網路上可以找到很多code來豐富blog,這算是優點吧。不過這優點對廣大的年輕使用者應該是個缺點。其實很多人只是想寫寫文章,抒發心情而已,要是寫個文章之前還要動很多設定才能PO文,可能會嚇到很多人。

不過,對愛自己調校系統或是設定的人來說,是如魚得水。開始從無名搬一些還有意義的文章過來。

修改了幾個地方,有些調校的功能,從高手那paste到這實作。

1. Blogger最新回應程式產生器 from 堯@部落格。在上面填入一些參數設定,會產生一段code,再回來自己的blogger貼上在side bar就OK了!這是把留言的列表貼在side bar(側欄)上。

2. Blogger聯播程式產生器 from 堯@部落格。類似1.的方法,把最新文章的列表放在side bar上。

3. [Blog]Expendable posts with Peekaboo view(blogger beta),from Kaie's Blog。我在這裡設定每篇文章可以展開/折疊來切換觀看全文/摘要。

4. Blogger beta: 高亮作者評論,from 色彩斑斕。自己在自己的blogger裡面留言,文字會變色。
有空繼續看看其他人的Blogger Hack。

至於blogger提供的css code、Javascript、HTML的意思可以看一下他們自己寫的。Blogger說明。因為想要知道怎麼改佈景,所以最近得研究一下。唉~




ps. 所謂的Hacker不是一般人想的專搞入侵人家的網站惡搞的人,這種人應該是Cracker(怪客)。Hacker(駭客)則是學有專精,不搞破壞的。參考一下維基百科裡說的

在今天以前的文章,都是舊文了!從無名搬過來的。


UPDATE(03/12/07):

其實不用像上面那麼麻煩,有個懶人擴充法。我最後都用這個:
阿土伯程式大觀園,輕鬆擴充Blogger功能
阿土伯直接把code寫好了,直接把javascript引用進自己的Blogger就好了!

星期六, 1月 13, 2007

word的定位點用法

梅酒 @ 星期六, 1月 13, 2007
之前在寫碩士論文的時候,會需要在word中寫入很多公式。其實寫公式不難,只要插入方程式編輯器就ok了,難就難在方程式的排版。方程式幾乎都需要後面註明是第幾個式子編號。方程式的和編號的間隔如果用手動的按空白鍵來隔開,就會造成排版上的困難。都已經用word來編輯文件了,如果不好好利用他的排版設定功能的話,那乾脆用記事本來編輯文件就好啦,有空白的地方全部都用空白鍵隔開~~~文件一龐大,排版會累死人啊!



不如用 word「定位點」的設定,可以達成上圖這樣的效果。

1、先插入方程式「插入>物件>方程式編輯器」,前面紅框部份是方程式編輯器這物件。在方程式後面加上編號 (2-1)註明。



2、設定定位點「格式>定位點」跳出這個對話框。



按照紅字的步驟依序設定。
1. 我們在這框框內輸入14,「字元」兩字是不用自己打的。
這個14數字是要自己抓距離的,多試幾次就可以找到比較適當的位置囉。
2. 按置中,我們要把方程式放在文件的中間。
3. 設定。把第一個定位點確定下來。按了「設定」以後,字元這兩個字就會自己加入了。
這樣就設定好第一個定位點了,14字元,置中。
依照這個方法設定第二個定位點在30字元,靠右。
4. 確定。完成定位點的設定。
但是你還看不到文件有什麼變化。

將游標移動到圖一方程式的最前面,按一下鍵盤的「 Tab」鍵,就會將游標後面全部的東西定位到第一個定位點。把游標移動到方程式和(2-1)之間,再按一下「Tab」鍵,就會把游標後面的東西定位到第二個定位點。
結果就會像第一個圖那樣的結果囉。把方程式和編號排的好好的。

方程式和編號 (2-1)之間的灰色箭頭,就是「Tab」的符號囉,如果你看不到這樣的記號,要「段落>選項>〔檢視〕標籤>定位字元」打勾就可以看到囉。



不難吧?!可是,如果有一堆方程式要打怎麼辦?如果要一行一行設定不也很累嘛?
這時候,就可以用「段落」這樣的屬性來做了,用「樣式與格式」的設定更方便。
其實遇到一堆方程式,又需要一堆編號的時候,用「定位點」和「樣式與格式」的設定一起用,才能完全感覺到這些設定的方便。

word的格式與樣式

梅酒 @ 星期六, 1月 13, 2007
之前還在唸書的時候,有學妹要我用實驗室的印表機幫他印報告,他丟給我一個word檔。我打開檔案一看,差點沒暈倒。裡面一堆用一些全形和半形的空白鍵來隔開他想要空出的地方。比如說每個段落前的縮排之類的。

如果你用word來編輯文件,依舊用一堆空白鍵和Enter來隔開文字段落的話,那不如用記事本去編輯。Word最強的地方也是最方便的地方就是他對文件排版上的方便。可以統一一次把一整個文件排的好好的。前提是,你要知道怎麼設定「段落」或用「樣式與格式」這樣的功能。在文章裡面有一堆空白鍵的地方,會造成編輯文件的困難,如果你的文件有十幾二十頁,編輯到一半發現想要更改某個屬性,你就得一個一個一一去改每個段落,非常不方便。這也就是我想寫這篇文章的第一個原因了。


(圖一)

在你想要設定的段落上,「圈選起來,按右鍵>段落」,不然就是在「格式>段落」裡設定也是一樣的。


(圖二)



1.縮排,設定每段在左邊或右邊各縮幾個字元。如果想要每個段落的第一行最前面縮排兩個字,就要在「指定方式」那選擇「第一行」,出來的效果就像是中文文章常常會用的效果,第一行空兩個字。避免用手動加入空白鍵來當縮排。

2.段落間距,設定每個段落之間的距離,而不要像圖一那樣,每個段落之間都用Enter來隔開。

如果你想把段落裡的每一行之間的距離縮到最小,在段落間距已經設定到最小了還是不夠小,那你可以把「文件格線被設定時,貼齊格線」前面的勾勾取消掉。

用「段落」的設定來編排每個段落的屬性非常基本也非常重要。但是,如果你的文件有上百頁呢?要一段一段都來個右鍵>段落這樣嘛?累死了~這時候「樣式與格式」就非常有用了。

「格式>樣式與格式」點選後,word視窗旁邊會出現一個框框,圖三。

(圖三)這文件裡面所有的段落屬性。

2.顯示,可以選擇觀看什麼樣的樣式。通常我都是選「可用樣式」啦!我只想看到我已經在文件裡設定的屬性有哪些。

3.新樣式,按這裡可以新增自己訂定的樣式在裡面,名稱可以自己命名,自己看得懂就好了。

假設在「內文」這按右鍵

1.「選取相同設定」,會把整分文件內,屬於這個「內文」設定的屬性全部選取。當文件很龐大時,又想要更改所有屬於「內文」屬性的段落的話,可以用「選取相同設定」來一次選取。

修改,修改「內文」的屬性。


(圖四)

1.最基本的段落設定。
2.格式,裡面可以選擇諸如字型、段落、定位點…等等的格式設定。如word的定位點的段落也是可以用格式與樣式來訂定哦。

接下去的排版工作,只需要把文字打一打,一段後圈選起來,然後在圖三那個框框裡「內文」按一下,就可以把被圈起來的那一段文字的屬性,全都變成「內文」了。很方便吧?!排版非常輕鬆。

如果你在寫文章的當中又想要更改某個段落的屬性,只要去「樣式與格式」框框裡面更改那個屬性的按鈕就好了。

例如,我把我的論文撰寫需要哪些排版設定好,



(圖五)

如果我要編輯那段有公式的段落,我只要按「公式定位點」(名稱是我自己取的),那一個段落就可以打公式,然後按「Tab」鍵去隔開公式與編號的距離了。參考word的定位點設定一文,寫這篇文章的第二個目的。論文裡面難免一堆圖和表,那些用來敘述圖表的文字屬性,我也分別都設定在這裡了(表文、表說文字),我只要寫完文字,再按按鈕就可以把屬性設定好了。多方便啊~~

用「樣式與格式」不只方便,還可以用來做目錄的設定。