乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > EXCEL怎么把支票日期自动生成大写

EXCEL怎么把支票日期自动生成大写

作者:乔山办公网日期:

返回目录:excel表格制作


如下图,C1中的公式

=IF(LEN(B1)=4,TEXT(B1,"[DBNum2]0"),IF(OR(LEN(B1)=1,MOD(B1,10)=0),"零"&TEXT(B1,"[DBNum2]"),TEXT(B1,"[DBNum2]")))

下拉填充:




  • EXCEL中,可以利用TEXT文本函数,根据不同的指定格式,将数e799bee5baa6e997aee7ad94e4b893e5b19e332据转换为文本,如“e年m月d日”是将数值转换为年月日的格式,“[dbnum1]”是将数值转换为中文小写:=TEXT(A2,"[dbnum1]e年m月d日")

  • 而“[dbnum2]”则是将数值转换为中文大写:=TEXT(A2,"[dbnum2]e年m月d日")

  • 不过这不符合支票日期的规范要求,对于小于10的月或日前面都必须加“零”,所以公式中月、日要以两位数显示:=TEXT(A2,"[dbnum2]e年mm月dd日")

  • 但当月份为“壹拾”时,前面也需要加“零”,因此要先判断下月份是否为10,如果是,则要补充“零”,如果不是按原方式返回:=TEXT(A2,"[dbnum2]e年"&IF(MONTH(A2)=10,"零",)&"mm月dd日")

  • 或者当月份小于11时,前面加“零”,但此时月份格式中只能用一个“m”了,否则小于10的就会返回“零零*月”的形式了:=TEXT(A2,"[dbnum2]e年"&IF(MONTH(A2)<11,"零",)&"m月dd日")

  • 同样的为防止“日”被篡改,“壹拾”、“贰拾”、“叁拾”前也要加上“零”,因此也要对“日”进行判断,当“日”是10的倍数时,前面就要加“零”:=TEXT(A2,"[dbnum2]e年"&IF(MONTH(A2)<11,"零",)&"m月"&IF(MOD(DAY(A2),10),,"零")&"dd日")

  • 不过支票中的“年”、“月”、“日”是事先印好的,不需要公式生成,所以在转换时,需要将“年”、“月”、“日”的大写分段转换,年的公式为:=TEXT(A2,"[dbnum2]e")

  • 同样的,从整个公式中分解出月份公式,注意下,这里是单独写的,所以也必须补上“[dbnum2]”格式才会返回中文大写结果:=TEXT(A2,IF(MONTH(A2)<11,"零",)&"[dbnum2]m")

  • 日的转换公式用:=TEXT(A2,IF(MOD(DAY(A2),10),,"零")&"[dbnum2]dd")

  • 10

    掌握了以上转换方法,就可以在某个单元格中直接输入常规的日期,然后用公式转换为符合支票规范的大写汉字,再根据各银行的支票形式,设置不同的间距进行打印。


如果你需要的是当前日期的大写,那直接把下面的日期写在日期那里:
=TEXT(NOW(),"[dbnum2][$-804]yyyy年mm月dd日")

如果需要的是手动更新的日期,那写以下的公式:
=TEXT(你要输入日期的单元格,"[dbnum2][$-804]yyyy年mm月dd日")
注意:必须是日期格式,而不是文本

这个要借助一下辅助单元格了
也就说你要在另外的单元格内输入数字日期
在支票模板单元格内设置公式

比如出票日期的数字形式填写在Z1这个单元格内
那么支票模板上
“年”之前的单元格=TEXT(Z1,"[DBNum2]e")
“月”之前的单元格=IF(OR(MONTH(Z1)={1,2,10}),"零",)&TEXT(Z1,"[DBNum2]M")
“日”之前的单元格=IF(MOD(DAY(Z1),10),,"零")&TEXT(Z1,"[DBNum2]DD")
这样就可以了~~

哦,还要记得那个数字日期的单元格一定要设置成日期格式。

不好意思,呵呵,忽略了专业问题,以为只有1、2、10前面需要加“零”了,那就把“月”之前单元格的公式修改一下:
=IF(mod(MONTH(Z1),10),"零",)&TEXT(Z1,"[DBNum2]M")

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网