如何仅从 Excel 中的字母数字字符串中提取文本?
大多数情况下,我们收到“ID 字段”作为字母数字字符串。我们必须仅从“ID 字段”中提取文本以进行进一步处理。
在本文中,我们使用两种方法(Excel 公式 - 替换函数和 Excel VBA - 用户定义函数)仅从字母数字字符串中提取文本。
方法一:使用Excel 公式
上面讨论的问题陈述可以使用内置的 excel 公式解决,如下所述:
句法:
SUBSTITUTE (text, old_text, new_text, [instance_num])
在哪里,
- 文本:它是输入单元格(文本)。
- old_text:要查找的文本。
- new_text:要替换的文本。
执行:
第一步:打开Excel。
第 2 步:在单元格“B5”中键入任何字母数字字符串(例如 geeksId345768)。
第 3 步:在单元格“C5”中写下公式(我们使用嵌套替换函数替换数字 0 到 9)
= SUBSTITUTE(SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE(SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE(B5,"0",""),"1",""),"2",""), "3",""),"4",""),"5",""), "6",""),"7",""),"8",""),"9","")
方法二: Excel VBA用户自定义函数
在 Excel VBA 中,我们可以定义函数来解决问题陈述。下面给出了相同的实现。
执行:
第一步:打开Excel。
第 2 步:在单元格“B5”中键入任何字母数字字符串(例如 geeksId345768)。
第 3 步:在模块中编写以下 VBA 代码:
Function onlyText(rg As Range) As String
Dim ipVal As String
Dim opValue As String
- 初始化变量
ipVal = rg.Value
- 迭代输入字符串
For i = 1 To Len(ipVal)
- 检查字符是否为数字
If Not IsNumeric(Mid(ipVal, i, 1)) Then
opValue = opValue & Mid(ipVal, i, 1)
End If
Next
- 返回输出
onlyText = opValue
End Function
第 4 步:将您的 excel 文件另存为“启用 Excel 宏的工作簿”[*.xlsm]
第 5 步:在单元格“C5”中键入函数名称“=onlyText(B5)”。
宏从单元格“B5”中删除所有数字字符并返回到单元格“C5”。