资源描述:
《利用Excel的VBA代码实现自动化“收集原始数据、汇总计算和报表”》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、利用Excel的VBA代码实现自动化“收集原始数据、汇总计算和报表”联系人:杨先生电话:18053150391电子邮箱:yjjp67@163.com以房地产销售数据为例。两个销售中心以Excel记录销售活动,原始数据和直接使用公式形成的表格模板如下。黄色标题名称为公式项,根据已知数据自动计算。1原始数据收集表1.1产品表:所有房屋产品,主房、辅房(储藏室、车库、车位等)的基本信息;标题名称含义房行=ROW(主房[@])-ROW(主房[#标题]),动态的数据行号买受人=IFERROR(INDEX(销售[买受人],[@售行]),""),当前买受人项目销售项目名称分区分区名称分期分期名称楼数字
2、楼号单数字单元号层数字楼层房数字方位编号面积预售面积预售价预售价格产权产权面积售次=COUNTIFS(销售[主房索引],[@主房索引]),当前的销售次数,退房、换房不删除数据,所以用售次区别售行对应的销售数据行。房号=VALUE([@单]&TEXT([@层],"00")&TEXT([@房],"00")),如1单元1层东户表示为1-0101(数字的自定义格式)主房索引=INDEX(项目分区[代码],MATCH([@项目]&[@分区],项目分区[分区名称],0))&[@分期]&TEXT([@楼],"00")&TEXT([@房号],"00000"),用于表间互查数据销售索引=IFERROR([
3、@主房索引]&ABS([@售序]),""),用于表间互查数据总房款已收待收1.2销售表:每次销售活动的真实记录,产品的组合及从产品表查取的基本信息;标题名称含义售行=ROW(主房[@])-ROW(销售[#标题])分区分区名称分期分期名称房号手工输入数字(自定义格式)售序当前的销售次数,退房、换房不删除数据,所以用售次区别买受人业务姓名顾问置业顾问姓名实售价储号储款库号库款位号位款总房款合同中填写的总金额总款=ROUND(SUM([@主房款],[@储款],[@库款],[@位款]),0),自动计算的总金额差异=[@总房款]-[@总款]主房面积=INDEX(主房[面积],[@房行])认购日期=
4、IFERROR(INDEX(房款[实收日],MATCH([@销售索引]&"定金",房款[款类索引],0)),""),实交定金日期主房款=ROUND([@实售价]*[@主房面积],0)房约日购房合同签署日期房约价合同单价买受人身份证号共有人共有人身份证号合同交房日贷行贷含贷款对象包含储藏室(C)、车库(K)等贷额公贷资料日贷款资料合格日贷约日贷款合同签署日商放=SUMIFS(房款[金额],房款[销售索引],[@销售索引],房款[实收日],">40544",房款[款类],"商贷"),商业贷款到账日公放=SUMIFS(房款[金额],房款[销售索引],[@销售索引],房款[实收日],">4054
5、4",房款[款类],"公贷"),公积金贷款到账日已收=SUMIFS(房款[金额],房款[销售索引],[@销售索引],房款[实收日],">40544",房款[款类],"<>找差"),不含找差待收=IF([@售序]>0,[@总房款]-[@已收],0)房行=MATCH([@主房索引],主房[主房索引],0),对应产品表的行号主房索引=INDEX(项目分区[代码],MATCH(房款!$B$1&[@分区],项目分区[分区名称],0))&[@分期]&TEXT([@房号],"0000000")销售索引=[@主房索引]&ABS([@售序])换房因业务换房造成本次销售无效时,记录换成了哪套房子1.1房款表
6、:按合约应交、实交价款的信息标题名称含义款行=ROW(房款[@])-ROW(房款[#标题])买受人=INDEX(销售[买受人],[@售行])分区分期房号款类售序收据号码应收日实收日金额房类打款方式说明房行=MATCH([@主房索引],主房[主房索引],0)售行=MATCH([@销售索引],销售[销售索引],0)售次=INDEX(主房[售次],[@房行])主房索引=$D$1&[@分期]&TEXT([@房号],"0000000")销售索引=[@主房索引]&[@售序]款类索引=[@销售索引]&[@款类]2汇总计算表,使用VBA进行原始数据合并和统计指标的计算。2.1日报数据指标表(其他数据只是
7、原始数据合并)标题名称含义项目分区分期范围状态说明开始日期=CHOOSE(LEFT([@范围],1),TODAY()-2,EOMONTH(TODAY()-1,-1),DATE(YEAR(TODAY()-1),1,1)-1,40179)截至日期=CHOOSE(LEFT([@范围],1),TODAY(),EOMONTH(TODAY()-1,0)+1,DATE(YEAR(TODAY()-1)+1,1,1),DATE(YEAR(TODAY(