国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 辦公 > Excel > 正文

Excel金額小寫轉大寫公式

2024-08-23 19:26:49
字體:
來源:轉載
供稿:網友

  近來轉了轉幾個Excel相關論壇,發現有部分網友在尋求數字金額轉換為人民幣大寫的方法。出于好奇,我在網上搜索了一番,什么VBA、加載宏,公式函數各式方法爭相亮相,應有盡有。但我的習慣是,只要能用公式解決的問題,堅決不使用VBA。所以我就特別地關注使用公式來生成的方法,結果是用公式的方法可謂是更加地燦爛繽紛,使人眼花繚亂。

  通過分析我收集到的二十幾個公式,發現比較牛,適合我口味的公式有三個,在此我將其列出。

  公式一:

  SUBSTITUTE(SUBSTITUTE(IF(A1《0, “負”,“”)&TEXT(TRUNC(ABS(ROUND(A1,2))),“[DBNum2]”)& “元”&IF(ISERR(FIND(“。”,ROUND(A1,2))),“”,TEXT(RIGHT(TRUNC(ROUND(A1,2)*10)),“[DBNum2]”))&IF(ISERR(FIND(“.0”,TEXT(A1,“0.00”))), “角”,“”)&IF(LEFT(RIGHT(ROUND(A1,2),3))= “。”,TEXT(RIGHT(ROUND(A1,2)),“[DBNum2]”)&“分”,IF(ROUND(A1,2)=0,“”, “整”)),“零元零”,“”),“零元”,“”)

  公式二:

  CONCATENATE(IF(A1《0, “負”,“”),TEXT(IF(TRUNC(A1)=0,“”,TRUNC(ABS(A1))),“[DBNum2]”),IF(INT(TRUNC(A1))=0,“”, “元”),TEXT(IF(OR(ABS(A1) 《0.1,TRUNC(A1)=A1),“”,RIGHT(TRUNC(A1*10),1)),“[DBNum2]”),IF(RIGHT(TRUNC(A1*10),1)=“0”,“”, “角”),TEXT(IF(RIGHT(TRUNC(A1*100),1)=“0”,“”,RIGHT(TRUNC(A1*100),1)),“[DBNum2]”),IF(RIGHT(TRUNC(A1*100),1)=“0”,“”, “分”))

  公式三:

  IF(ROUND(A1,2)=0,“”,IF(ROUND(ABS(A1),2)》=1,TEXT(INT(ROUND(ABS(A1),2)),“[DBNum2]”)& amp;“元”,“”)&IF(RIGHT(TEXT(A1,“.00”),2)*1=0, “整”,IF(RIGHT(TEXT(A1,“.00”),4)*1》=1,IF(RIGHT(TEXT(A1,“.00”),2)*1》9,“”, “零”),IF(ROUND(ABS(A1),2)》=1,“零”,“”))&IF(RIGHT(TEXT(A1,“.00”),2)*1》 9,TEXT(LEFT(RIGHT(TEXT(A1,“.00”),2)),“[DBNum2]”)& “角”,“”)&IF(RIGHT(TEXT(A1,“.00”))*1》 0,TEXT(RIGHT(TEXT(A1,“.00”)),“[DBNum2]”)&“分”,“整”)))

  我用不同的數值對這三個公式進行了一番測試,都達到了我的要求,至少到目前為止還沒有發現上述公式存在著什么錯誤。上述公式對負數的處理采取了不同的方法。公式一和公式二對負數是在其前部加上一個“負”字,而公式三則是按正數進行處理。我比較推崇公式三的方式,不是還有條件格式可以設置嗎?若是負數就用條件格式來變為紅色。

  我不準備在此對上述公式進行分析解說。撰寫本文的目的是我也想自己來“組裝”一個所謂的通用公式。我只所以說是“組裝”而不是叫什么“開發”或者是“拼湊”,是因為EXCEL的函數現成地擺在了那里,使用時就是為了達到某種目的,按照其固有的規則,將其進行有機的組合,可謂“組裝”。但是在這個過程中,也是要開動腦筋的,并非是隨隨便便“拼湊”就能成功的。本文的目的就是想將我在“組裝”公式時的思路展現出來。

  若用程序設計語言(比如用C語言)來寫一個人民幣數字金額轉大寫金額會怎樣考慮呢?我想每一位數字都要考慮到。但在EXCEL中,單元格格式中有一個“特殊”格式,里面就有將小寫數字轉換為大寫數字的格式。但要注意的是,這里轉換的是數字而不是金額。所以轉換出來后并不存在“元”、“角”、 “分”、“整”等在大寫金額中出現的字。但是,“元”只出現在整數部分的后面,而小數部分只有角分兩位。這樣只要利用EXCEL的“特殊”格式將數據分為整數部分、角位和分位三個部分來處理就行了。處理的順序是先整數,再角位、再分位。

  由于要分三個部分分別處理,然后根據情況分別與“元”,“角”,“分”及“整”相連接。連接的方式可以使用CONCATENATE()函數,如公式二,也可以使用連接符&。而用&來連接,公式結構似乎會相對簡單清晰一些,所以我選擇了用&來連接。

  雖然對問題進行了分解,但需要考慮的細節相當多。

  若單元格為0或者空,輸出空,避免出現“零”、“零元”等字樣。對非數字字符不進行處理,使用EXCEL自身的錯誤提示。

  對負數按正數處理,再用條件格式將其轉換為紅色,不擬采用“負XXXXXX”的形式。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宣威市| 农安县| 新巴尔虎左旗| 贵州省| 磴口县| 合川市| 商洛市| 扶沟县| 调兵山市| 三台县| 古交市| 邛崃市| 江孜县| 班玛县| 镇沅| 金山区| 肥西县| 伊春市| 海伦市| 阿城市| 镇宁| 娱乐| 广东省| 夏邑县| 叶城县| 平南县| 漳浦县| 民乐县| 文水县| 兴国县| 毕节市| 尼玛县| 朝阳区| 阜宁县| 荔波县| 巩义市| 蒲城县| 楚雄市| 和林格尔县| 宝山区| 胶州市|