Re: [問題] excel有函數可以指定傳回中文值嗎?
一點小補充
可保留原網頁code中的\s以去掉空格
另不打+號似乎也可(不確定)
標點符號也不要就找頭尾如
[!-~\s]
像word取代
※ 引述《singermath (singer)》之銘言:
: ※ 引述《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]+"
regex.Pattern="[a-zA-Z\s]"
: myreplace=regex.Replace(oristr,"")
: Set regex=Nothing
: End Function
: ---------------------------------------------------
: 關鍵在於
: regex.Pattern="[a-zA-Z]+"
: 此行是尋找目標為 a-z 及 A-Z
: 再下一行則是將符合的目標進行取代
: 若除了英文字母外也不需要 數字 0-9
: 可改成
: regex.Pattern="\w+"
regex.Pattern = "[\w\s]"
: (相關內容可以參考正則式的寫法)
: 用法則跟一般內建的 vlookup() 或是 mid() 一樣
: 在儲存格輸入 =myreplace("abcde測試用123結束")
: 就可以了
: ------------------------------------------------------
: 自定義函數要放在 [模組] 下才有作用
: Ctrl+F11 ->Microsoft Excel 物件 -> 右鍵插入 [模組]
: 把上面的程式碼貼上上面即可
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.164.54.189
推
06/23 16:32, , 1F
06/23 16:32, 1F
→
06/23 16:32, , 2F
06/23 16:32, 2F
→
06/23 16:41, , 3F
06/23 16:41, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
Office 近期熱門文章
PTT數位生活區 即時熱門文章