ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 13788|回复: 19

[原创] 票据的出票日期中文大写转换最简公式

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-3-1 19:14 | 显示全部楼层 |阅读模式
【原创】
Q:求票据的出票日期中文大写转换最简的公式?

A:153字符

=TEXT(B7,"yyyy[dbnum2]年")&IF(OR(MONTH(B7)<3,MONTH(B7)=10),"零",)&TEXT(B7,"m[dbnum2]月")&IF(OR(DAY(B7)<11,DAY(B7)=20,DAY(B7)=30),"零",)&TEXT(B7,"d日[dbnum2]")

131字符
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TEXT(B7,"yyyy年mm月dd日[dbnum2]"),"壹拾月","零壹拾月"),"壹拾日","零壹拾日"),"贰拾日","零贰拾日"),"叁拾日","零叁拾日")

119字符
  1. =TEXT(B7,"yyyy年"&IF(OR(MONTH(B7)<3,MONTH(B7)=10),"零",)&"m月"&IF(OR(DAY(B7)<11,DAY(B7)=20,DAY(B7)=30),"零",)&"d日[dbnum2]")
复制代码
116字符(方便套打)
  1. =TEXT(B8,"e "&IF(OR(MONTH(B8)<3,MONTH(B8)=10),"零",)&"m "&IF(OR(DAY(B8)<11,DAY(B8)=20,DAY(B8)=30),"零",)&"d [dbnum2]")
复制代码
106字符(方便套打)
  1. =TEXT(B8,"e "&IF(OR(MONTH(B8)<3,MONTH(B8)=10),"零",)&"m "&IF(OR(DAY(B8)=20,DAY(B8)=30),"零",)&"dd [dbnum2]")
复制代码
96字符,进一步简化,终于闯过100字符大关!
  1. =TEXT(B8,"e年[dbnum2]"&IF(OR(MONTH(B8)<3,MONTH(B8)=10),"零",)&"m月"&IF(MOD(DAY(B8),10),,"零")&"dd日")
复制代码
90字符,进一步简化,用数组又减去6个字符!
  1. =TEXT(B8,"e年[dbnum2]"&IF(OR(MONTH(B8)={1,2,10}),"零",)&"m月"&IF(MOD(DAY(B8),10),,"零")&"dd日")
复制代码
谢谢斑竹鼓励!
80字符,进一步简化,1-10月前面都加零,又减去10个字符!
  1. =TEXT(B1,"e年[dbnum2]"&IF(MONTH(B1)=10,"零",)&"mm月"&IF(MOD(DAY(B1),10),,"零")&"dd日")
复制代码
请版主、各位大师测试、修正、简化、指教!!!

[ 本帖最后由 一指禅 于 2011-4-20 11:48 编辑 ]

点评

你总结的最短的是81字,6楼的80字才是最短吧?  发表于 2013-5-17 10:52

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2010-3-1 19:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
先占位,看看高手们如何简化。

TA的精华主题

TA的得分主题

发表于 2010-3-1 19:37 | 显示全部楼层
似乎1-10月的月份前面都在加零

