jinwa 发表于 2018-8-14 09:36:08

做工作学函数(02)

今天要跟大家演示的是合同管理台账自动生成编码的过程。某公司有总部和若干个事业所(也可以是按部门管理),编码希望设置为“CT+事业所+合同类别+年份2位+流水号4位”的样式。考虑到可能是年度中间开始使用该管理表,按合同类别之前已有一些合同,所以编号可能要从已有号码往后继续往下编。
一、生成合同流水号                                                                        =IF(G5="","",TEXT(COUNTIF($G$5: $G5,G5)+VLOOKUP(G5,$K$5: $M$9,3,0),"0000"))函数说明1、if函数表达式:=if(logical_test,value_if_true,value_if_false)用途:如果合同类别没有填时返回空值,有填写合同类别,用函数组合计算流水号。2、countif函数表达式:=countif(range,criteria)用途:统计所选区域中符合条件的值的个数3、vlookup函数表达式:=vlookup(lookup_value,table_array,col_index_num,range_lookup)用途:从指定范围里,如果该范围第一列存在要找的值,再从该范围指定列取值。4、公式嵌套说明统计本表合同类别的个数,如果只中途编号,需要考虑之前各类合同已有合同数,在K4:M8区域管理合同类别已有合同数。如资产采购已有15个合同,台账动态统计G5为第一份资产采购合同,所以编号16由于编号需要统一为4位流水号,所以用了text函数,将其规范为4位长。如果属于本年度年初开始启用,将已有合同数全部维护为0即可。
二、生成合同编号=IF(A5="","","CT"&F5&G5&RIGHT(A5,2)&H5)函数说明1、right函数表达式:=right(text,num_chars)用途:截取文本右边指定长度的字符2、公式嵌套说明如果A5为空则显示空值,如果非空,用规则为“CT+事业所+合同类别+年+流水号”,长度分别为:2+1+1+2+5。
三、自动对表格画框目的添加新的合同信息如果能自动画框,会减少一些美化的操作,要求实现:填年份则整行画框。设置选定A5:I303,条件格式-使用公式确定要设置的单元格-输入公式=$A5<>"",点“格式”:
切换到“边框”,设定外边框,点确定完成设置:


通过上述设置,我们一份智能编合同号而且自动画框线的合同管理台账就做好了。是不是比每次编号时要找同类合同已有流水号要方便了许多?通过公式嵌套来实现自动编号,一方面时效率大大提高,另一方面减少了出错的可能。

慧儿 发表于 2018-8-15 13:59:28

已学习 谢谢老师
页: [1]
查看完整版本: 做工作学函数(02)