同事出的考題,Word畫的座位表想轉成Excel,其中用到1-1,2-2格式的標示,直接複製貼上Excel,1-1、2-2會被解讀成1月1日、2月2日…

爬文找到一些Excel端解法,多要靠資料匯入克服,但座位表格子呈不規則分佈(你知道的,關主管的籠子Partition會比關部屬的大一些,大型猛獸還會有獨立獸籠高階主管還會有獨立辦公室… XD),加上想保留原有底色格線,轉格式再匯入的做法不太可行。

我想到的解法是將1-1置換成[1-1],標示效果不變而可避開Excel日期轉換。原以為要寫VBA,沒想到Word內建的萬用字元取代功能就可以搞定!

如以上展示,利用萬用字元表示法尋找"(?)-(?)"置換成"[\1-\2]",即可將"1-1"置換成"[1-1]","1-2"取代成"[1-2]"。再進一步研究,我發現Office的萬用字元可不只*, ?這麼簡單,還支援[A-Z]、[0-9]{1,3}等表示法,也有群組概念,已具備基本Regular Expression比對及取代功能,說自己只是「萬用字元」實在太謙虛 XD,但想想Word/Excel冒出「正則表示式」應該會讓很多祕書美眉皺眉頭,還是「萬用字元」吧!

摘錄Office萬用字元支援符號備查:(參考來源

尋找

類型

範例

任何單一字元

?

s?t 會找到 sat 和 set。

任何字元字串

*

s*d 會找到 sad 和 started。

文字的開頭

<

<(inter) 會找到 interesting 和 intercept,但不會找出 splintered。

文字的結尾

>

(in)> 會找到 in 和 within,但不會找出 interesting。

其中一個指定字元

[ ]

w[io]n 會找到 win 和 won。

此範圍內的任何單一字元

[-]

[r-t]ight 會找到 right 和 sight。 範圍必須依遞增順序排列。

角括弧內範圍之字元外的任何單一字元

[!x-z]

t[!a-m]ck 會找到 tock 和 tuck,但不會找出 tack 或 tick。

前一個字元或運算式正好 n 個出現處

{n}

fe{2}d 會找到 feed,但不會找出 fed。

前一個字元或運算式至少 n 個出現處

{n,}

fe{1,}d 會找到 fed 和 feed。

前一個字元或運算式 n 到 m 個出現處

{n,m}

10{1,3} 會找到 10、100 和 1000。

前一個字元或運算式一或多個出現處

@

lo@t 會找到 lot 和 loot。

又到呼口號時間:Office好威啊!


Comments

# by Franma

關鍵字是秘書正妹 ^3^

Post a comment