[ 本帖最后由 一剑惊心 于 2010-3-1 19:39 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-1-18 20:20 | 显示全部楼层
高!实在是高!!!
思路明晰,层层解剖,让新人也一目了然。值得收藏。
7921717345867.jpg

TA的精华主题

TA的得分主题

发表于 2011-4-3 17:47 | 显示全部楼层

学习了。

但从现时的会计书写要求,应该是131字符的那个公式合适些。

[ 本帖最后由 gdb123 于 2011-4-3 17:50 编辑 ]

TA的精华主题

TA的得分主题

发表于 2011-4-7 23:42 | 显示全部楼层
原帖由 一指禅 于 2010-3-1 19:14 发表
【原创】
Q:求票据的出票日期中文大写转换最简的公式?

A:153字符

=TEXT(B7,"yyyy[dbnum2]年")&IF(OR(MONTH(B7)

规则不是很清楚,但也模拟一个,不对之处请指正:
=TEXT(B1,"e年[dbnum2]"&IF(MONTH(B1)>10,,"零")&"m月"&IF(MOD(DAY(B1),10),,"零")&"dd日")

[ 本帖最后由 wshcw 于 2011-4-8 09:03 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-4-8 03:22 | 显示全部楼层
票据结算-支票填写规则(出票日期和金额)

  (1)填写出票日期:

  票据的出票日期必须使用中文大写。为防止变造票据的出票日期,在填写月、日时,月为壹、贰和壹拾的,日为壹至玖和壹拾、贰拾和叁拾的,应在其前加“零”;日为拾壹至拾玖的,应在其前加“壹”字。如1月15日,应写成零壹月壹拾伍日。再如10月20日,应写成零壹拾月零贰拾日。票据出票日期使用小写填写的,银行不予受理。大写日期未按要求规范填写的,银行可予受理,但由此造成损失的,由出票人自行承担。结算凭证上的日期可以使用小写填写。

  (2)填写金额:

  ①中文大写金额数字应用正楷或行书填写,如壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、元、角、分、零、整(正)等字样。不得用一、二(两)、三、四、五、六、七、八、九、十、甘、毛、另(或0)填写,不得自造简化字。

  ②中文大写金额数字到“元”为止的,在“元”之后,应写“整”(或“正”)字,中文大写金额数字到“角”为止的,在“角”之后,应写“整”(或“正”)字,大写金额数字有“分”的,“分”后面不写“整”(或“正”)字。

  ③中文大写金额数字前应标明“人民币”字样,大写金额数字应紧接“人民币”字样填写,不得留有空白。大写金额数字前未印“人民币”字样的,应加填“人民币”三字。

  ④阿拉伯小写金额数字中有“0”时,中文大写应按照汉语语言规律、金额数字构成和防止涂改的要求进行书写。举例如下:

  阿拉伯数字中间有“0”时,中文大写金额要写“零”字。如¥1409.50,应写成人民币壹仟肆佰零玖元伍角整。

  阿拉伯数字中间连续有几个“0”时,中文大写金额中间可以只写一个“零”字。如¥6007.14,应写成人民币陆仟零柒元壹角肆分。

  阿拉伯金额数字万位或元位是“0”,或者数字中间连续有几个“0”,万位元位也是“0”,但千位、角位不是“0”时,中文大写金额中可以只写一个“零”字,也可以不写“零”字。如¥1680.32,应写成人民币壹仟陆佰捌拾元零叁角贰分,或者写成人民币壹仟陆佰捌拾元叁角贰分;又如¥107000.53,应写成人民币壹拾万柒仟元零伍角叁分,或者写成人民币壹拾万零柒仟元伍角叁分。

  阿拉伯金额数字角位是“0”,而分位不是“0”时,中文大写金额“元”后面应写“零”字。如¥16 409.02,应写成人民币壹万陆仟肆佰零玖元零贰分;又如¥325.04,应写成人民币叁佰贰拾伍元零肆分。

  阿拉伯小写金额数字前面,均应填写人民币符号“¥”(或草写¥)。阿拉伯小写金额数字要认真填写,不得连写或分辨不清。

说法不一。

还有的说,1-10月都可加零!
=TEXT(B1,"e年[dbnum2]"&IF(MONTH(B1)=10,"零",)&"mm月"&IF(MOD(DAY(B1),10),,"零")&"dd日")

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-4-8 08:50 | 显示全部楼层
规则不是很清楚,但也模拟一个,不对之处请指正:
=TEXT(B1,"e年[dbnum2]"&IF(MONTH(B1)>10,"m月","零m月")&IF((DAY(B1)<10)+(MOD(DAY(B1),10)=0),"零d日","d日"))

模仿斑竹公式,又减去一个字符!79个字符
=TEXT(B1,"e年[dbnum2]"&IF(MONTH(B1)<11,"零",)&"m月"&IF(MOD(DAY(B1),10),,"零")&"dd日")

[ 本帖最后由 一指禅 于 2011-4-8 08:51 编辑 ]

TA的精华主题

TA的得分主题

发表于 2013-5-17 10:16 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
总结的太好了。

TA的精华主题

TA的得分主题

发表于 2013-5-17 11:50 | 显示全部楼层
以上的日期格式可用,但不规范:
如:2013-6-16   应该是
贰零壹叁年零陆月拾陆日
而不是 贰零壹叁年零陆月拾陆日

点评

公式: =TEXT(B1,"e年[dbnum2]"&IF(MONTH(B1)>10,,"零")&"m月"&IF(MOD(DAY(B1),10),,"零")&"dd日") 结果:贰零壹叁年零陆月壹拾陆日   发表于 2013-5-17 13:00
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 21:33 , Processed in 0.048365 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表