美文网首页
如何在 Excel 中获取货币符号

如何在 Excel 中获取货币符号

作者: lowmountain1 | 来源:发表于2019-08-13 11:32 被阅读0次

    在 Excel 中,通过对单元格进行格式化,我们可以为单元格中存储的数字加上货币符号。但如何判断单元格中显示的哪种货币呢?由于单元格的内容是以数字形式存储的,我们无法通过直接截取单元格内容来判断。下面我们将通过示例来分享几种方法。

    方法一:

    这种方法通过 Excel 中的 cell 函数进行判断,适用于比较简单的情况。

    cell 函数的 format 参数,对每种单元格货币格式返回一个特定值,通过返回值即可判断单元格中的货币格式。如图中所示,当单元格存储的是人民币格式时,cell 的返回值是 C2- 或 C2,而美元返回的则是 ,2. 如果格式较少时,使用此方法比较方便。

    方法二:

    此方法利用 VBA 中 Range 的 Text 属性将单元格的存储内容以文本形式返回,再通过字符串函数提取其中的货币符号。代码如下:

    Public Function CurrSymbol(myCell As Range) As String
        Application.Volatile
        
        CurrSymbol = Left(Trim(myCell.Text), 1) ' Trim 函数用于去除 Text 属性中的多余空格,Left 函数截取字符串中左侧第一个字符
    End Function
    

    这里只是提供一种思路,如果单元格中存储的货币比较复杂(如欧元等),还需要进一步完善。

    方法三:

    此方法也是通过构造 UDF 函数来实现的,但调用了 VBscript 中的 RegExp 对象,故适用范围更广。代码如下:

    Public Function CurrSymbol1(myCell As Range) As String
        Application.Volatile
        
        Static RE As Object
        
        If RE Is Nothing Then Set RE = CreateObject("VBScript.RegExp")
             
        With RE
            .Global = True
            .Pattern = "[0-9\-\.,\s]+"  ’ 替换包括数字、逗号、空格、下划线及小数点符号
            CurrSymbol1 = .Replace(myCell.Text, "")
        End With
        
    End Function
    

    关于正则表达式,可以在网上找一下入门教程,了解一下。

    以上就是 Excel 中提取货币符号的三种方法,如果你认为有用的话,就请我喝杯咖啡吧!

    相关文章

      网友评论

          本文标题:如何在 Excel 中获取货币符号

          本文链接:https://www.haomeiwen.com/subject/vlgujctx.html