Excel中金額小寫轉大寫,職場小技能,值得學習

2021-01-07 亦心Excel

對於做財務的同學應該經常會遇到要求把金額用大寫的方式展示吧,如下圖這樣。

今天小編就和大家分享如何把數字金額轉換為大寫金額。

1、單元格格式

Excel本身自帶了中文大寫數字格式,但是實際使用不僅容易,下面我們一起來看看吧。

不知道大家還記不記得在單元格格式中數字類別類別下有個特殊格式,這個格式下就有中文大寫數字格式。

我們直接用開頭的數據來試試,看看效果,也好做個對比。

看到結果應該知道小編為什麼說不盡如意了吧。這種方式有幾個問題:①沒有元角分單位;②有小數點;③沒有包含整字。

2、NUMBERSTRING函數

NUMBERSTRING函數是Excel中的一個隱藏函數,就是在函數列表裡查不到的,我們也就不去研究Excel出於什麼原因沒有公開這個函數了。

函數格式:「=NUMBERSTRING(VALUE,TYPE)」;

函數作用;處理小寫數字轉大寫數字;

說明:VALUE表示要轉換的數字;TYPE有三種類型可選為「1、2、3」,每種類型對應一種展示大寫方式。

注意點:這個函數隻支持正整數,不支持小數。

我們來看看三種類型的效果對比:

從結果上來看類型參數為2的是我們需要的,並且我們發現也是沒有單位沒有整字的,而且函數不能處理小數。我們可以看下效果:

而且我們還發現如果直接使用小數,結果會被四捨五入。

不過這些都不是問題,因為是函數所有操作空間就很多,我們可以進行加工得到我們想要的。

我們先來解決四捨五入的問題。今天我們來學習一個新函數TRUNC。這個函數很簡單,主要作用是把數字的小數部分截掉,保留整數部分,語法:TRUNC(數字)。

然後我們來解決小數部分。既然NUMBERSTRING函數只能處理整數,那麼如果我們把小數部分轉為整數不就行了嗎?而且我們只需要處理角和分也就是兩個字。

小編第一個想到的是截取函數,然後定位到角分,方案是可以的,就是公式寫出來很長很繁瑣。

如下圖,如一個兩位小數,我們首先把這個兩位小數乘以10,然後對結果截取整數部分得到金額1,那麼十分位就變成個位了;然後對這個兩位小數直接截取整數部分再乘以10得到金額2,並且金額2的個位一定是0,而且金額1和金額2位數也一定相等,只要把金額1減金額2就可得到角了。

同理「=TRUNC(A5*100)-TRUNC(A5*10)*10」可得分。

現在四捨五入,角,分問題都解決了,我們把公式拼接一下就可以了。最終得到公式:「=NUMBERSTRING(TRUNC(B5),2)&"元"&NUMBERSTRING(TRUNC(B5*10)-TRUNC(B5)*10,2)&"角"&NUMBERSTRING(TRUNC(B5*100)-TRUNC(B5*10)*10,2)&"分"」,我們看看效果:

看到結果還是不是很理想,還是有很多問題,整數結尾應該是「元整」,角為有值分位沒值的結尾應該是「角整」,分位有值的且角位為0的應該是「零玖分」這樣,後面不應該有「零分」。當然這些問題也可通過IF函數在處理,但是這就會導致公式很長。

小編發現主要問題就是在小數部分的處理上,因此我們可以選擇把小數部分複雜的處理交給VBA處理,代碼如下:

'獲取小數部分大寫金額

Function GetDecimal(cell)

Dim arrResult() As String

'截取小數點

arrResult = VBA.Split(cell, ".")

Dim iArr As Integer

iArr = UBound(arrResult)

'沒有小數部分直接返回"元整"

If iArr = 0 Then

GetDecimal = GetDecimal & "元整"

'有小數部分且是格式正確

ElseIf iArr = 1 Then

Dim strSmall As String

strSmall = arrResult(1)

Dim iSmall As Integer

Dim strJiao, strFen As String

'獲取小數位數

iSmall = Len(strSmall)

'一位小數則為分

If iSmall = 1 Then

strJiao = getUpperCase(strSmall)

'兩位小數則為分角

ElseIf iSmall = 2 Then

strJiao = getUpperCase(Left(strSmall, 1))

strFen = getUpperCase(Right(strSmall, 1))

'大於兩位小數隻取前兩位分角

Else

strJiao = getUpperCase(Left(strSmall, 1))

strFen = getUpperCase(Mid(strSmall, 2, 1))

End If

'如 1.00 為 壹元整

