📜  如何仅从 Excel 中的字母数字字符串中提取文本?

📅  最后修改于: 2022-05-13 01:57:35.281000             🧑  作者: Mango

如何仅从 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”。