分享

Excel:人民币小写金额转换大写技巧两则[

 zltzltzlt 2010-06-14

 

要将人民币小写金额转换成大写格式,用Excel提供的格式,将自定义格式类型中的“[dbnum2]G/通用格式改为“[dbnum2] G/通用格式””来实现。但在转换小数时却出现了问题,比如¥6,050.09只能转换为陆仟零伍拾.零玖圆。那么用Excel能不能解决这一先天不足呢?其方法有以下两种(以下均对B1转换,假设B1是通过函数ROUND( )四舍五入取得二位小数的小写金额数,其值为¥6,050.09)。

  一、在三个连续的同行单元格中转换

  1. B2中输入公式 “=IF(B10"金额为负无效"INT(B1))”,计算结果为¥6,050.00,然后点击格式单元格数字特殊中文大写数字确定B2显示陆仟零伍拾,再点击格式单元格数字自定义,将类型编辑框中的“[dbnum2]G/通用格式修改为:[dbnum2](“人民币”)G/通用格式,此时B2显示:“(人民币)陆仟零伍拾元

  2. C2中输入“=IF(B10""INT(B110)-INT(B1)10)”,同样C2改为:[DBNum2]G/通用格式C2显示:零角

  3. D2中输入“=IF(B10""INT(B1100)-INT(B110)10)”,同样D2改为:[DBNum2]G/通用格式 D2显示:玖分

  这样在连续的三个同行单元格中实现了大写金额格式的转换,如图1所示。为了使转换符合财务格式,B2应右对齐,C2列宽无间隔,且不设左右边框线,D2要左对齐。


  图1 显示大写金额

二、用Excel提供的函数转换

  个位为0,则不显示;不为0,显示“XXX;不为0、且角位和分位均为0,显示“XXX元整;元角分位均为0,则显示零元整

  小数点后面第一位为0、且元位或分位有一为0,则不显示;为0、且元位和分位均不为0,则显示;不为0,显示“X

  小数点后面第二位为0,则显示;不为0,显示“X

  根据以上思路在B2中输入公式:

  “IF(B10"金额为负无效"IF(OR(B1=0B1="")"(人民币)零元整"))

  IF(B11"(人民币)"TEXT(INT(B1)"[dbnum2](人民币)G/通用格式")&&"")&&IF(INT(B110)-INT(B1)10=0)

  IF(INT(B1)(INT(B1100)-INT(B110)10)=0"""")TEXT(INT(B110)-INT(B1)10"[dbnum2]")&&"")&&IF((INT(B1100)-INT(B110)10)=0""TEXT((INT(B1100)-INT(B1*10)*10)"[dbnum2]")&&"")))”

  确认后B2显示:“(人民币)陆仟零伍拾元零玖分。以后使用时将公式复制到有关单元格中,若转换的对象B1发生了变化,可点击编辑替换B1替换掉。两种转换测试结果如图2所示。




  图2 两种方式对话结果

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约