If (strFen = "" Or strFen = "零") And strJiao = "零" Then

GetDecimal = GetDecimal & "元整"

'如 1.10 為 壹元壹角整

ElseIf (strFen = "" Or strFen = "零") And strJiao <> "零" Then

GetDecimal = GetDecimal & "元" & strJiao & "角整"

'如 1.01 為 壹元零壹分

ElseIf strFen <> "" And strFen <> "零" And strJiao = "零" Then

GetDecimal = GetDecimal & "元" & "零" & strFen & "分"

'如 1.11 為 壹元壹角壹分

ElseIf strFen <> "" And strFen <> "零" And strJiao <> "零" Then

GetDecimal = GetDecimal & "元" & strJiao & "角" & strFen & "分"

End If

'有小數部分但是格式不正確

Else

GetDecimal = GetDecimal & "數據格式有問題"

End If

End Function

'數字轉大寫

Private Function getUpperCase(str) As String

Dim strWord As String

Select Case str

Case "0": strWord = "零"

Case "1": strWord = "壹"

Case "2": strWord = "貳"

Case "3": strWord = "叄"

Case "4": strWord = "肆"

Case "5": strWord = "伍"

Case "6": strWord = "陸"

Case "7": strWord = "柒"

Case "8": strWord = "捌"

Case "9": strWord = "玖"

Case Else: strWord = str

End Select

getUpperCase = strWord

End Function

代碼中也有解釋,小編註解應該還算清楚,不清楚的可以和小編一起探討。

最後把整數部分和小數部分結合起來,使用公式:「=NUMBERSTRING(TRUNC(B5),2)&GetDecimal(B5)」即可得到最終效果。

