进销存excel_用Excel制作简单的进销存系统「建议收藏」

进销存excel_用Excel制作简单的进销存系统「建议收藏」最近刚好帮一个朋友做一个进销存系统,因为使用者对电脑操作以及Excel应用能力较弱,我做的进销存系统没有用特别复杂的功能,非常有解决意义,我将手把手将你制作一个简单的进销存系统。需求描述朋友找人合伙开了一个女装店,想要用Excel记录每天的销售数据、定期的进货数据,以及定期盘点库存情况。朋友的合伙人对电脑操作、Excel数据管理能力较弱,前期购买过专用的进销存软件,但是经常会把数据搞乱,因此放弃了…

大家好,又见面了,我是你们的朋友全栈君。

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

需求描述

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

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

框架设计

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

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

112777f9348327fbc8aae01a113d6bed.png

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

ee012cb2117c47b0c003b98c5a561c96.png

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

f8231648eaaac1af0fbef36e164379d4.png

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

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

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

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

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

80191ff26a071895ab0be2d060c35978.png

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

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

00702b31c72269990cb45c5f1c22d4d5.png

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

19971ebef7e3037c72b3f0044c368985.png

03、产品清单表

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

18629ea9cf76cdf34f25e12e952e7404.png

原因有几点:

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

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

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

5aa6cbfeda8ac27534a871535196a6d3.png

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

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

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

47fdf338ea552484ae8d0354c742daad.png

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

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

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

04、库存报表

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

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

bb2cec2bb149afed0c9704773718a48c.png

我只举一个例子:

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

5813a351a704577cad2c4c0be185288c.png

因此公式是这样的:

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138320.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • rpm 完全卸载mysql

    rpm 完全卸载mysql一、查看当前mysql安装情况:rpm-qa|grep-imysql二、删除之前安装的mysqlrpm-evmysql-community-libs-8.0.11-1.el7.x86_64如果报依赖错误,就使用下面的命令rpm-evmysql-community-libs-compat-8.0.11-1.el7.x86_64–nodeps三、查找之前mysql的目录,都删掉fin…

    2022年9月22日
  • HDU 3336 KMP算法中对next数组的理解「建议收藏」

    HDU 3336 KMP算法中对next数组的理解「建议收藏」http://acm.hdu.edu.cn/showproblem.php?pid=3336ProblemDescriptionItiswellknownthatAekdyCoinisgoodatstringproblemsaswellasnumbertheoryproblems.Whengivenastrings,wecanw

    2022年7月23日
  • mysql表锁与行锁_考核机制表

    mysql表锁与行锁_考核机制表MySQL表锁和行锁机制行锁变表锁,是福还是坑?如果你不清楚MySQL加锁的原理,你会被它整的很惨!不知坑在何方?没事,我来给你们标记几个坑。遇到了可别乱踩。通过本章内容,带你学习MySQL的行锁,表锁,两种锁的优缺点,行锁变表锁的原因,以及开发中需要注意的事项。还在等啥?经验等你来拿!MySQL的存储引擎是从MyISAM到InnoDB,锁从表锁到行锁。后者的出现从某种程度上是弥补前者的…

    2022年9月29日
  • 制作整人计算机病毒,bat整人电脑病毒代码是怎样的.docx[通俗易懂]

    制作整人计算机病毒,bat整人电脑病毒代码是怎样的.docx[通俗易懂]2019年bat整人电脑病毒代码是怎样的篇一:一些bat恶搞代码?第一个:让别人内存OVER(逼他重启)?@echooff?startcmd?%0?就这3行了?第二个:让对方重启指定次数(害人专用)?@echooff?ifnotexistc:\1.txtecho.>c:\1.txt&gotoerr1?ifnotexistc:\2.txtecho.>c:\2.txt&go…

    2022年7月14日
  • pycharm激活码2022【2021.8最新】

    (pycharm激活码2022)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS32PGH0SQB-eyJsaWNlbnNlSWQi…

    2022年3月26日
  • IMU —— MPU9250_DMP原代码移植[通俗易懂]

    最近在使用MPU9250来学习姿态解算,查询了非常多的网上关于MPU6050和MPU9250的资料,发现内置的DMP可以计算出姿态角,可原代码是用在MSP430和STM407上的,手上有块F429的野火板子,移植过程越到非常多的巨坑,现在想记录下来给各位初学者提供一些便利。移植好的工程:https://download.csdn.net/download/zh471021698/1101721…

    2022年4月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号