excel制作一个信息录入系统_用Excel制作简单的进销存系统

news/2024/7/7 7:55:14 标签: excel制作一个信息录入系统

最近刚好帮一个朋友做一个进销存系统,因为使用者对电脑操作以及Excel应用能力较弱,我做的进销存系统没有用特别复杂的功能,非常有解决意义,我将手把手将你制作一个简单的进销存系统。

需求描述

朋友找人合伙开了一个女装店,想要用Excel记录每天的销售数据、定期的进货数据,以及定期盘点库存情况。

朋友的合伙人对电脑操作、Excel数据管理能力较弱,前期购买过专用的进销存软件,但是经常会把数据搞乱,因此放弃了,希望使用Excel傻瓜式的记录销量。

框架设计

01、进货记录表:这是整个进销存报表的基础,所有的字段都从进货记录中生成

如图是进货记录表,使用的是智能表格,表格区域会随着数据的填写自动扩展,并延续设置好的格式。这个报表中的每个字段中的内容都需要手工录入,因为他们是后续销售记录表下拉菜单的数据源。

87683221fda921f0fa01696081fe45df.png

①为了防止数据录入错误,对【进价】、【定价】、【数量】进行了“数据验证”设置,如图所示,要求只能录入数字,而不能录入其他形式的数值。

4103543d9971bc5098fe48e62163a7dd.png

②同时,设置出错警告,根据前期测试常见的错误,提示使用者修改录入的错误的内容。

db73176fa2e402a138daaac5c686bac4.png

③J列的日期,使用日期函数将A、B、C列录入的年月日转化为标准的日期。

公式为=DATE([@年],[@月],[@日]),注意,因为数据区域已经转化为智能表格,所以公式中的引用为结构化引用。

④数据录入完成之后,永续需要点击右上角的刷新按钮,这是录制的一个宏,它的作用是全局刷新数据透视表,至于为什么要这样做,下文会进行讲解。

02、销售记录表:这是进销存报表的主要数据源

销售记录表中的字段要多一些,但是这个表中很多字段的内容填写起来却没有那么麻烦,填写方式分为三种:

b9c2987a524d306b044c69e22e6ba948.png

①手工录入:A、B、C列的年月日需要手工录入

②下拉菜单选择:产品和型号通过下拉菜单进行选择,这些下拉菜单的数据源正是进货记录表中的数据

47020fc44da91d03b97fe2d3766c464f.png

③公式自动生成:进价和定价这两个字段,在进货的时候就已经确定了,他们和产品具有对应关系,所以通过公式自动进行匹配。=IFERROR(INDEX(产品清单区域,MATCH([@型号],产品清单!B:B,0),4),"")

358a35b888fadcdda55659ae61695e67.png

03、产品清单表

这个表不需要填写内容,是自动生成的,属于过渡表,实际使用过程中,可以将其隐藏。那为什么要有这样一个表呢?

bede6ee6c6a68df75d9b65c7384f8696.png

原因有几点:

①为了销售表中填写的产品信息和进货表中的一致,需要将进货表中的产品作成下拉菜单,但是进货表是一行一行的记录,存在很多重复,无法直接使用;

②还有其他信息,诸如进价、定价等,在进货表中与产品不是一对一关系,需要将其梳理成一对一关系,这样才可以使用匹配函数精确匹配。

这个表就是通过进货记录表创建数据透视表,进而实现去重、一对一关系,如图所示,是创建的其中一个产品列表。

99bb667805c0e83e9ac06afee37b5b05.png

所以,现在你知道进货记录表中的刷新按钮的作用了吧?它是为了将新增的进货记录,刷新到数据透视中,从而生成新的产品清单。因此,没刷新一次,数据透视表的源数据会更新一次,产品清单也会变化。

那如何将这个变化的产品列表作为销售记录表中的下拉菜单呢?答案是使用动态区域函数Offset。

比如,针对型号,我们创建一个名称:

aafc5530eca8d6ae4bdf0d046d96bf3b.png

这个名称的引用位置为一个动态扩展的数据区域:

=OFFSET(产品清单!$J$1,MATCH(销售记录!$D2,产品清单!$J:$J,0)-1,1,COUNTIF(产品清单!$J:$J,销售记录!$D2),1)

