2016年2月17日 星期三

利用 Excel IF,RIGHT,LIFT,MID 函數 - 取出字串中的文字

本文主旨為應用Excel函數 Left , Right , Mid 來擷取儲存格字串中的文字 (另有 IF 函數的混合應用)



因應上班Excel報表格式需求,需將Excel儲存格中某字串的文字提出,作為儲存格值,

例:  78_mk1,當我們希望把 "mk1" 提出在個別儲存格時,

如:
            A             B
 (1) 78_mk1   //   mk1

則在 B1 儲存格輸入公式

=Right(A1,3) 此公式意思為,擷取A1儲存格右邊數來3個字串,

則 B1 會跑出 78_mk1 的右邊三個字串 "mk1"。

若是字串變長,需擷取兩種值呢?


如:78_xyz_A ,則希望把 "xyz" 及 "A" 分別提出在個別儲存格,

              A               B          C
   (1) 78_xyz_A   //   xyz   //   A

則在 B1 儲存格輸入公式

=Mid(A1,4,3) 此公式意思為,擷取A1儲存格中,左邊數來第4個開始的3個字串,

則B1會跑出 78_xyz_A 的中間三個字串 "xzy"。

另外在 C1 儲存格輸入公式

=Right(A1,1) 此公式意思為,擷取A1儲存格右邊數來1個字串,

則 C1 會跑出 78_xyz_A 的右邊一個字串 "A"。

我的儲存格中有多個 78_xyz_A 以及 78_mk1 值,要擷取不同字串的文字,剛剛教的公式無法直接下拉套用,該怎辦?

在擷取這類文字時,絕對不會只擷取一種,一定會有以下許多不同的字串種類要擷取,如下:

            A              B          C
(1) 78_xyz_A   //   xyz   //   A

(2) 78_mk3   //   mk3   //   mk3

(3) 78_aaa_G   //   aaa   //   G

(4) 78_za9   //   za9   //   za9

雖然剛剛所提供的公式,套用在個別儲存格上仍然可以使用,但必須就要針對不同的字串貼上不同的公式,有失使用Excel函數的效率,因此可以加入 IF 函數來解決此問題,

則在 B1 儲存格輸入公式

=IF(LEN(A1)=6,RIGHT(A1,3),MID(A1,4,3)) 此公式意思為,假設A1字串長度等於6 (這邊以 78_mk3 為基準),則擷取A1儲存格右邊數來3個字串,否則擷取A1儲存格中,左邊數來第4個開始的3個字串,如此一來如果A1是78_mk3則會擷取mk3;如果A1是78_xyz_A則會擷取xzy。

另外在 C1 儲存格輸入公式

=IF(LEN(A1)=6,RIGHT(A1,3),RIGHT(A1,1)) 此公式意思為,假設A1字串長度等於6 (這邊以 78_mk3 為基準),則擷取A1儲存格右邊數來3個字串,否則擷取A1儲存格中,數來第1個字串,如此一來如果A1是78_mk3則會擷取mk3;如果A1是78_xyz_A則會擷取A。

應用 B1 及 C1 的公式,可以解決函數無法足一套用的問題,可以增加其工作效率。

以上為簡單的 Excel 函數應用分享,希望對大家有幫助。

1 則留言:

  1. Caesars Casino Resort to Debut First Multi-Year Deal - KTNV
    Caesars 서산 출장마사지 Entertainment, 제주도 출장샵 the 당진 출장안마 parent company of several casinos 인천광역 출장마사지 in 강릉 출장안마 the United States, the Caesars property in the state of Michigan.

    回覆刪除