ITPub博客

首页 > Linux操作系统 > Linux操作系统 > EXCEL文本函数-数字小写换大写-英文大小写互换

EXCEL文本函数-数字小写换大写-英文大小写互换

原创 Linux操作系统 作者:zhhhhz 时间:2009-03-26 09:24:54 0 删除 编辑

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,"","整")),"零元零",""),"零元","")

EXCEL中数字小写换大写方法二:
在单元格A2中输入小写数字123.12
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(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单元格分别设置公式如下:

日期中“年”中文大写的公式设置
在表示“年”的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”逐个数字转换为中文大写。

日期中“月”中文大写的公式设置
在表示“月”的J1单元格输入:=IF(B5<11,"零"&TEXT(B5,"[DBNUM2]"),TEXT(B5,"[DBNUM2]"))。IF函数是一个条件判断函数,整个公式可以表述为:如果B5单元格月份数为1-10之间数字,则将该数字转换为中文大写的同时,在前面加“零”,如当前是5月,则结果是“零伍”,否则直接将B5中月份数字转换为中文大写,如当前是11月,则结果是“壹拾壹”。

日期中“日”中文大写公式设置
在表示“日”的K1单元格输入:=IF(OR(C5<11,C5=20,C5=30),"零"&TEXT(C5,"[DBNUM2]"),TEXT(C5,"[DBNUM2]"))。公式中“OR(C5<11,C5=20,C5=30)”表示“C5或者小于11,或者等于20,或者等于30”。整个公式可以表述为:如果C5或者小于11,或者等于20,或者等于30,那么将C5中数字转换为中文大写的同时,在前面加“零”,否则直接将C5转换为中文大写数字。
英文大小写互换
=UPPER(A2)    小写换大写
=LOWER(A2) 大写换小写
=PROPER(A2) 首字大写

excel隐藏函数2007-09-24 10:56一、NUMBERSTRING
EXCEL中隐藏了一个数字转大写的函数NUMBERSTRING,但它仅支持正整数,用中文版的朋友可以试试这个函数:
=NUMBERSTRING(VALUE,TYPE)
    NumberString(1234567890,1) = 一十二亿三千四百五十六万七千八百九十
    NumberString(1234567890,2) = 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾
    NumberString(1234567890,3) = 一二三四五六七八九○

二、DATEDIF
语法
DATEDIF(start_date,end_date,unit)
Start_date 为一个日期,它代表时间段内的第一个日期或起始日期。日期有多种输入方法:带引号的文本串(例如 "2001/1/30")、系列数(例如,如果使用 1900 日期系统则 36921 代表 2001 年 1 月 30 日)或其他公式或函数的结果(例如,DATEVALUE("2001/1/30"))。有关日期系列数的详细信息,请参阅 NOW。
End_date 为一个日期,它代表时间段内的最后一个日期或结束日期。
Unit 为所需信息的返回类型。
Unit 返回
"Y" 时间段中的整年数。
"M" 时间段中的整月数。
"D" 时间段中的天数。
"MD" start_date 与 end_date 日期中天数的差。忽略日期中的月和年。
"YM" start_date 与 end_date 日期中月数的差。忽略日期中的日和年。
"YD" start_date 与 end_date 日期中天数的差。忽略日期中的年。

说明
Microsoft Excel 按顺序的系列数保存日期,这样就可以对其进行计算。如果工作簿使用 1900 日期系统,则 Excel 会将 1900 年 1 月 1 日保存为系列数 1。而如果工作簿使用 1904 日谙低常 ?Excel 会将 1904 年 1 月 1 日保存为系列数 0,(而将 1904 年 1 月 2 日保存为系列数 1)。例如,在 1900 日期系统中 Excel 将 1998 年 1 月 1 日保存为系列数 35796,因为该日期距离 1900 年 1 月 1 日为 35795 天。请查阅 Microsoft Excel 如何存储日期和时间。

Excel for Windows 和 Excel for Macintosh 使用不同的默认日期系统。有关详细信息,请参阅 NOW。
示例
DATEDIF("2001/1/1","2003/1/1","Y") 等于 2,即时间段中有两个整年。
DATEDIF("2001/6/1","2002/8/15","D") 等于 440,即在 2001 年 6 月 1 日和 2002 年 8 月 15 日之间有 440 天。
DATEDIF("2001/6/1","2002/8/15","YD") 等于 75,即在 6 月 1 日与 8 月 15 日之间有 75 天,忽略日期中的年。
DATEDIF("2001/6/1","2002/8/15","MD") 等于 14,即开始日期 1 和结束日期 15 之间的差,忽略日期中的年和月。
=DATEDIF(B2,TODAY(),"y")
=DATEDIF(B2,TODAY(),"ym")
=DATEDIF(B2,TODAY(),"md")
=DATEDIF(B2,TODAY(),"y")&"年"&DATEDIF(B2,TODAY(),"ym")&"月"&DATEDIF(B2,TODAY(),"md")&"日"
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7351075/viewspace-578428/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2008-03-19

  • 博文量
    15
  • 访问量
    15156