大家在造价审核时,Excel中默认的人民币大写公式显示是下面的样子:

但根据正规的财务写法,其实应该是下面的样子:

那么如何才能做到正确的写法并且大小写金额联动呢,其实这个问题在Excel或WPS中并不太好解决,下面介绍两种方法:

第一种方法:需要利用到一点VBA的知识。操作如下:

在 Excel 中将数值金额转换为中文大写金额,可以通过自定义函数来实现。下面是一个使用 VBA(Visual Basic for Applications)来编写自定义函数的方法,将数值金额转换为中文大写金额。

  1. 打开你的 Excel 文件。
  2. Alt + F11 打开 VBA 编辑器。
  3. 在 VBA 编辑器中,选择 插入 -> 模块 来插入一个新的模块。
  4. 复制以下代码并粘贴到新模块中:
Function NumToRMB(amt As Double) As String
    Dim StrValue As String
    Dim Units As Variant
    Dim Digits As Variant
    Dim i As Integer
    Dim StrTemp As String
    Dim isNeg As Boolean

    ' 判断负数
    If amt < 0 Then
        isNeg = True
        amt = Abs(amt)
    End If

    StrValue = Format(amt, "0.00")
    Units = Array("", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "万", "拾", "佰", "仟")
    Digits = Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖")

    Dim StrInt As String
    Dim StrDec As String
    Dim PosDot As Integer

    PosDot = InStr(StrValue, ".")
    If PosDot > 0 Then
        StrInt = Mid(StrValue, 1, PosDot - 1)
        StrDec = Mid(StrValue, PosDot + 1)
    Else
        StrInt = StrValue
        StrDec = ""
    End If

    StrTemp = ""
    For i = 1 To Len(StrInt)
        StrTemp = StrTemp & Digits(Mid(StrInt, i, 1)) & Units(Len(StrInt) - i)
    Next i

    StrTemp = Replace(StrTemp, "零拾", "零")
    StrTemp = Replace(StrTemp, "零佰", "零")
    StrTemp = Replace(StrTemp, "零仟", "零")
    StrTemp = Replace(StrTemp, "零万", "万")
    StrTemp = Replace(StrTemp, "零亿", "亿")
    StrTemp = Replace(StrTemp, "零零零零", "零")
    StrTemp = Replace(StrTemp, "零零零", "零")
    StrTemp = Replace(StrTemp, "零零", "零")

    If Right(StrTemp, 1) = "零" Then
        StrTemp = Left(StrTemp, Len(StrTemp) - 1)
    End If

    If StrDec <> "" Then
        StrTemp = StrTemp & "元" & Digits(Mid(StrDec, 1, 1)) & "角" & Digits(Mid(StrDec, 2, 1)) & "分"
    Else
        StrTemp = StrTemp & "元整"
    End If

    If isNeg Then
        StrTemp = "负" & StrTemp
    End If

    NumToRMB = StrTemp
End Function

5.关闭 VBA 编辑器,返回到你的 Excel 工作表。

6.在 Excel 中,使用自定义函数 NumToRMB 将数值转换为中文大写金额。例如,如果你的数值在 A1 单元格中,你可以在 B1 单元格中输入:

=NumToRMB(A1)

这样,Excel 将自动把 A1 单元格中的数值(如 294632.80)转换为中文大写金额(贰拾玖万肆仟陆佰叁拾贰元捌角)。

你可以根据需要修改和扩展这个函数来适应具体的需求。

第二种方法:输入以下公式,将E6改为你的原单元格引用。

=IF(ROUND(E6,2)<0,"无效数值",IF(ROUND(E6,2)=0,"零",IF(ROUND(E6,2)<1,"",TEXT(INT(ROUND(E6,2)),"[dbnum2]")&"元")&IF(INT(ROUND(E6,2)10)-INT(ROUND(E6,2))10=0,IF(INT(ROUND(E6,2))(INT(ROUND(E6,2)100)-INT(ROUND(E6,2)10)10)=0,"","零"),TEXT(INT(ROUND(E6,2)10)-INT(ROUND(E6,2))10,"[dbnum2]")&"角")&IF((INT(ROUND(E6,2)100)-INT(ROUND(E6,2)10)10)=0,"整",TEXT((INT(ROUND(E6,2)100)-INT(ROUND(E6,2)10)10),"[dbnum2]")&"分")))
0

评论0

请先
高清无水印 15D202-4 建筑一体化光伏系统电气设计与施工图 .pdf
高清无水印 15D202-4 建筑一体化光伏系统电气设计与施工图 .pdf
9分钟前 有人购买 去瞅瞅看

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录网站