天天看點

Excel2007綜合班Ⅱ(16203班)課時5小結

Excel2007綜合班Ⅱ(16203班)課時5小結

小結之前,先感謝論壇上各位先輩的辛苦付出,尤其是感謝一直陪伴着我們這一個多月的班班和班德

這一個多月下來,過得很充實也獲益良多,很高興認識了那麼多人,強大的班副,熱情的班長,可愛的小洋芋組長

還有小強的A組組長,還有一堆一堆人。就不詳細地列了,反正真的覺得很開心,很充實,喜歡學習的感覺。

下面開始這一課時的小結

首先,文本函數都是非常靈活的函數

    1.1 字元的截取函數: LEFT() RIGHT() MID()

這裡面除了left,right,mid以外,還有三個函數,LeftB,rightb,midb,之前并沒有意識到這後面的函個函數的用途,直到班副在群裡面講到了一個應用

練習題中的這個題目,如果表示金額的不是全角的人民币,而是美元的話,就可以用另外一個公式

将A列金額分列顯示

金額十億千百十萬千百十元角分

 0.12          $12

 1.23         $123

 123.45       $12345

 12,345.67     $1234567

 123,456.78    $12345678

 12,345,678.90  $1234567890

 123,456,789.90 $12345678990

=LEFTB(RIGHT("你$"&$A17*100,COLUMNS(B:$M)))

因為你是全角,然後用leftb得到的隻有半角,前面不要顯示的地方,就是真的是空的了。

小小地應用,讓人覺得,excel無窮無盡,很多東西都已經提供了,隻要能想到,很多神奇的方法都會出現的。

至于mid,其實剛開始我以為是取最中間的,然後并沒有意識到它的強大,木蘭老師講到之後,就想起來,之前看到的許多應用中,都有它。

因為參數的靈活,是以它真的非常強大

還是繼續在作業裡面粘例子吧

編号提取後

PEFW60223602

AFW772342772

SADFW980980

FWP6H3G5P6H

=MID(A35,FIND("FW",A35)+2,3)

MID函數的第二個第三個參數非常靈活,要取多少個,從哪個開始,結合各種應用的話,就會變得非常強大了。

    1.2 文本位置及文本長度: FIND() LEN() LENB()

len和lenb的神奇之處,和前面說的leftb的類似,全角半角的時候,應用它有時候可以神奇地讓公式比較短。

舉一個很簡單的例子:

分離姓名與電話号碼

源資料姓名電話号碼

佳佳13474858935佳佳13474858935

芳芳18858525858芳芳18858525858

寶寶15358585585寶寶15358585585

貝貝18574745858貝貝18574745858

=LEFT(A66,LENB(A66)-LEN(A66))

=RIGHT(A66,2*LEN(A66)-LENB(A66))

木蘭老師講的例子中有類似的,通過全角半角,判斷,分離字元

然後是find,find和search是類似的函數,但是兩者還是有些細微的差别

Find函數可以區分英文大小寫但是不支援通配符,而Search函數不能區分大小寫,但是支援通配符。

源資料姓名電話号碼

佳佳13474858935佳佳13474858935

芳芳18858525858芳芳18858525858

寶寶15358585585寶寶15358585585

貝貝18574745858貝貝18574745858

=LEFTB(A78,SEARCHB("?",A78)-1)

通過上面的方法,也可以獲得姓名,利用的就是單位元組和雙位元組的分離。

SEARCHB("?",A78)是利用通配符,找着第一個單位元組的字的位置,然後就可以離單位元組和雙位元組了

客戶名稱 客戶位址城市名稱

A1河南省鄭州市中原區鄭州市

A2河北省邯鄲市邯鄲市

A3江蘇省蘇州市蘇州市

A4河南省南陽市南陽市

A5山東省青島市青島市

=MID(B70,FIND("省",B70,1)+1,FIND("市",B70,1)-FIND("省",B70,1))

至于find,想不到其它的應用了…………

    1.3 文本替換: SUBSTITUTE()  REPLACE()

SUBSTITUE是用于把目标文本中指定的字元串替換成新的字元串

REPLACE是用于根據起始位置和文本字元數來替換為指定的新的字元串

關于Replace在書上看到一個不錯的應用

源資料句首大寫

HOW ARE YOU?How are you?

NICE to Meet You.Nice to meet you.

how do you do?How do you do?

is that yours?Is that yours?

no, it isn'tNo, it isn't

=REPLACE(LOWER(A84),1,1,UPPER(LEFT(A84)))

先将全部轉化為小寫,再将首字母大寫。

substitute的一個應用也不錯,很多人在輸入資訊的時候,可能輸入數字都會帶機關,但是有了這個函數,機關啥也都是浮雲,轉轉也都能運算了

姓名金額

一100元

二101元

三102元

四103元

五104元

六105元

七106元

八107元

九108元

十109元

十一110元

¥1,155

=SUMPRODUCT(--SUBSTITUTE(B95:B105,"元",))

    1.4 文本連接配接:

這個對我這種經常寫重複代碼的小孩真的非常有用

舉個很簡單的例子。

"if(MSG_1 =dwMsg)

{

 dw_MsgID |= MS_MSG_1;

}"

以上代碼是一段經常出現的代碼

我需要寫很多這樣的重複代碼,這時候,有一個清單

MSG_1"if(MSG_1 =dwMsg)

{

 dw_MsgID |= MS_MSG_1;

}"

MSG_2"if(MSG_2 =dwMsg)

{

 dw_MsgID |= MS_MSG_2;

}"

MSG_3"if(MSG_3 =dwMsg)

{

 dw_MsgID |= MS_MSG_3;

}"

MSG_4"if(MSG_4 =dwMsg)

{

 dw_MsgID |= MS_MSG_4;

}"

MSG_5"if(MSG_5 =dwMsg)

{

 dw_MsgID |= MS_MSG_5;

}"

MSG_6"if(MSG_6 =dwMsg)

{

 dw_MsgID |= MS_MSG_6;

}"

MSG_7"if(MSG_7 =dwMsg)

{

 dw_MsgID |= MS_MSG_7;

}"

MSG_8"if(MSG_8 =dwMsg)

{

 dw_MsgID |= MS_MSG_8;

}"

這樣,我就隻需要把代碼複制過去,就肯定沒錯了

   1.5文本格式化

一個很簡單和text格式化的例子

收入文本

123收入123.00元

312321收入312321.00元

624519收入624519.00元

936717收入936717.00元

1248915收入1248915.00元

1561113收入1561113.00元

1873311收入1873311.00元

2185509收入2185509.00元

=TEXT(A129,"收入0.00元")

轉換中文小寫日期剛看書學的格式代碼,秀一下

2012-5-8二○一二

=TEXT(YEAR(A141),"[dbnum1]0")

文本函數真的非常非常強大,但是要說介紹也不知道要說啥,知道大緻之後,實際應用的時候,多思考,應該會有很多收獲

成果物的話,因為最近突然覺得身份證是個很強大的東東,是以…………

結尾附上連結…………club.excelhome.net