EXCEL文本函数-数字小写换大写/英文大小写互换
2007年10月17日 星期三 13:04
在大小写中英文互换公式中我们先假设每个表都有表头,且数字在第二行,在A2单元格内
注意:公式可以随意拖动至任意指定单元格,公式内对象不变;可复制(待鼠标变成黑十字再拖);也可利用查-替换-全部替换 单元格 如A2---全部换成F15
EXCEL中数字小写换大写方法一:
在单元格A2中输入小写数字123.12
B2处输入以下公式
=SUBSTITUTE(SUBSTITUTE(IF(A2<0,"负","")&TEXT(TRUNC(ABS(ROUND(A2,2))),"[DBNum2]")&"元"&IF(ISERR(FIND(".",ROUND(A2,2))),"",TEXT(RIGHT(TRUNC(ROUND(A2,2)*10)),"[DBNum2]"))&IF(ISERR(FIND(".0",TEXT(A2,"0.00"))),"角","")&IF(LEFT(RIGHT(ROUND(A2,2),3))=".",TEXT(RIGHT(ROUND(A2,2)),"[DBNum2]")&"分",IF(ROUND(A2,2)=0,"","整")),"零元零",""),"零元","")
在单元格A2中输入小写数字123.12
B2处输入以下公式
=SUBSTITUTE(SUBSTITUTE(IF(A2<0,"负","")&TEXT(TRUNC(ABS(ROUND(A2,2))),"[DBNum2]")&"元"&IF(ISERR(FIND(".",ROUND(A2,2))),"",TEXT(RIGHT(TRUNC(ROUND(A2,2)*10)),"[DBNum2]"))&IF(ISERR(FIND(".0",TEXT(A2,"0.00"))),"角","")&IF(LEFT(RIGHT(ROUND(A2,2),3))=".",TEXT(RIGHT(ROUND(A2,2)),"[DBNum2]")&"分",IF(ROUND(A2,2)=0,"","整")),"零元零",""),"零元","")
EXCEL中数字小写换大写方法二:
在单元格A2中输入小写数字123.12
B2处输入以下公式
B2处输入以下公式
=IF((INT(A2*10)-INT(A2)*10)=0,TEXT(INT(A2),"[DBNum2]G/通用格式")&"元"&IF((INT(A2*100)-INT((A2)*10)*10)=0,"整","零"&TEXT(INT(A2*100)-INT(A2*10)*10,"[DBNum2]G/通用格式")&"分"),TEXT(INT(A2),"[DBNum2]G/通用格式")&"元"&IF((INT(A2*100)-INT((A2)*10)*10)=0,TEXT((INT(A2*10)-INT(A2)*10),"[DBNum2]G/通用格式")&"角整",TEXT((INT(A2*10)-INT(A2)*10),"[DBNum2]G/通用格式")&"角"&TEXT(INT(A2*100)-INT(A2*10)*10,"[DBNum2]G/通用格式")&"分"))
EXCEL中数字小写换大写方法三:
=IF(A2-INT(A2)=0,TEXT(INT(A2),"[DBNum2]G/通用格式")&"圆整",TEXT(INT(A2),"[DBNum2]G/通用格式")&"圆"&TEXT(INT((A2-INT(A2))*10),"[DBNum2]G/通用格式")&"角"&TEXT(INT((A2*10-INT(A2*10))*10),"[DBNum2]G/通用格式")&"分")
EXCEL中数字小写换大写方法四:
=IF((A2-INT(A2))=0,TEXT(A2,"[DBNUM2]")&"元整",IF(INT(A2*10)-A2*10=0,TEXT(INT(A2),"[DBNUM2]")&"元"&TEXT((INT(A2*10)-INT(A2)*10),"[DBNUM2]")&"角整",TEXT(INT(A2),"[DBNUM2]")&"元"&IF(INT(A2*10)-INT(A2)*10=0,"零",TEXT(INT(A2*10)-INT(A2)*10,"[DBNUM2]")&"角")&TEXT(RIGHT(A2,1),"[DBNUM2]")&"分"))
看看结果是不是出现了你想要的?应该有你需要的大写金额了
公式的由来:
仟分位公式如下:
=TEXT(IF(LEN(INT($A1))>=4,MID($A1,LEN(INT($A1))-3,1),""),"[DBNum2]")
佰分位公式如下:
=TEXT(IF(LEN(INT($A1))>=3,MID($A1,LEN(INT($A1))-2,1),""),"[DBNum2]")
第一位小数的公式:
=TEXT(MID($A1,FIND(".",$A1)+1,1),"[DBNum2]")
第二位小数的公式:
=TEXT(IF(LEN(INT($A1))>=4,MID($A1,LEN(INT($A1))-3,1),""),"[DBNum2]")
佰分位公式如下:
=TEXT(IF(LEN(INT($A1))>=3,MID($A1,LEN(INT($A1))-2,1),""),"[DBNum2]")
第一位小数的公式:
=TEXT(MID($A1,FIND(".",$A1)+1,1),"[DBNum2]")
第二位小数的公式:
=TEXT(MID(TEXT($A1,"0.00"),FIND(".",$A1)+2,1),"[DBNum2]") 其他依此类推^^^^^^^^^^^^^^^^
用Excel函数将货币数值由阿拉伯数字自动生成为中文大写格式
如图是全部用Excel函数自编农业银行转帐支票套打工具,图中内容是需要打印到转帐支票上内容,其中A-D列为支票存根部分,我们利用Excel函数对要填写大部分内容建立公式后,只要输入支票存根部分的三项基本信息(A6-A8单元格):收款单位、金额、用途,其他内容全部自动生成。
图中输入阿拉伯数字格式金额的是支票存根中A7单元格,要自动生成中文大写金额的是H3单元格,我们按照支票中的金额中文大写格式的特殊的要求,利用Excel函数对H3进行公式设置。
在H3单元格输入:=IF((A7-INT(A7))=0,TEXT(A7,"[DBNUM2]")&"元整",IF(INT(A7*10)-A7*10=0,TEXT(INT(A7),"[DBNUM2]")&"元"&TEXT((INT(A7*10)-INT(A7)*10),"[DBNUM2]")&"角整",TEXT(INT(A7),"[DBNUM2]")&"元"&IF(INT(A7*10)-INT(A7)*10=0,"零",
TEXT(INT(A7*10)-INT(A7)*10,"[DBNUM2]")&"角")&TEXT(RIGHT(A7,1),"[DBNUM2]")&"分"))。
公式中共运用4种函数,文本连接符号“&”及相应的汉字。
IF函数:是一个条件判断函数,此函数的基本格式是:IF(a,b,c)其中“a”是一个条件,“b”和“c”是两种判断结果,可以表述为:如果条件a成立,那么结果是b,否则结果就是c。以上公式是有四层嵌套条件判断函数,根据货币金额的不同情况生成不同格式的中文大写。
TEXT函数:TEXT函数可以将阿拉伯格式数字转换为中文大写格式,如公式中“TEXT(A7,"[DBNUM2]”结果是将单元格A7的阿拉伯数字转换为中文大写。
INT函数:这是一个取整函数,如公式中“INT(A7)”就是取单元格A7数字整数部分。A7-INT(A7)表示A7为整数,INT(A7*10)-A7*10=0表示A7有一位小数。
RIGHT函数:用该函数可以提取字符串右边的若干个字符,如公式中的“RIGHT(A7,1)”表示从A7单元格数字右起提取一个字符。
从整体来讲,这是一个多层嵌套条件函数公式,共有4层嵌套来完成条件判断。
可以将整个条件函数公式表述为:
如果单元格A7中数字为整数(假如为35566),那么人民币大写就是“叁万伍仟伍佰陆拾陆元整”,否则:
如果单元格A7中数字为含有一位小数数字(假如位35566.2),那么人民币大写就是“叁万伍仟伍佰陆拾陆元贰角整”,否则:
如果单元格A7中数字为两位小数数字,且十分位为0(假如为35566.08),那么人民币大写就是“叁万伍仟伍佰陆拾陆元零捌分”。否则:
如果单元格A7中数字为两位数小数,且十分位不为0(假如为35566.28),那么人民币大写就是“叁万伍仟伍佰陆拾陆元贰角捌分”。
Excel工作表中创建当前日期及中文大写
Excel数据处理软件以其强大的数据处理功能和操作的简易性,成为办公自动化的必备软件,
尤其在财务工作中更显重要,成为会计人员在专门的电算化财务软件之外会计数据处理重要辅助工具。在用Excel编制表格时,制表时间是Excel工作表中不可缺少的内容,对有些需经常打开使用的工作表,如月报表,至少每月打开一次,对其中报表时间每次都要由原来日期修改成当前日期,这样不但很麻烦,而且容易因日期漏改而造成日期差错,如果在工作表中利用Excel函数创建当前日期,并且任何时候打开这个工作表,永远显示当前日期,就会一劳永逸。下面分别介绍当前日期的大小写两种格式创建方法。
一、在工作表中创建阿拉伯数字当前日期
在一般情况下,在工作表中创建当前日期,用一个函数即可完成,在需要建立当前日期的单元格输入“=TODAY()”(不含引号,下同),任何时候打开工作表,该单元格显示的永远是当前日期,如果当前日期是2003年3月18日,则工作表中显示“2003年3月18日”。
在特殊情况下,要求某个单元格只显示当前“年”、“月”或“日”,如图是全部用Excel函数自编支票套打工具,支票中出票日期年、月、日的位置已经定好,要填写的数字之间有一定的距离,要分开填写,要利用Excel函数在工作表不同单元格分别创建公式(图中A5-C5单元格),我们要实现支票套打,日期的一般格式显然不行,需分别建立当前的年、月、日。
在表示日期的A5-C5单元格创建如下公式:
在表示“年”A5单元格输入:“=YEAR(TODAY())”,假如当前日期是2003年5月6日,则该单元格显示“2003”。
在表示“月”B5单元格输入:“=MONTH(TODAY())”,则该单元格显示的是“5”。
在表示“日”C5单元格输入:“=DAY(TODAY())”,则该单元格显示的是“6”。
创建了以上公式,任何时间打开工作表,在这三个单元格分别显示的永远是当前的年、月、日。
二、将工作表中当前日期阿拉伯数字转换为中文大写
图中I1-K1单元格分别表示的是日期的中文大写,同样根据支票规定的年、月、日位置填写,因为在支票存根中已建立了出票日期信息,根据它来创建中文大写日期。
根据我国《票据法》有关规定,票据的出票日期必须使用中文大写。为防止变造票据的出票日期,在填写月、日时,月为壹至壹拾的,日为壹至玖和壹拾、贰拾和叁拾的,应在其
前加“零”。根据这些特殊日期填写要求,在表中表示年月日的I1-K1单元格分别设置公式如下:
日期中“年”中文大写的公式设置
在表示“年text函数什么意思”的I1单元格输入:=TEXT(MID(A5,1,1),"[DBNUM2]")&TEXT(MID(A5,2,1),"[DBNUM2]")&TEXT(MID(A5,3,1),"[DBNUM2]")&TEXT(MID(A5,4,1),"[DBNUM2]")。MID函数是提取字符函数,公式中“MID(A5,1,1)”,表示从A5单元格数字左第一个字符起提取一个字符,结果是“2”。TEXT函数将阿拉伯数字转换为中文大写,公式中“TEXT(MID(A5,1,1),"[DBNUM2]")”表示将“2”转换为“贰”。整个公式由四个文本连接符号“&”连接而成,结果是“贰零零叁”。我们不能直接利用TEXT函数将“2003”转换为中文大写,因为“TEXT(2003,"[DBNUM2]")”的结果是“贰仟零叁”,所以需将“2003”逐个数字转换为中文大写。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论