tft每日頭條

 > 生活

 > 數字轉換大寫金額公式

數字轉換大寫金額公式

生活 更新时间:2025-01-08 20:27:31

數字轉換大寫金額公式? 很多朋友問到了在Excel中如何将小寫的數字金額轉換為中文大寫的金額,在此,專門開一篇文章介紹這個問題,我來為大家科普一下關于數字轉換大寫金額公式?下面希望有你要的答案,我們一起來看看吧!

數字轉換大寫金額公式(将數字金額轉換為中文大寫金額的方法)1

數字轉換大寫金額公式

很多朋友問到了在Excel中如何将小寫的數字金額轉換為中文大寫的金額,在此,專門開一篇文章介紹這個問題。

實際上,這種數字轉換的方法不止一種,在此,主要介紹兩種轉換方式。第一種,使用公式設定單元格格式,第二種,使用自定義函數。實際效果如下:

那麼以下,就來說一下每種方式的具體操作過程。

第一種方式:使用公式

這種方式最為簡單,不需要任何設定,隻需要在目标單元格寫入公式即可,以上圖為例,在B2單元格寫入如下公式即可:

=IF(INT(B1)=B1,TEXT(INT(B1),"[dbnum2]G/通用格式元整;;"),TEXT(INT(B1),"[dbnum2]G/通用格式元;;") & TEXT(RIGHT(RMB(B1,2),2),"[dbnum2]0角0分;;整"))

大體意思就是,把數據分成兩部分來觀測,第一部分為為整數,第二部分為小數,判斷在不同情況下按照不同的自定義格式輸出。

第二種方式:使用自定義函數

在VBA編輯器中插入一個模塊,寫入如下代碼:

Public Function N2RMB(Number As Double) As String If IsNull(Number) = True Then N2RMB = "0" Exit Function End If Dim j, k, l, last As Integer Dim n As Double Dim C1, C2, X As String C1 = "零壹貳叁肆伍陸柒捌玖" C2 = "分角元拾佰仟萬拾佰仟億拾佰" last = 1 n = Round(Abs(Number), 2) * 100 l = Len(CStr(n)) last = 1 For j = 1 To Len(CStr(n)) 'k為右邊算起的第j位的數字 k = Mid(n, Len(CStr(n)) 1 - j, 1) If k > 0 Then X = Mid(C1, k 1, 1) & Mid(C2, j, 1) & X last = 1 Else Select Case j Case 1 Case 3 X = "元" & X Case 7 If Len(CStr(n)) < 11 Then X = "萬" & X Else If Mid(CStr(n), Len(CStr(n)) - 9, 4) <> "0000" Then X = "萬" & X End If End If Case 11 X = "億" & X Case Else If last = 1 Then X = "零" & X End If End Select last = 0 End If If j = 2 And Right(n, 2) = 0 Then X = X & "整" End If Next j N2RMB = X End Function

以上代碼定義了一個全局自定義函數N2RMB()。調用該函數,可以直接把Excel單元格内部數據轉化為中文的大寫金額。

以開頭的圖片為例,用法如下:

在B3單元格輸入:N2RMB(B1)即可。可以看到,此時函數提示裡面已經自動把該自定義函數給列出來了。

比較以上兩種方式,各有優劣。如果在單元格簡單的數據轉化上,那麼使用公式比較省事。但如果涉及到複雜的輸出,那麼公式就會比較冗長,很容易出錯。使用自定義函數的話工作簿需要保存為啟用宏的工作簿,很多地方可能會被阻止,但用起來非常簡潔。


創作不易,轉載請聲明來源!謝謝

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved