2008年10月29日 星期三

[軟體] IBM ThinkPad 取消 Fn+Space 功能鍵

 
  手邊有一台 IBM ThinkPad X61 的筆電,平常使用還算稱手,唯有一件事情很惱人,就是想做「中英文輸入法切換」的時候。

  ThinkPad 的左下角鍵盤配置,Fn 鍵在最左邊,再來才是 Ctrl 鍵,而一般桌機鍵盤最左下角卻是 Ctrl 鍵。當我想按 Ctrl+Space 做「中英文輸入法切換」時,依照桌機鍵盤的使用習慣,卻老是按到 Fn+Space,變成「螢幕放大」。每當打字正順時,突然螢幕放大了,我就有一種想把筆電給砸爛的衝動....

##CONTINUE##
  本來以為 ThinkPad 會附設定軟體,可以把這個功能關掉,可是卻遍尋不著。直到昨天才在 Google 上找到答案:原來這個功能不是用「關掉」的,而是用「移除」的,只要移除掉一個叫做ThinkPad FullScreen Magnifier」的軟體,這個 Fn+Space 鍵就沒有作用了。

  還看?快去移除軟體啦!

2008年10月27日 星期一

[EXCEL] 交集,聯集,差集

 
  兩組資料,如何求它們的交集聯集,和差集?(什麼叫差集?維基百科有詳細說明。)


  如上圖,有兩組資料,集合A是九月請假名單,集合B是十月請假名單,
  • 它們的交集,就是「兩個月都請假的名單」,如C欄;
  • A對B的差集,就是「只有九月請假,十月沒有請假的人」,如D欄;
  • B對A的差集,就是「只有十月請假,九月沒有請假的人」,如E欄。
  怎麼算出來的?且聽我慢慢道來。
##CONTINUE##
  之前我有一篇文章,叫做「排除重複的資料」,它主要是在過濾同一組資料,讓重複的資料只列出一次。這次的公式原理和它大同小異,但是會使用網友夏日大大修改過的進階版本,說明如下。

  求交集的公式是 C3

  =INDEX($A:$A,SMALL(IF(COUNTIF($B$3:$B$6,$A$3:$A$11)>0,ROW($A$3:$A$11),65536),ROW(A1)))&""

  這是一個陣列公式,請用 CTRL+SHIFT+ENTER 完成輸入。公式可往下複製。出現 #NUM! 時,表示已經超出合理範圍;出現空白時,表示名單已經列完了。

  這個公式的原理,是以A集合為主,利用 COUNTIF($B$3:$B$6,$A$3:$A$11)>0 找出A欄的資料是否在 $B$3:$B$6 的範圍中出現過,如果出現過,表示兩邊都出現過,是交集的一部份,則傳回A欄資料的列數。反之,則傳回 65536,這是最大的列數,其內容通常沒有值。

  A 欄資料的列數會形成陣列,再用 SMALL() 做排序,INDEX() 把列數轉為資料,就可以得到 C 欄的名單了。

  如果交集的名單已經列完了,接下去會列出第 65536 列的資料,Excel 會自動把它轉成 0。因為出現 0 有點奇怪,為了把 0 變成空白,所以在公式最後加上 &""

  交集看懂了,差集應該就沒問題了。D3 是利用 COUNTIF()=0,以A集合為主,找出在 $B$3:$B$6 的範圍中沒有出現過的資料,就是A集合有,B集合沒有的差集了。

  =INDEX($A:$A,SMALL(IF(COUNTIF($B$3:$B$6,$A$3:$A$11)=0,ROW($A$3:$A$11),65536),ROW(A1)))&""

  E3 則是把A集合和B集合對調,以B集合為主,找出在 $A$3:$A$11 的範圍中沒有出現過的資料,就是B集合有,A集合沒有的差集了。

  =INDEX($B:$B,SMALL(IF(COUNTIF($A$3:$A$11,$B$3:$B$6)=0,ROW($B$3:$B$6),65536),ROW(A1)))&""

  至於聯集呢?聯集就是集合和差集的總和,也就是A欄加E欄,或是B欄加D欄的總合。

2008年10月22日 星期三

是非對錯

 
  世間事可以粗分為兩類,一類叫「見仁見智」,一類叫「是非對錯」。

  意見可以不同,政策可以不同,信仰可以不同,國家認同可以不同,我認為這都是可以理性討論的,見仁見智的問題。

  清廉為是,貪污為非。誠實為是,說謊為非。激烈辯論為是,暴力傷人為非。查明真相為是,惡意誤導事實為非。這些沒什麼好討論的,對就是對,錯就是錯。惡意去顛倒是非,只是降低自己的格調罷了。

  話說,綠營人士圍堵海協會副會長,導致人家跌倒受傷。到底有沒有「出手打人」?因為現場一片混亂,這是屬於公說公有理,婆說婆有理的「見仁見智」的問題。