相關焦點

  • 必會Excel技能:小寫金額迅速轉大寫金額,告別逐字敲鍵盤!
    特別是Excel表格中做帳時,有些需要用大寫金額來代替,手動輸入的話很麻煩。保叔教你快速地將小寫金額轉為大寫金額,一起來學習吧!快速轉換成普通格式的方法1、打開excel,輸入一些數字,分為小寫金額和大寫金額。
  • Excel小寫金額轉大寫金額
    如果一個個填寫大寫金額,既耗時費力,又事半功倍。如果面對大量數據,則效率低下且極易出錯。今天向大家推薦三種方法,迅速搞定數字小寫金額轉大寫金額。方法一:設定單元格格式法上圖為待轉換的小寫數字,請轉為數字大寫金額。1、 將A列的數字小寫金額,複製到B列,單擊右鍵,選擇設置單元格。
  • excel數字小寫轉大寫公式的教程
    excel 數字小寫轉大寫公式的教程2  數字轉人民幣大寫形式的公式是:  =IF(B1<0,
  • Excel 數字小寫金額轉大寫金額方法大全
    如果一個個填寫大寫金額,既耗時費力,又事半功倍。如果面對大量數據,則效率低下且極易出錯。今天向大家推薦三種方法,迅速搞定數字小寫金額轉大寫金額。上圖為待轉換的小寫數字,請轉為數字大寫金額。1、 將A列的數字小寫金額,複製到B列,單擊右鍵,選擇設置單元格。
  • 職場技能:Excel快速實現小寫金額轉大寫,報銷申請必備!
    在日常生活和工作中,我們經常用到小寫金額和大寫金額,尤其是報銷申請的時候。那麼在EXCEL中如何使小寫金額快速轉化成正確的大寫呢?以一個金額信息表為例,下面給大家介紹兩種很方便的方法。方法一:小寫金額不包含小數的時候,可以直接通過設置單元格(特殊格式)的形式,進行轉換。
  • Excel教程:財務崗必會Excel技能!數字小寫金額轉大寫的妙招!
    今天小雅將為大家分享3種Excel中常見的數字小寫金額轉大寫金額的方法
  • Excel小寫轉大寫金額的幾種方法
    這也是一個很常見的問題了:如何將小寫金額轉為大寫金額。在Excel中有幾種實現方法,適合不同場景。
  • Excel金額小寫轉大寫,請學會這三招!
    Excel小寫轉大寫金額的三種好用的方法。 第1種方法單元格格式轉大寫金額。將A列的數字小寫金額,複製到B列,單擊右鍵,選擇設置單元格格式。在左側的類別欄中,單擊:特殊,就會在右側出現類型,選擇中文大寫數字即可。
  • Word表格小寫金額如何轉大寫金額呢?
    Word表格小寫金額如何轉大寫金額呢?在辦公的過程中是否有遇到過這種情況呢?老闆讓你把商品銷售額裡面的小寫金額都改成大寫金額,數量很多的時候,一個一個的改過來很麻煩,需要很長的時間,那小寫金額如何轉換成大寫金額呢?Word表格有沒有什麼方法可以解決這一類的問題呢?答案是有的。
  • 人民幣大寫金額怎麼寫?小寫金額轉大寫怎麼弄?
    人民幣大寫金額怎麼寫?小寫金額轉大寫怎麼弄?有的時候寫支票或者欠款單等等需要運用到大寫金額,但是把小寫金額轉成大寫,到底應該怎麼做呢?接下來小昭就把自己常用的方法介紹出來,希望對大家有所幫助。用Excel表格把小寫金額轉換成大寫是很方便,我們以「8935」這個金額為例。
  • 小寫轉大寫金額如此簡單
    大家好,今天和大家分享「小寫轉大寫金額如此簡單「,一般我們會想到text函數,而這個函數numberstring2003版,2007,2010,2013,2016都有這個函數,只是我們沒有發現它而已,閒人少說,具體效果我們先看動畫
  • Excel表格裡,將小寫數字轉換成大寫數字,以WPS2019版為例
    有的學員提問,在excel表格的運算中,有時候涉及金額的時候,會遇到小寫阿拉伯數字會填寫,而對應的大寫數字會填寫錯,有沒有便捷簡單的技巧應對這個問題,下面我就把有關阿拉伯數字小寫轉換成大寫的小方法整理出來了。
  • Excel金額小寫轉大寫的方法,帶你優雅錄入金額
    作為財務工作的小夥伴們,填寫中文大寫金額是常有的事,如果一個一個錄入,那可以相當耗時費力的,面對大量的數據,效率低下,還易出錯,今天小編就可大家分享幾種轉換金額大寫的方法,希望對你的工作有所幫助。【記得點讚關注我】方法一:設置單元格格式法先複製小寫數字,然後點擊滑鼠右鍵,在彈出的菜單中選擇【設置單元格格式】,在新窗口中選擇【數字】頁面,分類選擇【特殊】,右側類型選擇【中文大寫數字】,最後點擊【確定】按鈕即可,演示如下圖:
  • 人民幣金額小寫轉大寫
    做會計憑證經常需要金額大小寫轉換,熟練掌握該技巧還是很必要的,今天我們就來學習下小寫金額轉換大寫的方法。
  • 人人都必須懂得財務知識,將小寫數字金額換算成中文大寫金額!
    不管是否從事財會工作,報銷基本上是每個職場人必須面對的事情,每次需要填寫大寫金額時技巧君心中都有千萬隻「草泥馬」奔騰而過,你是否也在為小寫數字金額轉換為中文大寫金額而煩惱呢?今天,技巧君就介紹一種方法讓你一秒把小寫金額轉換為大寫金額!
  • Excel中人民幣小寫金額轉換大寫技巧兩則
    南方網訊 要將人民幣小寫金額轉換成大寫格式,用Excel提供的格式,將自定義格式類型中的「[dbnum2]G/通用格式」改為「[dbnum2] G/通用格式「元」」來實現。
  • 【Excel問伊答196】阿拉伯數字123等等轉成中文大寫或者中文小寫
    有一列阿拉伯數字,怎麼快速變成中文形式,大寫小寫均可。1,單元格格式設置,ctrl+1,數字-分類-特殊切到自定義,可以看到類型代碼:中文小寫是[dbnum1],中文大寫是[dbnum2]2,公式法就用TEXT函數中文小寫是=TEXT(A2,"[dbnum1]")
  • 會計必須會,Excel人民幣小寫轉大寫快速輸入方法
    會計在工作中,經常遇到要在Excel中輸入人民幣大寫的情況。如果,你每次都是在手工一個一個漢字錄入,然後再一個字一個字的檢查是否正確,那麼,你真OUT了。其實,在Excel中人民幣大寫快速錄入的方法非常多,使用公式可以,使用VBA也可以,甚至很多輸入法都有這功能。
  • 人民幣金額小寫轉大寫從此不再難!
    做會計憑證經常需要金額大小寫轉換,熟練掌握該技巧還是很必要的,今天我們就來學習下小寫金額轉換大寫的方法。
  • Excel表格小寫數字怎麼轉大寫?Leo老師來教你!
    在工作學習中,我們經常會遇到Excel小寫數字怎麼轉大寫這樣的問題。有人說過:世界會向那些有目標和遠見的人讓路。因此,面對Excel小寫數字怎麼轉大寫我們應該有努力探索的精神。古之成大事者,不惟有超世之才,必有堅忍不拔之志。對於這個問題也是一樣的。