直接用VBA取得儲存格中的數字或英文資料
之前常有同學問到,若是儲存格中,中、英、數字資料夾雜,
若只想留下數字部分,該怎麼做,有沒有函數可以解決,
不懂VBA,這個問題將非常麻煩,資料少還可以土法煉鋼,
慢慢複製貼上,但若資料非常巨量,將是巨大麻煩,
本文分享如何簡單解決這個問題,
雖然用MID、CODE、ROW、IFFERROR、SUM加上陣列計算數字個數,
已經夠複雜的了,若要再取出數字部分,那就更加困難,
建議,這麼複雜的事情,還是改為VBA來做會比較適合,
也許直接跳過 EXCEL裡的函數,
直接寫 VBA 回更簡單,以下簡單說明如下。
提供完整VBA程式碼與教學影音:
https://terry55wu.blogspot.com/2019/09/vba.html
教學影音完整版在論壇:
https://groups.google.com/forum/#!forum/scu_excel_vba2_107
吳老師 2019/9/18
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「excel取出數字」的推薦目錄:
- 關於excel取出數字 在 吳老師excel函數與vba大數據教學 Facebook 的最佳貼文
- 關於excel取出數字 在 吳老師excel函數與vba大數據教學 Facebook 的最佳解答
- 關於excel取出數字 在 コバにゃんチャンネル Youtube 的最讚貼文
- 關於excel取出數字 在 大象中醫 Youtube 的最佳貼文
- 關於excel取出數字 在 大象中醫 Youtube 的最佳解答
- 關於excel取出數字 在 [算表] Excel擷取括號內的文字(己解決) - 看板Office - 批踢踢實業坊 的評價
- 關於excel取出數字 在 [算表] EXCEL:從英數字元字串中擷取數字 - PTT數位生活區 的評價
- 關於excel取出數字 在 詢問一個excel取出數值的問題 - Mobile01 的評價
excel取出數字 在 吳老師excel函數與vba大數據教學 Facebook 的最佳解答
如何留下中英文中的中文
從計算數字個數到留下數字或英文或中文自訂函數
常遇到儲存格中若有英文(分大小寫)、數字和中文夾雜,
但若只要取出其中的數字或英文或中文,
若不懂VBA,這個問題將非常麻煩,資料少還可以徒法煉鋼,
慢慢複製貼上,但若資料非常巨量,將是巨大麻煩,
本文分享從計算數字個數開始,
用MID、CODE、ROW、IFFERROR、SUM加上陣列計算數字個數,
已經夠複雜的了,若要再取出數字部分,那就更加困難,
建議改為VBA的自訂函數,
除了可以計算數字個數與非數字個數,
亦可留下數字,或英文或中文,教您學會如何簡單自訂VBA函數。
1.計算數字個數公式:
{=SUM(IFERROR((CODE(MID(A2,ROW($1:$99),1))>47)*(CODE(MID(A2,ROW($1:$99),1))<58 span="">
2.計算非數字個數公式:
{=SUM(IFERROR((CODE(MID(A2,ROW($1:$99),1))<48>57),0))}
函數東吳進修推廣部, EXCEL, EXCEL VBA 函數 程式設計 線上教學 excel vba 教學 excel vba指令教學 vba範例教學excel excel vba教學視頻 函數教學 excel函數
excel取出數字 在 [算表] EXCEL:從英數字元字串中擷取數字 - PTT數位生活區 的推薦與評價
從英數字元字串中擷取數字http://office.microsoft.com/zh-tw/excel/ ... 此公式適用於下列字串: * 字母字元和數字字元個別叢集的字串,例如abc123 或678sfr。 ... <看更多>
excel取出數字 在 詢問一個excel取出數值的問題 - Mobile01 的推薦與評價
因為工作上需求,目前正在找excel中擷取儲存格數字的方法如A2=6300我希望在其他儲存格中各自顯示每個位數的數值,並以大寫顯示目前找尋網上的方法,成功的只有個位 ... ... <看更多>
excel取出數字 在 [算表] Excel擷取括號內的文字(己解決) - 看板Office - 批踢踢實業坊 的推薦與評價
軟體:Excel
版本:2007
大家好,我已經爬過文了!
但是我要的東西只要變化一下我就不會用了(冏
freekicker7版友問的問題跟我的很類似,
(文章代碼:#1BWJqc6J,縮網址:https://goo.gl/PO6UZ6)
但他問的是一串文字中擷取第一個刮號裡面的數字。(取出52160)
範例:Emma Watson (52160)
^^^^^
bulldog版友在底下答覆
公式:=MID(A1,FIND("(",A1,1)+1,FIND(")",A1,1)-FIND("(",A1,1)-1)
我試過可以這樣可以用,再次感謝bulldog!!
*問題1:
如果我今天要從字串中取出來的是第2個括弧內的文字,則公式是?
(取出妙麗·格蘭傑)
範例:Emma Watson(1990/04/15)(妙麗·格蘭傑)
^^^^^^^^^^^^
*問題2:
又如果刮號改成別的指定符號,應從公式哪個字元去修改呢?
(分別取出[]和""內的文字及數字)
範例:Emma Watson[1990/04/15]"妙麗·格蘭傑"
^^^^^^^^^^ ^^^^^^^^^^^^
請問 問題1及問題2的公式該怎麼列出來呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.29.35.146
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1400485145.A.3E1.html
感謝soyoso速回!!好快速!!
試了一下s大的方式,發現是我問題沒問清楚
s大給的公式問題1及問題2(文字)的部分
*如果字串後面又有字元
原問題1:Emma Watson(1990/04/15)(妙麗·格蘭傑)
變 化 :Emma Watson(1990/04/15)(妙麗·格蘭傑)演員
公 式 :=SUBSTITUTE(MID(A1,FIND(")(",A1)+2,255),")","")
原問題2:Emma Watson[1990/04/15]"妙麗·格蘭傑"
變 化 :Emma Watson[1990/04/15]"妙麗·格蘭傑"演員
公 式 :=SUBSTITUTE(MID(A1,FIND("""",A1)+1,255),"""","")
結果則變成:
妙麗·格蘭傑演員
但其實我只是要取到 妙麗·格蘭傑 而已......(冏
而且()和""內是不限字數,也不限制中英數
另外s大給的公式問題2(數字)部分,發現有限制字數
*如果字串指定符號內超過10個字元
原問題2:Emma Watson[1990/04/15]"妙麗·格蘭傑"
變 化 :Emma Watson[哈利波特:神秘的魔法石]"妙麗·格蘭傑"演員
公 式 :=MID(A1,FIND("[",A1)+1,10)
結果則變成:
哈利波特:神秘的魔法
少了"石"1個字,到"法"就不見了 (冏
但是參考bulldog大的公式
範例:Emma Watson(哈利波特:神秘的魔法石)(妙麗·格蘭傑)演員
公式:=MID(A1,FIND("(",A1,1)+1,FIND(")",A1,1)-FIND("(",A1,1)-1)
結果則可以順利取出:
哈利波特:神秘的魔法石
且不限字數
後來仔細想想發現問題2其實只要把bulldog大的公式中的符號()改成[]就有結果,
但我就是不知道要改哪邊......(對不起我腦袋瓜子太不知變通了
因為工作時會需要匯整,截取部分資料,
但因為同事的資料格式不一,所以有很多變化,
補充了一些問題說明,所以再一次上來麻煩眾版友了<(_ _)>
※ 編輯: chihpapa (114.36.131.217), 05/19/2014 23:55:08
已解決,感謝soyoso!!
※ 編輯: chihpapa (163.29.35.146), 05/21/2014 17:00:45
... <看更多>