You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何识别单元格中的货币类型?求返回单元格货币属性的函数

获取单元格货币类型的实现方案

Excel没有直接返回单元格货币类型的内置函数,但可以通过以下两种方式实现需求:

一、用内置函数组合判断

利用CELL("format", 单元格)函数返回的格式代码,配合逻辑函数判断是否为货币格式及对应类型。示例公式:

=IF(LEFT(CELL("format",A1),1)="C","默认货币格式",IF(ISNUMBER(SEARCH("¥",CELL("format",A1))),"人民币格式",IF(ISNUMBER(SEARCH("$",CELL("format",A1))),"美元格式","非货币格式")))

注意:该方案依赖Excel的格式代码规则,不同区域设置或自定义货币格式可能导致判断偏差,需根据实际格式调整逻辑。

二、VBA自定义函数(更精准)

通过编写自定义函数直接读取单元格的数字格式,判断货币类型:

  1. 按Alt+F11打开VBA编辑器,插入新模块
  2. 粘贴以下代码:
Function GetCurrencyType(cell As Range) As String
    Dim fmt As String
    fmt = cell.NumberFormat
    If InStr(fmt, "¥") > 0 Then
        GetCurrencyType = "人民币"
    ElseIf InStr(fmt, "$") > 0 Then
        GetCurrencyType = "美元"
    ElseIf InStr(fmt, "€") > 0 Then
        GetCurrencyType = "欧元"
    ElseIf Left(cell.NumberFormatLocal, 1) = "¥" Then
        GetCurrencyType = "人民币(本地格式)"
    ElseIf Left(cell.NumberFormatLocal, 1) = "$" Then
        GetCurrencyType = "美元(本地格式)"
    ElseIf Left(CELL("format", cell), 1) = "C" Then
        GetCurrencyType = "系统默认货币"
    Else
        GetCurrencyType = "非货币格式"
    End If
End Function
  1. 返回工作表,在单元格中输入=GetCurrencyType(A1)即可获取A1单元格的货币类型

注意:使用自定义函数需启用宏,文件需保存为.xlsm格式;可根据需要扩展代码中判断的货币符号。

内容的提问来源于stack exchange,提问作者Andrei Prystupchyk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 14:45:27