本教程展示了使用內置功能和自定義VBA函數在Excel單元格中分離文本和數字的幾種方法。您將學習如何在刪除文本時提取數字,在丟棄數字時隔離文本,最後將數據分為兩個不同的列。
假設您的數據有一個列,文本和數字被混合在一起。對於一致的數據, LEFT
, RIGHT
和MID
的簡單功能可能就足夠了。但是,實際數據通常不一致,在文本之前,之後或文本中出現數字。下面的解決方案解決了這種複雜性。
刪除文字以保持數字(Excel 365,2021,2019):
Microsoft Excel 2019推出了TEXTJOIN
功能,這簡化了此任務。低於以下的公式利用TEXTJOIN
, MID
, ROW
, INDIRECT
, SEQUENCE
和IFERROR
來實現這一目標。
對於Excel 365和2021:
=TEXTJOIN("",TRUE,IFERROR(MID(A2,SEQUENCE(LEN(A2)),1)*1,""))
對於Excel 365-2019:
=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)*1,""))
(在Excel 2019中,這需要Ctrl Shift Enter進行數組公式條目。在Dynamic Array Excel中,簡單的輸入就足夠了。)
該公式通過每個字符迭代,乘以1來轉換數字。非數字字符成為錯誤,由IFERROR
處理,留下空字符串。然後, TEXTJOIN
將剩餘的數字串聯。
自定義VBA功能(所有Excel版本):
對於較舊的Excel版本或更簡單的方法,自定義VBA功能提供了簡化的解決方案。提供了兩個版本:
VBA代碼1(字符字符):
函數removeText(str作為字符串) DIM SRES作為字符串 SRES =“” 對於i = 1到len(str) 如果是命名的(中間(str,i,1)),則SRES = SRES = SRES和MID(Str,i,1) 下一個我 removetext = sres 結束功能
VBA代碼2(正則表達式):
函數removeText(str作為字符串)為字符串 使用CreateObject(“ vbscript.regexp”) .global = true .pattern =“ [^0-9]” removetext = .replace(str,“”) 以 結束功能
將這些功能與=RemoveText(A2)
一起使用。代碼2(使用正則表達式)通常在大型數據集上表現更好。
刪除數字以保留文本(Excel 365,2021,2019):
類似的公式可以在刪除數字時提取文本。同樣,使用TEXTJOIN
, MID
, ROW
, INDIRECT
, SEQUENCE
, IFERROR
和ISERROR
:
對於Excel 365和2021:
=TRIM(TEXTJOIN("",TRUE,IF(ISERROR(MID(A2,SEQUENCE(LEN(A2)),1)*1),MID(A2,SEQUENCE(LEN(A2)),1),"")))
對於Excel 365-2019:
=TRIM(TEXTJOIN("",TRUE,IF(ISERROR(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)*1),MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1),"")))
TRIM
功能刪除了前導/尾隨空間。
自定義VBA功能用於刪除數字(所有Excel版本):
與以前的VBA功能類似,這裡有兩個版本可以刪除數字並保留文本:
VBA代碼1(字符字符):
功能去除量(str作為字符串) DIM SRES作為字符串 SRES =“” 對於i = 1到len(str) 如果不是的,則沒有(中間(str,i,1)),則SRES = SRES = SRES和MID(Str,i,1) 下一個我 removenumbers = SRES 結束功能
VBA代碼2(正則表達式):
功能刪除量(str作為字符串)為字符串 使用CreateObject(“ vbscript.regexp”) .global = true .pattern =“ [0-9]” removenumbers = .replace(str,“”) 以 結束功能
將它們與=TRIM(RemoveNumbers(A2))
一起使用。
將文本和數字分成單獨的列:
單個自定義VBA功能可以同時處理文本和數字提取:
VBA代碼1(字符字符):
函數slaptextnumbers(str作為字符串,is_remove_text為布爾值)為字符串 Dim Snum,Stext,Schar作為字符串 num = stext =“” 對於i = 1到len(str) schar = mid(str,i,1) 如果是iSnumeric(schar),則num = shum&schar else sext = sext&schar 下一個我 如果是is_remove_text 結束功能
VBA代碼2(正則表達式):
函數slaptextnumbers(str作為字符串,is_remove_text為布爾值)為字符串 使用CreateObject(“ vbscript.regexp”) .global = true 如果是is_remove_text,則.pattern =“ [^0-9]” else .pattern =“ [0-9]” splittextnumbers = .replace(str,“”) 以 結束功能
use =SplitTextNumbers(A2,TRUE)
保留數字, =TRIM(SplitTextNumbers(A2,FALSE))
保留文本。
使用專業工具:
如果您喜歡更視覺和用戶友好的方法,請考慮使用專用的Excel加載項來刪除角色。本教程提到了具有“刪除字符”功能的“終極套件”加載項。
該綜合指南提供了多種解決方案,可滿足不同的Excel版本和用戶喜好。請記住,根據需要調整細胞引用的特定數據。
以上是如何在Excel單元中刪除 /拆分文本和數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文將指導您完成為Excel Pivot表和圖表創建時間表的過程,並演示如何使用它以動態和引人入勝的方式與數據進行交互。 您的數據在Pivo中組織了

Excel可以使用其內置的“來自XML數據導入”功能導入XML數據。 進口成功在很大程度上取決於XML結構。結構良好的文件很容易導入,而復雜的文件可能需要手動映射。 最佳實踐包括XML

本文說明瞭如何使用數據驗證(包括單個和因列表)在Excel中創建下拉列表。 它詳細介紹了該過程,為常見方案提供解決方案,並討論諸如數據輸入限制和PE之類的限制


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Dreamweaver Mac版
視覺化網頁開發工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器