ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[原创] 人民幣大寫

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-6-6 11:23 | 显示全部楼层 |阅读模式
本帖最后由 frank55555 于 2016-6-6 11:36 编辑

網上都有很我這類的貼子,這裡再給新手作一下講解.首先了解一下人民幣大寫的規則,有了這些規則再來寫函數.如下是在百度百科裡查到的.
票据规定《正确填写票据和结算凭证的基本规定》
银行、单位和个人填写的各种票据和结算凭证是办理支付结算和现金收付的重要依据,直接关系到支付结算的准确、及时和安全。票据和结算凭证是银行、单位和个人凭以记载账务的会计凭证,是记载经济业务和明确经济责任的一种书面证明。因此,填写票据和结算凭证,必须做到标准化、规范化,要要素齐全、数字正确、字迹清晰、不错漏、不潦草,防止涂改。中文大写金额数字应用正楷或行书填写,如壹(壹)、贰(贰)、叁、肆(肆)、伍(伍)、陆(陆)、柒、捌、玖、拾、佰、仟、万(万)、亿、元、角、分、零、整(正)等字样。不得用一、二(两)、三、四、五、六、七、八、九、十、念、毛、另(或0)填写,不得自造简化字。如果金额数字书写中使用繁体字,如贰、陆、亿、万、圆的,也应受理。
一、中文大写金额数字到"元"为止的,在"元"之后,应写"整"(或"正")字,在"角"之后,可以不写"整"(或"正")字。大写金额数字有"分"的,"分"后面不写"整"(或"正")字。
二、中文大写金额数字前应标明"人民币"字样,大写金额数字有"分"的,"分"后面不写"整"(或"正")字。
三、中文大写金额数字前应标明"人民币"字样,大写金额数字应紧接"人民币"字样填写,不得留有空白。大写金额数字前未印"人民币"字样的,应加填"人民币"三字。在票据和结算凭证大写金额栏内不得预印固定的"仟、佰、拾、万、仟、佰、拾、元、角、分"字样。
四、阿拉伯数字小写金额数字中有"0"时,中文大写应按照汉语语言规律、金额数字构成和防止涂改的要求进行书写。举例如下:
1·阿拉伯数字中间有"0"时,中文大写要写"零"字,如¥1409.50,应写成人民币壹仟肆佰零玖元伍角。
2·阿拉伯数字中间连续有几个"0"时,中文大写金额中间可以只写一个"零"字,如¥6007.14,应写成人民币陆仟零柒元壹角肆分。
3·阿拉伯金额数字万位和元位是"0",或者数字中间连续有几个"0",万位、元位也是"0",但千位、角位不是"0"时,中文大写金额中可以只写一个零字,也可以不写"零"字。如¥1680.32,应写成人民币壹仟陆佰捌拾元零叁角贰分,或者写成人民币壹仟陆佰捌拾元叁角贰分,又如¥107000.53,应写成人民币壹拾万柒仟元零伍角叁分,或者写成人民币壹拾万零柒仟元伍角叁分。
4·阿拉伯金额数字角位是"0",而分位不是"0"时,中文大写金额"元"后面应写"零"字。如¥16409.02,应写成人民币壹万陆仟肆佰零玖元零贰分;又如¥325.04,应写成人民币叁佰贰拾伍元零肆分。
五、阿拉伯小写金额数字前面,均应填写人民币符号"¥"。阿拉伯小写金额数字要认真填写,不得连写分辨不清。
六、票据的出票日期必须使用中文大写。为防止变造票据的出票日期,在填写月、日时,月为壹、贰和壹拾的,日为壹至玖和壹拾、贰拾和叁拾的,应在其前加"零";日为拾壹至拾玖的,应在其前加"壹"。如1月15日,应写成零壹月壹拾伍日。再如10月20日,应写成零壹拾月零贰拾日。
七、票据出票日期使用小写填写的,银行不予受理。大写日期未按要求规范填写的,银行可予受理,但由此造成损失的,由出票人自行承担。
也就是说,根据此规定第四第的3小点,你的这个金额有两种写法:
1、人民币壹拾万贰仟伍佰元整
2、人民币壹拾万零贰仟伍佰元整

從上面的說明中可以看出,主要體現在"零" "整/正"字方面.下面總結一下:
1. "整"字,到元為止則一要加,角後可加可不加,分後不用加,這裡就統一到元為止加上,角和分都不加,方便寫函數.
2."零"字,在數字中間有一個或多個零則加一個"零",整十,整佰,整仟,整萬,等則不用寫"零".
EXCEL 表格中的自定義格式: "[DBNum2]G/通用格式" 或者用TEXT函數都可以正確的表達出正整數的大寫寫法.所以我們只需要在此基礎上增加負數,小數,元即可.

  1. =TEXT(A1,";負")&TEXT(INT(ABS(A1)),"[dbnum2][$-804]G/通用格式元")&IF(-RIGHT(TRUNC(A1*100),2),TEXT(RIGHT(TRUNC(A1*10)),"[dbnum2][$-804]0角;;零"),"整")&TEXT(RIGHT(TRUNC(A1*100)),"[dbnum2][$-804]0分;;")
复制代码


公式分析:
TEXT(A1,";負")  
這部分是解決負數問題,是負數則前面顯示"負" 這個應該比較好理解.

TEXT(INT(ABS(A1)),"[dbnum2][$-804]G/通用格式元")
這部分是把數字取絕對值,再取整,用TEXT函數表示出大寫,前面說過.這部分EXCEL能夠正確的完成.

IF(-RIGHT(TRUNC(A1*100),2),TEXT(RIGHT(TRUNC(A1*10)),"[dbnum2][$-804]0角;;零"),"整")
這部分取二位小位的數字,如果等0則顯示"整" 不等於零則先顯示第一位即多少角,如果是零角則顯示為零.

TEXT(RIGHT(TRUNC(A1*100)),"[dbnum2][$-804]0分;;")
最後就是多少分了,這裡就很簡單 了,零分不顯示,其它是多少就顯示多少分了.

最後把這四部分用 "&" 連接起來就OK了.
是不是很簡單了,如果是簡體系統,上面的[$-804]可以不用加上去的,由於繁體系統會把"3" 表示為 "參",沒有繁體系統的可以把[$-804] 改成 [$-404]試一下就知道了,所以簡體系統則可以不用加[$-804]
大家有什麼更簡單的函數也可以在此一並論討.



您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-5-20 20:57 , Processed in 0.030816 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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