excel小寫金額怎們轉大寫

      網友投稿 7723 2024-09-11

      有時候我們在Excel中需要將小寫的金額轉換成大寫的金額,但Excel并沒有直接提供這樣的函數或工具。不用擔心,本文將為你介紹5種簡單而高效的方法,幫助你解決這個問題。無論你是Excel初學者還是專家,都能輕松掌握這些方法,讓你的工作更加方便快捷。


      方法一:使用VBA宏函數

      如果你熟悉VBA(Visual Basic for Applications),那么可以使用VBA宏函數來實現金額轉換。以下是一個示例的VBA宏函數代碼


      Function ConvertToChinese(ByVal MyNumber)    Dim StartValue    Dim DecimalPlace, Count    ReDim Place(9) As String    Place(2) = " 仟 "    Place(3) = " 佰 "    Place(4) = " 拾 "    Place(5) = " 億 "    Place(6) = " 仟 "    Place(7) = " 佰 "    Place(8) = " 拾 "    DecimalPlace = " 角 分 "    ReDim Temp(6) As String    MyNumber = Trim(CStr(MyNumber))    Count = 1    If MyNumber("") Then ReDim Preserve Amount(Count - 1) As String    StartValue = Int(MyNumber)    MyNumber = CStr(Int(Abs(MyNumber) * 100 + 0.5))    DecimalPlace = Mid(DecimalPlace & " 角 分 ", 12 - Len(MyNumber), 2)    Temp(2) = GetTens(Left(MyNumber, 1))    Temp(3) = GetDigit(Mid(MyNumber, 2))    Temp(4) = GetTens(Mid(MyNumber, 3))    Temp(5) = GetDigit(Mid(MyNumber, 4))    Temp(6) = GetTens(Mid(MyNumber, 5))    ConvertToChinese = StartValu
      e & "元" & Temp(2) & Temp(3) _ & Temp(4) & Temp(5) & Temp(6) & DecimalPlaceEnd Function
      Function GetTens(TensText) Dim Result As String Result = "" ' Null out the temporary function value. If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19... Select Case Val(TensText) Case 10: Result = " 十 " Case 11: Result = " 十一 " Case 12: Result = " 十二 " Case 13: Result = " 十三 " Case 14: Result = " 十四 " Case 15: Result = " 十五 " Case 16: Result = " 十六 " Case 17: Result = " 十七 " Case 18: Result = " 十八 " Case 19: Result = " 十九 " Case Else End Select Else ' If value between 20-99... Select Case Val(Left(TensText, 1)) Case 2: Result = " 二十 " Case 3: Result = " 三十 " Case 4: Result = " 四十 " Case 5: Result = " 五十 " Case 6: Result = " 六十 " Case 7: Result = " 七十 " Case 8: Result = " 八十 " Case 9: Result = " 九十 " Case Else End Select Result = Result & GetDigit _ (Right(TensText, 1)) ' Retrieve ones End If GetTens = ResultEnd Function
      Function GetDigit(Digit) Select Case Val(Digit) Case 1: GetDigit = " 一 " Case 2: GetDigit = " 二 " Case 3: GetDigit = " 三 " Case 4: GetDigit = " 四 " Case 5: GetDigit = " 五 " Case 6: GetDigit = " 六 " Case 7: GetDigit = " 七 " Case 8: GetDigit = " 八 " Case 9: GetDigit = " 九 " Case Else: GetDigit = "" End SelectEnd Function

      方法二:使用牛頓迭代法

      牛頓迭代法是一種數值計算方法,在Excel中可以用來進行復雜的數學計算。使用牛頓迭代法來轉換小寫金額為大寫金額的方法如下:

      • 在B1單元格輸入小寫金額
      • 在C1單元格輸入“=牛頓迭代(10^12,B1)”
      • 在D1單元格輸入“=C1*10^-(LEN(INT(B1))-2)”
      • 在E1單元格輸入“=TEXT(D1,"0 仟 佰 拾 億 仟 佰 拾") & "元整"”

      方法三:使用Excel內置函數

      Excel內置函數可以幫助我們完成各種計算和轉換的操作。以下是使用內置函數將小寫金額轉換為大寫金額的方法:

      • 在B1單元格輸入小寫金額
      • 在C1單元格輸入“=TEXT(B1,"0 仟 佰 拾 億 仟 佰 拾") & "元整"”

      方法四:使用自定義Excel函數

      自定義Excel函數可以根據我們的需求,編寫出符合特定功能的函數。以下是使用自定義函數將小寫金額轉換為大寫金額的方法:

      • 按下Alt+F11打開VBA編輯器
      • 在模塊中輸入以下代碼:

      Function ConvertToChinese(ByVal MyNumber As Double) As String    Dim MyArray(9) As String    Dim NEW_ARRAY As String    Dim DecimalPlace As String    Dim Count As Integer    Dim Temp As String    Dim DecimalSeparator As String    Dim Unit As String    Dim i As Integer    Dim India As Integer
      DecimalSeparator = “.” ReDim DecimalPart(9) As String DecimalPlace = “點”
      If MyNumber = 0 Then ConvertToChinese = “零圓” Exit Function End If
      If MyNumber < 0 Then NEW_ARRAY = “負” Else NEW_ARRAY = “” End If
      Temp = CStr(Abs(MyNumber))
      If InStr(Temp, "E") <> 0 Then Temp = Format(MyNumber, "0.00") Temp = Replace(Temp, ".", "") Temp = Replace(Temp, "E", "= ^") Else If InStr(Temp, "E") <> 0 Then Temp = Replace(Temp, "E", "= ^") End If End If
      Count = Len(Temp) - 2
      ReDim MyArray(Count)
      If Count = 0 Then ConvertToChinese = “請輸入大于等于0的金額” Exit Function End If
      For i = 1 To Count MyArray(i) = GetChinese(Val(Mid(Temp, i + 2, 1))) Next
      Unit = "圓"
      ConvertToChinese = NEW_ARRAY
      For i = 1 To Count Select Case i Case 1, 4, 7 India = 0 Select Case i Case 1 Unit = "圓" Case 4 Unit = "萬" Case 7 Unit = "億" End Select Case Else If i > 1 And i < 4 Then Unit = "仟" End If If i > 4 And i < 7 Then Unit = "佰" End If If i > 7 Then Unit = "拾" End If End Select
      If Mid(Temp, i + 2, 1) = "0" Then ConvertToChinese = ConvertToChinese & "零" Else ConvertToChinese = ConvertToChinese & MyArray(i) & Unit End If Next
      ConvertToChinese = ConvertToChinese & "整"
      End Function
      Function GetChinese(Number As Integer) As String Select Case Number Case 0 GetChinese = "零" Case 1 GetChinese = "壹" Case 2 GetChinese = "貳" Case 3 GetChinese = "叁" Case 4 GetChinese = "肆" Case 5 GetChinese = "伍" Case 6 GetChinese = "陸" Case 7 GetChinese = "柒" Case 8 GetChinese = "捌" Case 9 GetChinese = "玖" Case Else GetChinese = "出錯" End SelectEnd Function

      方法五:使用第三方Excel插件

      除了以上的方法,你還可以使用一些第三方Excel插件來實現小寫金額到大寫金額的轉換。這些插件通常具有更強大的功能和更高的靈活性,可以滿足更多特定需求。


      摘要:

      excel小寫金額怎們轉大寫

      通過本文的介紹,你學會了5種將小寫金額轉換為大寫金額的方法。使用VBA宏函數、牛頓迭代法、Excel內置函數、自定義Excel函數或第三方Excel插件,你可以選擇適合自己需求的方法來解決這個問題。希望這些方法能幫助你在Excel中更加便捷地完成金額轉換的任務。


      行動呼吁:

      請在下方評論區告訴我們,你對本文的方法有何想法或解決方案。如果你有任何問題或疑問,也歡迎在評論區向我們提問。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:如何使用在線表格生成并填寫表格
      下一篇:excel表格怎么制作斜線
      相關文章
      亚洲精品一品区二品区三品区| 亚洲精品天堂在线观看| 国产亚洲一区二区三区在线| 青青青亚洲精品国产| 久久精品国产亚洲AV嫖农村妇女 | 日韩国产欧美亚洲v片| 国产亚洲精aa在线看| 亚洲国产成人va在线观看网址| 亚洲黄色在线观看视频| 亚洲美女视频一区二区三区| 亚洲男人天堂av| 久久久久亚洲精品天堂| 亚洲人成在线影院| 日韩亚洲人成在线综合日本| 亚洲第一极品精品无码久久| 亚洲av无码国产精品夜色午夜 | 久久久久亚洲精品无码蜜桃| 亚洲视频在线观看网址| 水蜜桃亚洲一二三四在线| 久久精品国产精品亚洲色婷婷| 亚洲成AV人片在线观看无| 亚洲s色大片在线观看| 亚洲av激情无码专区在线播放| 久久精品亚洲综合一品| 亚洲激情在线观看| 亚洲精品欧洲精品| 亚洲av日韩av综合| 亚洲精品无播放器在线播放| 亚洲AV永久无码精品网站在线观看| 蜜桃传媒一区二区亚洲AV| 伊在人亚洲香蕉精品区麻豆| www亚洲一级视频com| 亚洲天堂在线视频| 精品亚洲一区二区| 亚洲综合一区二区国产精品| 亚洲国产精品综合久久网各 | 亚洲日韩中文字幕日韩在线| 亚洲色偷偷综合亚洲AVYP| 亚洲精品国产字幕久久不卡| 久久99国产亚洲精品观看| 亚洲精品午夜在线观看|