通过这个动态区域,它总能获取数据透视表中的最新数据,因此,每一次在进货记录表中输入进货信息之后,点击刷新,菜单即可更新为最新的。

04、库存报表

这是进销存报表的核心,在这个表中,序号展示出每日的关键销售指标、每月的关键销售指标和详细的库存情况,并且这些数据都可以通过时间来进行筛选。

这个表中的除了时间数据,其他所有数据都是通过公式生成的,不需要填写。

15c1986d2dbce901bf210b51fb65d5c9.png

我只举一个例子:

某个产品的上月结存数量,这是一个多条件求和的公式,上月结存=上月进货-上月销售

26a5d137d60197c947ea83824f259023.png

因此公式是这样的:

=SUMIFS(进货记录[数量],进货记录[产品],库存报表!B9,进货记录[年],库存报表!$D$2,进货记录[月],库存报表!$G$2-1) - SUMIFS(销售记录[数量],销售记录[产品],库存报表!B9,销售记录[年],库存报表!$D$2,销售记录[月],库存报表!$G$2-1)

第一个SUMIFS是求产品上个月的进货总量,第二个SUMIFS是求产品上个月的销售总量。只要你知道SUMIFS的用法,那公式的巨贪含义很容易理解,我这里就不一一解释了。

将各个字段中的公式补全,那么完整的进销存报表就完成了。


http://www.niftyadmin.cn/n/1384874.html

相关文章

如何区分路由器和交换机

有用户在给我提问,问我路由器和交换机分别是什么?在大部分人眼中,他们就是一个黑盒子,都摆在机架式上,样子又出奇的相似。所以自然分不清楚,他们一般是这样的出现我们面前的!远看一样近看也差不…

029 UTF-8与utf8的区别

转自:http://blog.sina.com.cn/s/blog_169a2d3bc0102x4p0.html 以前在码代码的时候确实也遇到过弄混UTF-8和utf8的情况,一直没去深究,今天偶然看到,转过来学习下。在使用中常常遇到 utf-8 和 utf8,现在终于弄明白他们的…

聚焦 SQL 数据库活动异地复制

Tobias Ternstrom US-DS-PM 首席部门项目经理 本文作为一系列业务连续性和灾难恢复文章的开篇,概述了业务连续性的各种场景,然后重点介绍 SQL 数据库高级服务级别提供的活动异地复制的用法。有关活动异地复制的详细信息,请观看生动而详实的C…

【日常小记】统计后缀名为.cc、.c、.h的文件数【转】

转自:http://www.cnblogs.com/skynet/archive/2011/03/29/1998970.html 在项目开发时,有时候想知道源码文件中有多少后缀名为.cc、.c、.h的文件。下面介绍Linux几种方法统计后缀名为.cc、.c、.h的文件数的方法。 我以python3的源代码为例,pyt…

cad等高线怎么做_CAD再遭重击!SU不仅可以出剖面图,连结构图施工图也完美导出!...

SU还能直接出施工图?当然,本编最近挖掘了一个SU神器,可以帮你出各种神奇的剖面效果,甚至连结构都能给你做出来!本文附SU一键剖面结构神器 接下来,我们就康康这个神器有虾米神奇的地方吧!随便挪挪…

笨办法学 Python(第三版)习题 16: 读写文件

参考书籍 代码 以上代码为python2语法,目前最新是python3语法,请使用python3语法进行学习 加分习题 常见问题回答

转自虫师:性能测试的 Check List

原文地址:http://www.cnblogs.com/jackei/archive/2006/03/24/357372.html 1. 开发人员是否提交了测试申请? 2. 测试对象是否已经明确? 3. 测试范围是否已经明确? 4. 本次不被测试的范围是否已经明确? 5. 测试目标是否…

030 PHP获取文件后缀名

一、substr() 函数返回字符串的一部分。 注释&#xff1a;如果 start 参数是负数且 length 小于或等于 start&#xff0c;则 length 为 0。 http://www.w3school.com.cn/php/func_string_substr.asp 例如&#xff1a;<?php echo substr("Hello world",6); ?&g…