##CONTINUE##
  依我個人看電視重播的淺見,我比較偏向是「綠營人士過度靠近大陸人士,在轉身之時無意撞倒對方」。當然這是我的個人意見,你可以不同意。我說過,這是「見仁見智」的問題。

  如果沒有「出手打人」,那麼有沒有「暴力攻擊」?我相信他們沒有「出手打人」,但是絕對有「出腳打車」,也絕對有「聚眾圍堵」,也絕對有「湊到人家鼻子前面揮舞雙手」,這樣算不算暴力攻擊?別人怎麼想我不知道,但是如果我自己被「出腳打車」「聚眾圍堵」,那我絕對是把他歸類為「暴力攻擊」的。或許你也不同意我的意見,沒關係,因為這也是個人主觀感覺,「見仁見智」的問題。(曾經被「聚眾圍堵」的葉金川應該會同意我的觀點,呵呵。)

  比較嚴重的,反而是事情背後的一些說詞,聽了真令人無言以對!

  民進黨立委葉宜津說:「這種人我們不認為他是客人,我們認為他是敵人,所以我想沒有任何一個人會對你的敵人客氣的。

  李俊毅則說:「對張銘清算是客氣的了。

  天啊!原來意見不同,信仰不同的人就是敵人,就可以不用客氣....這種論述如果是對的,那我們還能安居樂業嗎?這已經不是「見仁見智」的問題了,而是「是非對錯」的問題,能把錯的事情講的這麼理直氣壯,當真是顛倒是非,令人不寒而慄。

  後記:雖然支持的球隊不同,兄弟象和統一獅的球迷千萬不要學這些政客,不要真的「對敵人不客氣」,就來個「聚眾圍堵」啊....

2008-10-23 補充:

  民進黨主席蔡英文說:「這如果不是故意挑釁,也非常幾近挑釁。

  這下可好,自認為別人挑釁,就可以「聚眾圍堵」?就可以「湊到人家鼻子前面揮舞雙手」?原來飆車族因為別人看你一眼,自認為被挑釁了,把你圍堵起來,這樣是對的!?

  別人用言語挑釁你,你可以用言語挑釁回去啊!不同的意見,彼此用言語激烈辯論,那是民主常態,就算拍桌子摔預算書,我都支持你!但是用「聚眾圍堵」,用「湊到人家鼻子前面揮舞雙手」這種手段,那就有在先了。蔡英文女士,沒想到你也墮落到是非不分的地步了.... 唉....

2008-10-31 補充:

  想不到不幸命中,昨天晚上,部份象迷真的因為認為獅隊林岳平有挑釁的動作,就真的「對敵人不客氣」,就真的來個「聚眾圍堵」了.....

  民進黨主席蔡英文啊,不知道你贊不贊同這些象迷們的做法呢?唉....

2008年10月15日 星期三

[EXCEL] 找零錢

 
  有 50, 10, 5, 1 塊的銅板,要找零錢 89 塊,要幾個 10 元,幾個 5 元銅板,才能湊出來?當然你可以針對各幣值一個一個去設計公式,不過這裡有更簡單的通用公式,給你參考。

##CONTINUE##
  如上圖,如果有 1000, 500, 100, 50, 10, 1 六種幣值,要湊出 14,523 元,要怎麼湊?

  對最大幣值而言,比較簡單,金額直接除以幣值,再取整數即可,B2 =INT(A2/B$1)。公式可直接往下複製。

  對其他幣值而言,其實也不難,金額先減去較大幣值的金額,再除以幣值,取整數即可。以 D2 的 100 元為例,14523-(1000*14+500*1)=23,INT(23/100)=INT(0)=0,完成。剛好,(1000*14+500*1) 這個算式可以用 SUMPRODUCT() 來計算,所以 D2 的公式就成為

  =INT(($A2-SUMPRODUCT($B$1:C$1,$B2:C2))/D$1)

  這個公式已經考慮過相對位址問題,所以可以直接複製到 C2:Gx 的所有位置。

  這個通用公式的好處是,它可以適用於任何幣值組合,只要遵守由大到小的順序即可。例如,如果有某個幣值剛好沒銅板了,我們只要把那個幣值整欄刪除即可,公式不必修改就可以正常換算。

  例題中的 A5:F7 是沒有 500 元紙幣的狀況。只要幣值所在列沒變,公式就不須做任何修改,當然,因為 A5:F7 幣值所在列已經從第1列變成第5列,所以公式也要配合修改,C6 的公式為

  =INT(($A6-SUMPRODUCT($B$5:B$5,$B6:B6))/C$5)

  這類問題,在台灣相對簡單,因為台灣的幣值都是 5 或 10 倍為基礎,比較好換算。(或者是我們已經習慣這種換算法了?)像上次我去美國出差,美國的銅板有 quarter,也就是美金 0.25 元,害我每次找零錢都會打結。如果用 Excel 來算,同樣的公式,只要更改幣值,一樣可以適用。例題中的 A9:G11 是美金銅板換算的狀況。

