如何在 Excel 中拆分字符和数字?

如何在 Excel 中拆分字符和数字?

实际上我想在 Excel 2010 中在同一个单元格中拆分字符和数字

我的单元格是这样的:test03ok
另一个单元格可能是:34test

我想将数字与字母分开,因此上述两个示例的预期输出将是

测试 03 确定
34 测试

这可以在没有 VBa 的情况下在 Excel 中完成吗?还是必须使用 VBa?

答案1

这是一个基于正则表达式的函数,应该可以解决问题。将其粘贴到您从 VBA 编辑器菜单插入的标准模块中。您可以通过单击Visual Basic开发人员选项卡。然后选择插入->标准模块在菜单上。

您还需要设置对Microsoft VBScript Regular Expressions 5.5库的引用。为此,请单击工具->参考在编辑器菜单上。向下滚动找到列表并勾选它以设置引用。

正则表达式专家希望改进我使用的模式。它会在某些字符串中插入多余的空格,我使用工作表TRIM函数成功地将其去掉了。

Function ReNSpace(text As String)
    Dim regex As New RegExp
    regex.Pattern = "(?:(\D+)?(\d+))|(?:(\D+)(\d+)?)"
    regex.Global = True
    regex.IgnoreCase = True
    ' Test if a match is found
    If regex.Test(text) = True Then
        ReNSpace = WorksheetFunction.Trim(regex.Replace(text, "$1 $2 $3 $4"))
    Else
        ReNSpace = CVErr(xlErrValue)
    End If
    Set regex = Nothing
End Function

相关内容