好在,Excel这东西,别看有时候把人折腾得够呛,但一些基本的功能还是挺贴心的。要把小写数字变成大写汉字,最直接、最常用的办法,其实藏在它的单元格格式里头。没错,就是你平时右键点一下,弹出来那个“设置单元格格式”的小窗口。
你选中你想转换的那个单元格,或者干脆是一整列、一整片数字区域。然后,右键,点“设置单元格格式”。弹出那个框框,看到上面的选项卡了吗?找到“数字”那个选项卡。点进去,左边一列是各种分类,什么“常规”、“数字”、“货币”、“日期”之类的。别看别的,往下拉,找到一个叫做“特殊”或者有时候藏得更深,在“自定义”里面找。
不过最标准的路径是:在“数字”分类下,找到左边那个“分类”列表,滚轮往下滚啊滚,滚到最底下,常常有个叫做“自定义”的选项。点它!这时候右边会出现一个框框,上面写着“类型(T):”,下面列着一大堆奇奇怪怪的符号代码。别慌,这里就是关键。
你要找的代码,它长这样:[DBNum2]
。这个[DBNum2],就是Excel里专门用来把阿拉伯数字变成那种正式的、用于金融财务场合的大写汉字的代码。有时候你点“特殊”分类,里面会直接有“人民币大写”这个选项,选它,看看它在“类型”里显示的代码,八九不离十就是[DBNum2]
加上一些其他的格式,比如[DBNum2]G/通用格式
,或者为了显示“元”、“角”、“分”什么的,会更复杂一些,比如[DBNum2]G/通用格式元;[DBNum2]"负"G/通用格式元;[DBNum2]"零"元;@
(这个是带单位且考虑正负零的)。但核心就是那个[DBNum2]。
你也可以直接在“自定义”的“类型”框里,手动把原有的代码删掉,或者如果框里啥都没有,直接输入[DBNum2]G/通用格式
。为什么加G/通用格式
呢?因为这样能保留一些非数字字符的显示特性,兼容性更好点。输入好了,点确定!
神奇的事情发生了!你原本输入的是“12345.67”,啪一下,在单元格里显示出来的就是“壹万贰仟叁佰肆拾伍元陆角柒分”(如果用了带单位的格式代码),或者仅仅是“壹万贰仟叁佰肆拾伍点陆柒”(如果只用了[DBNum2]G/通用格式
)。里面的小写数字还在,只是它的显示形式变了,这太重要了!这意味着你可以继续用这个单元格进行计算,它本质上还是个数字,只是看起来不一样了。这比你手动改要安全、准确无数倍。
当然,单元格格式有个局限,它改变的只是数字的显示方式,单元格里实际的值还是那个小写数字。如果你需要把这个大写汉字作为文本,比如要复制到其他地方,或者要把这个大写跟其他文字拼接起来形成一段描述,光靠单元格格式就不够了。这时候,就得请出Excel函数了。
请注意,不是所有Excel版本都内置了直接把数字变成大写汉字的函数,但有一个常用的函数组合或者变通方法,或者有些版本提供了特定的函数。但最普遍、跨版本兼容性最好的思路,往往是利用TEXT函数。
TEXT函数长这样:=TEXT(值, 格式代码)
。它的作用是把一个值,按照你指定的格式代码,转换成文本。而我们刚才提到的[DBNum2],它本质上就是一个格式代码!
所以,如果你A1单元格里是小写数字12345.67,你在B1单元格里输入公式:=TEXT(A1,"[DBNum2]G/通用格式")
。回车!B1单元格里显示的就是“壹万贰仟叁佰肆拾伍点陆柒”了,而且!它现在是一个文本了!你可以把它当成文字来复制粘贴,或者用&
符号跟其他文字连接起来,比如="本次费用合计:"&TEXT(A1,"[DBNum2]G/通用格式")&"整。"
,这样出来的就是一句完整的、带着大写数字的文本了。
用TEXT函数的好处是灵活,结果是文本,方便进一步处理。缺点嘛,就是你得在另一个单元格里输入公式,不能直接在原单元格里实现(除非你输完公式再复制粘贴值,那样又变死文本了)。而且,那个格式代码得写对,有时候带单位的格式代码写起来挺长的,一不小心就容易出错。
除了上面这两种,还有更高级、更万能的方法——VBA。VBA就是Excel内置的编程语言,你可以用它写一段小程序来完成各种自动化任务,包括把数字转大写。写一段VBA代码来做这件事,灵活性是最高的,你可以定义各种转换规则,比如精确到“分”还是“角”,要不要带“元”字等等。很多复杂的报表模板里,会内置一些VBA函数来实现这个功能。
不过,VBA这东西,对不太接触编程的人来说,可能就有点门槛了。得打开“开发工具”选项卡(可能需要先在Excel设置里把它调出来),进入VBA编辑器,新建一个模块,把代码复制进去,然后才能像使用内置函数一样在工作表里调用你写的VBA函数。这操作起来,对于只想快速把小写数字变大写的人来说,可能就有点杀鸡用牛刀的感觉了。但如果你经常需要处理大量、复杂的数字大写转换,或者需要特定的转换规则,学点VBA还是非常有价值的。网上有很多现成的VBA代码片段,搜索“Excel VBA 数字转大写”就能找到不少,复制粘贴改改就能用。
所以你看,从最傻瓜式的单元格格式,到灵活的TEXT函数,再到无所不能的VBA,Excel提供了不止一种方法来解决小写数字转换成大写汉字这个问题。选哪个,就看你的具体需求了。仅仅是为了打印出来好看点、正式点,单元格格式绝对是首选,快!准!不影响后续计算。需要把大写结果作为文本用,就请出TEXT函数。要是觉得前两者都不够用,或者想搞点更自动化的事情,那VBA就是你的终极武器。
其实这些都是工具,真正重要的,还是你得知道有这些工具,并且知道它们各自擅长干什么。下次再碰到那些密密麻麻的小写数字需要变身大写的时候,别再愁眉苦脸一个字一个字敲了,想想我说的这些,试试单元格格式,或者TEXT函数,保证能帮你省老大劲儿,而且准确率蹭蹭往上涨!别小看这些小技巧,关键时候,真能救命。
发表回复