2008年10月14日 星期二

校外教學專用-關西茶緣農場

 
  9 月 27 日,薔蜜颱風前夕,天空還下著毛毛細雨,我們以畢業校友的身份,參加丫丫的幼稚園辦的校外教學活動,目的地是新竹關西的茶緣農場

[斗笠彩繪,彩繪完戴起來,馬上變身成小茶農]
##CONTINUE##
  茶緣農場,沒啥風景可看,但是活動超多,室內場地超大,非常適合辦國小或幼稚園的校外教學,我還是第一次看到這種經營方式的農場。

  因為主人是茶農出身,所以活動也都或多或少和茶葉有關,包括斗笠彩繪,茶香發粿,搗茶葉麻糬,茶包製作等等,本來還可以去茶園體驗採茶的,不過因為下雨取消,有點可惜。其他的活動則因為室內場地超大,可以風雨無阻順利進行,真是不可思議。

[茶香發粿 DIY,大人覺得很無聊,小朋友玩的超認真]

[迷你動物區,動物數量不多,但是可以免費餵牧草,專門討小朋友歡心]

[要把糯米搗成麻糬,真的要花不少力氣,大人累翻了,小朋友 High 翻了]

[茶包製作,其實只是把茶葉裝進茶袋中而已]

[超大室內沙坑,只要活動有空檔,這裡就會擠滿小朋友]

  除了 DIY 活動之外,農場還設了一個超大沙坑供小朋友玩沙,另外還養了幾隻羊,馬,豬,鴕鳥等動物,甚至有泥鰍池可以捉泥鰍,很明顯是為了吸引小朋友而養的,頗有來此一遊就可以玩遍所有活動的意味。

  所有的活動,都有農場的工作人員來協助引導,帶隊老師可以樂的輕鬆,對於學校辦校外教學來說,大概是最完美的場地了吧

  茶緣農場官方網站:http://www.tee-home.com.tw/

2008/11/18 補充:

  交通資訊官方網站上的交通路線圖實在做的不怎麼樣,可以參考下面的走法:
  • <北二高>關西交流道下→往關西方向走118縣道→在118縣道24K處(天主堂)左轉竹27(即光明路)→往六福村、龍潭方向→於六福村大門口前左轉竹18線→直行接竹18-1線於1.5K處→即達「茶緣休閒農場」。
  • <中山高>竹北交流道下→往新埔方向118縣道於16.7K處(路口有OK便利商店,近亞森觀光農場17K)→左轉竹18線→直行接竹18-1線於1.5K處→即達「茶緣休閒農場」。

相關文章:

2008年10月13日 星期一

「魚」慶日

 
  國家生日,叫國慶日。所以,我家的大魚生小魚,叫「魚」慶日。

[聽說母魚會吃掉小魚,所以趕快隔離開來。]
##CONTINUE##
  其實,這是我養的第三批孔雀魚。第一批孔雀魚,是從我弟那裡分過來的魚寶寶開始養起的,養了半年多,最後莫名其妙全數陣亡,至今仍是懸案。

  第二批,是從魚店花了一百塊買回來的成魚,養了沒多久,一樣全數陣亡。

  這第三批,則是從我姐那裡分過來的魚寶寶開始養起,本來有六隻,現在只剩下兩隻,剛好一公一母,沒想到在國慶日生了大約二十六隻的魚寶寶,聽說母魚會吃掉小魚,所以趕快隔離開來。阿彌陀佛,上天有好生之德,之前我不小心戕害了一些小生命,現在一次都補回來了,善哉善哉。

  問我怎麼養的?這也是懸案。不開過濾器,不打燈,不放水草,不洗魚缸,只是每天餵飼料,清清魚大便和殘餌,偶爾換個半缸水,然後魚就長大生小魚了。奇怪,之前又過濾又洗魚缸又打燈的,魚反而陣亡了....看來養孔雀魚,不能對它們太好囉!?