最近老失言犯錯了~真是糟透了
老天爺,可以再給我一次機會嗎?
我抬頭想問蒼天,但蒼天無語;欲問白雲,只見白雲悠悠 ~"~
星期二, 1月 25, 2011
同學,我們想念你!!
再過個幾天,就是你的忌日。每每想起我們在班上一起嘻鬧的日子,彷彿只是前幾天才發生的事,然而仔細一看,其實已經畢業八、九年,而你也離開了我們一年。我很想問候你這一年過得好嗎、天國上有沒有發生什麼有趣的奇聞異事?但我們都很清楚,你再也無法親口告訴我們你這一年的故事。
一年了,在這段說長不長、說短不短的日子中,我們班還是有些喜事可以與你分享。首先,要讓你知道的是,Willy 娶了個美嬌娘回家,他應該是我們班第一個完婚的男生吧,你在天之靈,記得幫他多添幾個俊男美女~(笑)。再來,班導師也嫁人了,目前定居美國。她其實早嫁人好一陣子了,但非常低調,我是去年才獲知這則喜訊,我猜你一定也跟我一樣非常高與。希望你也能好好保祐她,身體健康與平安。
還有,小白最近這幾天發起了一個聚會,預定會在你的忌日當天去探望你,也希望你能保祐他,讓這場聚會順利與圓滿達成。
一年了,在這段說長不長、說短不短的日子中,我們班還是有些喜事可以與你分享。首先,要讓你知道的是,Willy 娶了個美嬌娘回家,他應該是我們班第一個完婚的男生吧,你在天之靈,記得幫他多添幾個俊男美女~(笑)。再來,班導師也嫁人了,目前定居美國。她其實早嫁人好一陣子了,但非常低調,我是去年才獲知這則喜訊,我猜你一定也跟我一樣非常高與。希望你也能好好保祐她,身體健康與平安。
還有,小白最近這幾天發起了一個聚會,預定會在你的忌日當天去探望你,也希望你能保祐他,讓這場聚會順利與圓滿達成。
星期三, 1月 19, 2011
Excel 實戰筆記之一,用 MS Excel 整理從網路上copy下來的通訊錄資料
上週末,我以前的同事她在工作上遇到了一些需要處理的資料——這應該是從哪裡的網站上蒐集下來的吧!
而她要整理成如下面的樣式:
身為童子軍的我的,當然要日行一善、伸出援手⋯(謎之音:我看你是寒假吃飽太無聊了,在找機會練功吧!)
首先,我們來分析看看這個問題,「應該」會需要作的步驟:
首先前三個步驟,很容易完成,因為資料來源很單純,所以不需要用的複雜的正規表示法(Regular Expressions),只要用普通的「尋找及取代」就可以了。
刪掉每一行的「-----------------------------------------------------------------」
刪掉多餘的空格(註:因為中文的文句中,本來就不會出現空格,所以我用很簡單的方法刪掉各個資料頭尾多餘的空格,但不一定試用於英文的文句中,因為英文地址間本來就容許空格,如用此方法則會連句子中應有的空格也被刪除。)
刪除「TEL:」
完了嗎?還沒!出來的資料還不夠整齊,我還要刪掉多餘的空行。
首先我在最上面的第一列插如一列空行,等一下我才可以用「自動篩選」找出所有的空行,並刪除所有的空行。
在這要用「自動篩選」前,請注意,我們要先選取一整欄的資料欄,否則「自動篩選」只會選到前面的幾列資料。
在「自動篩選」的下拉式方塊裡,我們只要選擇顯示「空格」就可以了,其它的資料都不要勾選。
選取藍色列號的資料列,按滑鼠右鍵選取「刪除列」。
取消「自動篩選」按鈕,我們應該可以看到如下圖的資料:
但是到這裡我們還沒有完成,我們還沒有把這些資料變成一列一列的資料表。但是,接下來我們應該怎麼作呢?我們先來想想看這些資料有什麼規律:
接下來我們需要在C欄第一列(C1)叫用我們的 Excel 函數 INDIRECT ,它可以參照到傳給它的文字,只要該文字符合一定的樣式
例如我這裡填入的
例如在我這個個案中,我的 C1 填如的函數是:
另外後面代表地址的 D1 和代表聯絡電話的 E1 則只要分別在 B1 的後面 +1 和 +2 ,並填滿其它資料列即可:
後記:或許有人會問我為什麼不用程式再加正規表示法(Regular Expressions),首先,因為我不會用 RE ,也不知道那是什麼,能不能用來解決這個問題。再者,我想,這個問題應該沒有困難到要寫程式來解決= =|||
而她要整理成如下面的樣式:
身為童子軍的我的,當然要日行一善、伸出援手⋯(謎之音:我看你是寒假吃飽太無聊了,在找機會練功吧!)
首先,我們來分析看看這個問題,「應該」會需要作的步驟:
- 需要刪掉所有資料間的「-------------------------------------------------------」一串無意義的符號
- 刪掉所有多餘的空隔
- 刪掉電話號碼前的「TEL:」
- 將資料以每三列為一組整理成一列資料表
首先前三個步驟,很容易完成,因為資料來源很單純,所以不需要用的複雜的正規表示法(Regular Expressions),只要用普通的「尋找及取代」就可以了。
刪掉每一行的「-----------------------------------------------------------------」
刪掉多餘的空格(註:因為中文的文句中,本來就不會出現空格,所以我用很簡單的方法刪掉各個資料頭尾多餘的空格,但不一定試用於英文的文句中,因為英文地址間本來就容許空格,如用此方法則會連句子中應有的空格也被刪除。)
刪除「TEL:」
完了嗎?還沒!出來的資料還不夠整齊,我還要刪掉多餘的空行。
首先我在最上面的第一列插如一列空行,等一下我才可以用「自動篩選」找出所有的空行,並刪除所有的空行。
在這要用「自動篩選」前,請注意,我們要先選取一整欄的資料欄,否則「自動篩選」只會選到前面的幾列資料。
在「自動篩選」的下拉式方塊裡,我們只要選擇顯示「空格」就可以了,其它的資料都不要勾選。
選取藍色列號的資料列,按滑鼠右鍵選取「刪除列」。
取消「自動篩選」按鈕,我們應該可以看到如下圖的資料:
但是到這裡我們還沒有完成,我們還沒有把這些資料變成一列一列的資料表。但是,接下來我們應該怎麼作呢?我們先來想想看這些資料有什麼規律:
每三列為一組,第一列是店名、第二列是地址、第三列是聯絡電話。
所以第一筆資料的店名是在A1、第二筆資料的店名是在A4、第三筆資料的店名是在A7⋯
所以第n筆店名資料所在儲存格位置的關係是:
第n筆店所在儲存格=n3-2我新建立一個工作表,在A欄的位置拉出從1開始的連續數字(這個實例中大約到400多就夠了),而在B欄的第一格(B1)填入
=A1*3-2並下拉複製填滿B欄(大約到400多列就夠了)
接下來我們需要在C欄第一列(C1)叫用我們的 Excel 函數 INDIRECT ,它可以參照到傳給它的文字,只要該文字符合一定的樣式
例如我這裡填入的
=INDIRECT("'1'!A1")所出來的效果就相當於
='1'!A1只是用 INDIRECT 我可以賦予它更多的變數。
例如在我這個個案中,我的 C1 填如的函數是:
=INDIRECT("'1'!A"&B1)其中的 B1 就是一個變數,當我下拉填滿其它儲存格時,會隨著我每一列的B1、B2、B3⋯⋯資料而改變。而指向它們所代表的數字 1 、 4 、 7 ⋯⋯ 整個函式就相當於變成了 ='1'!A1 、 ='1'!A4 、 ='1'!A7 ⋯⋯ 只是後面的函式不再需要我一個一個去填,只要用 Excel 就可以搞定了。(註:其中的& 符號代表的是字串的連結符號)
另外後面代表地址的 D1 和代表聯絡電話的 E1 則只要分別在 B1 的後面 +1 和 +2 ,並填滿其它資料列即可:
=INDIRECT("'1'!A"&B1+1)
=INDIRECT("'1'!A"&B1+2)
後記:或許有人會問我為什麼不用程式再加正規表示法(Regular Expressions),首先,因為我不會用 RE ,也不知道那是什麼,能不能用來解決這個問題。再者,我想,這個問題應該沒有困難到要寫程式來解決= =|||
訂閱:
文章 (Atom)