这样将EXCEL中的数字变成中文大写.doc
文本预览下载声明
这样将EXCEL中的数字变成中文大写
2009年05月31日 星期日 06:13
(1)单纯数字???? 右键选该单元格,设置单元格格式,数字,特殊,中文大写(2)文字和数字组合???? 比如数字在A1格为456,要在B1格得到肆佰伍拾陆元整,函数如下“=TEXT(A1,[Dbnum2])元整”,其中[dbnum2] 是格式函数, 数字转中文大写,有一内建函数与 [dbnum2]有相同作用, 是numberstring 以上函数也可以写成“=numberstring(A1,2)元整”(3)复杂数字转中文大写???? 比如,要将A1格的123456.65转变为壹拾贰万叁仟肆佰伍拾陆圆陆角伍分,在B1格输入以下公式
“=TEXT(TRUNC(A1),[Dbnum2])圆IF(ROUND((A1-TRUNC(A1))*100,1)0,IF(LEN(ROUND((A1-TRUNC(A1))*100,1))=1,零角TEXT(ROUND((A1-TRUNC(A1))*100,1),[Dbnum2])分,TEXT((ROUND((A1-TRUNC(A1))*100,1)-MOD(ROUND((A1-TRUNC(A1))*100,1),10))/10,[Dbnum2])角TEXT(MOD(ROUND((A1-TRUNC(A1))*100,1),10),[Dbnum2])分),零角零分 )”另有网友编为:“=IF((INT(A1*10)-INT(A1)*10)=0,TEXT(INT(A1),[DBNum2])圆IF((INT(A1*100)-INT((A1)*10)*10)=0,整,零TEXT(INT(A1*100)-INT(A1*10)*10,[DBNum2])分),TEXT(INT(A1),[DBNum2])圆IF((INT(A1*100)-INT((A1)*10)*10)=0,TEXT((INT(A1*10)-INT(A1)*10),[DBNum2])角整,TEXT((INT(A1*10)-INT(A1)*10),[DBNum2])角TEXT(INT(A1*100)-INT(A1*10)*10,[DBNum2])分))”也不错,能显示整。
如题所示,在EXCEL里面,如何将123456这样的阿拉伯数字转换为中文大写呢,这里使用了一个函数,一个不常为人们使用的函数!
NUMBERSTRING函数(没有人民币功能)
其用法是: NUMBERSTRING(数值,转换方式)
数值为已填写的数字或单元格数据,转换方式提供三种,参数分别为1,2,3;三种方式显示的中文各不相同,下面按图操作即可!
知识扩展: 博誉财税
TEXT(1234567890,[DBNum1]) → 一十二亿三千四百五十六万七千八百九十
TEXT(1234567890,[DBNum2]) → 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾 维智财税
TEXT(1234567890,[DBNum1]0) → 一二三四五六七八九○
TEXT(1234567890,[DBNum2]0) → 壹贰叁肆伍陆柒捌玖零
第三种:(不太好用)
1.首先鼠标右键单击需要用大写金额显示的单元格。???????2.(*假设此单元格金额为123.50元*) → 设置单元格格式 → 数字 → 自定义 → 在类型框中输入 [dbnum2]0百0拾0元0角整 即可将选中的单元格中的数字显示为大写金额:(壹百贰拾叁元伍角整)。???????(*假设此单元格金额为1234.51元*) → 设置单元格格式 → 数字 → 自定义 → 在类型框中输入 [dbnum2]0千0百0拾0元0角0分整 即可将选中的单元格中的数字显示为大写金额:(壹千贰百叁拾肆元伍角壹分整)。
第四种:(不知怎么用~)
金额数字转中文大写 处理能力:整数部分:9999999999999999(16位长,仟万亿)小数部分:3位,多于3位舍去(不做四舍五入)
运行结果:1.23 壹元贰角叁分1234567890123456.123 壹仟贰佰叁拾肆万伍仟陆佰柒拾捌亿玖仟零壹拾贰万叁仟肆佰伍拾陆元壹角贰分叁厘0.0798 柒分玖厘10,001,000.09 壹仟万零壹仟元玖分01.107700 壹元壹角柒厘
public class MoneyUtil {
/** 大写数字 */private static final String[] NUMBERS = { 零, 壹, 贰, 叁, 肆, 伍, 陆,????? 柒, 捌, 玖 };/** 整数部分的单位 */private static final String[] IUNIT = { 元, 拾, 佰, 仟, 万, 拾, 佰,????? 仟, 亿, 拾
显示全部