隐藏 Excel 中某一列文本之前的数字?

隐藏 Excel 中某一列文本之前的数字?

我有一个这样的列"2;#Vendor",我只想显示"Vendor"

我怎样才能做到这一点?

答案1

您可以使用“文本分列”功能将此列拆分为两列数据选项卡。您只需选择#作为分隔符即可。

或者,如果您的示例已经表示两个单独的列并且#是一个数字的占位符,如下所示:

2 | 12Vendor
3 | 145Vendor

然后,您可以使用 VBA 公式获取供应商,该公式必须解析输入。

当然,除非小贩或之前的数字小贩遵循一些特定的规则,您可能会利用这些规则 - 比如固定大小。如果您总是使用像001供应商那么你可以使用这个公式:

=RIGHT(A1,LENGTH(A1)-3)

编辑:

这是一个很好的解决方案,您可以将其用作工作表函数:

Public Function demo(ByRef rng As Range) As String

    Dim objRegEx As Object
    Set objRegEx = CreateObject("VBscript.regexp")

    objRegEx.IgnoreCase = True
    objRegEx.Global = True
    objRegEx.MultiLine = True
    objRegEx.Pattern = "\d" 'Match any digit. Equivalent to [0-9].

    demo = objRegEx.Replace(rng.Value, "")
    'The Replace method takes 2 strings as its arguments.
    'If it is able to successfully match the regular expression
    'in the search-string, then it replaces that match with the
    'replace-string, and the new string is returned.
    'If no matches were found, then the original search-string is returned.

    Set objRegEx = Nothing

End Function

它使用正则表达式,您可以在许多其他场合使用它,只需使模式动态化即可。

以下是一些关于此内容的文档:http://msdn.microsoft.com/en-us/library/ms974570.aspx

公平地说 - 我只是改编了一个例子,我在这里找到了:

http://www.office-loesung.de/ftopic134495_0_0_asc.php

答案2

单元格 a1:2;#供应商

单元格 b1: +Find("供应商",a1,1)

c1 =+MID(A1,B1,LEN(A1))

=========== 或者 =================

2;#供应商

B1 =+MID(A1,查找("供应商",a1,1),LEN(A1))

相关内容