编者按:没人、没钱,中小企业的信息化就没办法推进了吗?善于艰苦奋斗、自力更生的中国人从来不会被困难打倒。没人可以自己做,没钱可以不用钱!一些一线的信息员、网管员、甚至稍微懂点IT知识的业务部门员工,早就开始了一场“自主信息化”的“战争”。在这场“战争”中,每个人都是英雄!也许你也是其中一员,不妨把你的“自主信息化”攻略告诉我们。编辑信箱:wangyaxue#it168.com。
【IT168专稿】在上文中(参见《攻克Excel“收款凭证”格式设计第一关》),倪小君定义了收款凭证的基本格式,还把收款凭证的填制规范跟EXCEL财务管理系统结合起来,方便了收款凭证的开立。但是,还遗留下来一个问题,就是如何根据总帐科目来自动筛选明细科目。
总帐科目与明细科目的动态连接
倪小君现在想实现的需求是,在总帐科目与明细科目之间,都通过“数据有效性”-“序列”来规范总帐科目与明细帐科目的输入。为了输入的简便,明细科目要根据总帐科目的变化而自动过滤。如总帐科目为银行存款,那明细科目只能为“中国建设银行”、“中国工商银行”等与银行存款有关的科目。
为了这个需求,倪小君可以说是费尽了心思,到处拜师求教,花了不少时间,终于把这个问题搞定。
1、先取消工作表的保护。
点工具栏上的“保护”,然后点“撤消工作表保护”,输入预先定义的保护密码,即可以取消工作表的保护。
2、定义名字区域。
打开“会计科目明细表”,选中银行存款对应的明细科目。注意,此处不要选择标题行,如名称等字段,也不要选取编号字段。然后,点工具栏上“插入”,点击“名称”后,再点“自定义”,在名称处,输入“银行存款”(此处定义的名字要跟总帐科目的名字相同)。

3、回到收款凭证界面,选择明细科目,选种明细科目要输入的单元格,然后点工具栏上的“数据”,点“有效性”,在允许处,选择“序列”,在来源处,输入:=INDIRECT(D5)。
INDIRECT函数返回由文字串指定的引用,此函数立即对引用进行计算,并显示其内容。利用此函数后,在明细科目处,会根据“D5”总帐科目的名字来显示预先定义名字的内容,这就是刚才我们强调名字区域定义时,要跟总帐科目一模一样的原因。
如此设置后,明细科目就会根据总帐科目的变化而变化。如图所示:

4、完成后,再把工作表保护起来。在以后的工作中,修改完毕后,要学会保护工作表,如此,能够避免不小心改动原来的设计而功亏一篑。
金额大小写自动转换
根据收款凭证的填制要求,合计处要填写合计的大写金额。倪小君可不想根据统计出来的数字,再重新输一遍大写的金额。有办法能把小写数字自动转化为大写数字吗?不要小看EXCEL,它的功能可是很强的。
1、取消工作表保护。
2、现在合计行内,进行金额的汇总。选择汇总单元格,使用SUM函数,对数据进行汇总计算。在单元格内,输入=SUM(J5:J14),即可。
3、然后,在合计大写金额单元格内,输入以下公式:
=IF(J15<0,"金额为负无效",
(IF(OR(J15=0, J15=""),"(人民币)零元",
IF(J15<1,"(人民币)",
TEXT(INT(J15),"[dbnum2](人民币)G/通用格式")&"元"))))&
IF(
(INT(J15*10)-INT(J15)*10)=0,
IF(INT(J15*100)-INT(J15*10)*10=0,"","零"),
(TEXT(INT(J15*10)-INT(J15)*10,"[dbnum2]")&"角"))
&IF(
(INT(J15*100)-INT(J15*10)*10)=0,
"整",
TEXT((INT(J15*100)-INT(J15*10)*10),"[dbnum2]")&"分")
备注:此公式来源于http://www.programfan.com/blog/article.asp?id=14275,根据此修改。
以上函数,主要实现两个功能。
一是当合计栏内数字为负数时,提示数字无效。
二是当合计栏内小写金额数字为正数时,把小写数字转化为大写数字。

除了以上函数外,还可以通过NUMBERSTRING函数实现,感兴趣的读者,可以自己找资料试试,两者有异曲同工之妙。
4、保护工作表。
输入格式的限制
倪经理担心,在输入收款凭证的时候,万一该输入数字的地方,输入了文字,怎么办?能否进行输入格式的控制呢?
1、金额单元格,其输入的必须为数字,并且,小数位数显示两位。
(1)选种所有金额字段,设置单元格格式,选择数值,把小数位数设置成为2,选种千位分隔符,点确定。

(2)再次选中所有单元格,分别选择数据、有效性,在允许中,选择“小数”,最小值设置为“0”,目的是为了防止误输入小数,最大值中,根据企业实际情况输入一个数值。如此设置后,若不小心在单元格内输入负数或者非数字的字符,则会提示错误警告。
为了提示信息能够更加明了,建议在“出错警告”中输入自定义的错误信息,如“此单元格中只能输入非负数字”,输入者若不小心输入错误,能知道自己错在哪里。

(3)财务人员在输入金额时,有时候很容易误把中文的句号当作小数点输入,从而发生错误。虽然说通过以上的设置,可以检测中这种错误。但是,等错误发生了在去修改,就显得有些麻烦。能否防范与未然呢?每当在此单元格中,输入数据时,自动关闭“中文输入法”状态,就不会误输入中文的句好了。
选中单元格,点“数据有效性”后,再点击“输入法模式”,选择“关闭(英文模式)”即可。注意,此处的意思不是说关闭英文输入模式,而是说关闭其他输入法模式,只启用英文输入法模式。
2、输入日期的单元格只能输入整数。
对其他需要格式限制的单元格,如日期中只能输入整数,参考以上的方法,进行有效性限制,就可以实现目标。
通过以上的设置,收款凭证的输入界面基本上完成了。注意,修改完毕后,不要忘了把工作表保护起。接下来的任务是,如何把收款凭证输入格式转换为打印格式,请大家耐心期待!