Re: [問題] excel有函數可以指定傳回中文值嗎?

看板Office作者 (singer)時間16年前 (2008/06/23 10:01), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/4 (看更多)
※ 引述《jameskuo (一個人的日子...)》之銘言: : (若是和其他不同軟體互動之問題 請記得一併填寫) : 您所使用的軟體為:excel 2003 : 版本:2003 : 問題:假如A1裡面有一堆中文和英文,有什麼函數可以把所有中文挑出來,排除英文? : 然後出現在B1,謝謝幫忙。 如果 Excel 內建函數無法簡易的滿足你的需求(或是還找不到相關函數) 可以自己用VBA寫個自己的函數來解決 以下是試寫內容,若有錯誤請幫忙指正,感謝 (參考下面這篇文章: http://cat14051.mysinablog.com/index.php?op=ViewArticle&articleId=122081 -------------------------------------------------- Function myreplace(oristr) Dim regex Set regex=CreateObject("vbscript.regexp") regex.Global=True regex.Pattern="[a-zA-Z]+" myreplace=regex.Replace(oristr,"") Set regex=Nothing End Function --------------------------------------------------- 關鍵在於 regex.Pattern="[a-zA-Z]+" 此行是尋找目標為 a-z 及 A-Z 再下一行則是將符合的目標進行取代 若除了英文字母外也不需要 數字 0-9 可改成 regex.Pattern="\w+" (相關內容可以參考正則式的寫法) 用法則跟一般內建的 vlookup() 或是 mid() 一樣 在儲存格輸入 =myreplace("abcde測試用123結束") 就可以了 ------------------------------------------------------ 自定義函數要放在 [模組] 下才有作用 Ctrl+F11 ->Microsoft Excel 物件 -> 右鍵插入 [模組] 把上面的程式碼貼上上面即可 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.225.101 ※ 編輯: singermath 來自: 59.126.225.101 (06/23 10:02) ※ 編輯: singermath 來自: 59.126.225.101 (06/23 10:10)

06/23 14:36, , 1F
indeed obtuse
06/23 14:36, 1F
文章代碼(AID): #18NmFsoy (Office)
討論串 (同標題文章)
文章代碼(AID): #18NmFsoy (Office)