Re: [問題] excel有函數可以指定傳回中文值嗎?
※ 引述《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
06/23 14:36, 1F
討論串 (同標題文章)