01、进货记录表:这是整个进销存报表的基础,所有的字段都从进货记录中生成
如图是进货记录表,使用的是智能表格,表格区域会随着数据的填写自动扩展,并延续设置好的格式。这个报表中的每个字段中的内容都需要手工录入,因为他们是后续销售记录表下拉菜单的数据源。
①为了防止数据录入错误,对【进价】、【定价】、【数量】进行了“数据验证”设置,如图所示,要求只能录入数字,而不能录入其他形式的数值。
②同时,设置出错警告,根据前期测试常见的错误,提示使用者修改录入的错误的内容。
③J列的日期,使用日期函数将A、B、C列录入的年月日转化为标准的日期。
公式为=DATE([年],[月],[日]),注意,因为数据区域已经转化为智能表格,所以公式中的引用为结构化引用。
④数据录入完成之后,永续需要点击右上角的刷新按钮,这是录制的一个宏,它的作用是全局刷新数据透视表,至于为什么要这样做,下文会进行讲解。
02、销售记录表:这是进销存报表的主要数据源
销售记录表中的字段要多一些,但是这个表中很多字段的内容填写起来却没有那么麻烦,填写方式分为三种:
①手工录入:A、B、C列的年月日需要手工录入
②下拉菜单选择:产品和型号通过下拉菜单进行选择,这些下拉菜单的数据源正是进货记录表中的数据
③公式自动生成:进价和定价这两个字段,在进货的时候就已经确定了,他们和产品具有对应关系,所以通过公式自动进行匹配。=IFERROR(INDEX(产品清单区域,MATCH([型号],产品清单!B:B,0),4),””)
03、产品清单表
这个表不需要填写内容,是自动生成的,属于过渡表,实际使用过程中,可以将其隐藏。那为什么要有这样一个表呢
原因有几点:
①为了销售表中填写的产品信息和进货表中的一致,需要将进货表中的产品作成下拉菜单,但是进货表是一行一行的记录,存在很多重复,无法直接使用;
②还有其他信息,诸如进价、定价等,在进货表中与产品不是一对一关系,需要将其梳理成一对一关系,这样才可以使用匹配函数精确匹配。
这个表就是通过进货记录表创建数据透视表,进而实现去重、一对一关系,如图所示,是创建的其中一个产品列表。
所以,现在你知道进货记录表中的刷新按钮的作用了吧它是为了将新增的进货记录,刷新到数据透视中,从而生成新的产品清单。因此,没刷新一次,数据透视表的源数据会更新一次,产品清单也会变化。
那如何将这个变化的产品列表作为销售记录表中的下拉菜单呢答案是使用动态区域函数Offset。
比如,针对型号,我们创建一个名称:
这个名称的引用位置为一个动态扩展的数据区域:
=OFFSET(产品清单!$J$1,MATCH(销售记录!$D2,产品清单!$J:$J,0)-1,1,COUNTIF(产品清单!$J:$J,销售记录!$D2),1)
通过这个动态区域,它总能获取数据透视表中的最新数据,因此,每一次在进货记录表中输入进货信息之后,点击刷新,菜单即可更新为最新的。
04、库存报表
我只举一个例子:
某个产品的上月结存数量,这是一个多条件求和的公式,上月结存=上月进货-上月销售
因此公式是这样的:
=SUMIFS(进货记录[数量],进货记录[产品],库存报表!B9,进货记录[年],库存报表!$D$2,进货记录[月],库存报表!$G$2-1)–SUMIFS(销售记录[数量],销售记录[产品],库存报表!B9,销售记录[年],库存报表!$D$2,销售记录[月],库存报表!$G$2-1)
第一个SUMIFS是求产品上个月的进货总量,第二个SUMIFS是求产品上个月的销售总量。只要你知道SUMIFS的用法,那公式的巨贪含义很容易理解,我这里就不一一解释了。
书山有路勤为径,学海无涯苦作舟,学习是一件需要毅力、需要耐力的事情,在会计这个行业,政策变化、知识更新都是较为常见的事情,因此活到老学到老并非夸夸其谈,为了让小伙伴们在学习的道路上顺顺当当,牛账网现推出税务资料免费领的活动,纯干货、纯赠送,赶紧看看吧。