进销存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的用法,那公式的巨贪含义很容易理解,我这里就不一一解释了。

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 惠普电脑指纹锁_利用计算机对指纹进行识别

    惠普电脑指纹锁_利用计算机对指纹进行识别按下电源键,输入密码,咦?密码输错了……再输……咦?又错了!开机密码是啥来着?设置开机密码很普遍(图片引自网络)相信很多朋友都有过上述经历。为了让笔记本更安全,于是设置了一个开机密码。并且为了提高密码的安全性,时常需要过段时间就更新一次,所以经常一着急就给忘了。设置密码虽好,但是它也有两点弊端,一是增加了开机时间,二是存在遗忘和被盗的风险。想想看,你每次开机是不是都要输入一组6位左右的数字或者字母…

  • 二叉树性质及证明「建议收藏」

    二叉树性质及证明「建议收藏」二叉树性质及证明(1)规定根节点层次为0,则一棵非空二叉树的第i层上最多有2i个结点。(2)规定根节点层次为0,则深度为k的二叉树的最大结点数为2(k+1)-1。(3)具有n个结点的完全二叉树的深度k为不超过lb(n+1)-1的最大整数。(4)对于一棵非空二叉树,如果叶节点个数为n0,度为2的结点数为n2,则有n0=n2+1。(5)对于具有n个结点的完…

  • 数列极限定义详解「建议收藏」

    数列极限定义详解「建议收藏」数列极限的定义个人感觉不太好理解,我看了两天的教程才彻底明白数列极限的定义。在一般的教材里数列极限的定义为这说的比较抽象,我半天都理解不了N是怎么来的,n与N有什么区别,为什么要用去减a,这里我对自己的疑问做了个总结。首先是为什么要用去减a,两个数之间的接近程度可以用两个之差的绝对值来度量,差值越小,两个数就越接近(说法来源于《高等数学》同济大学)。两个数的接近程度小于任给的正数​…

  • dedecms 图集标签{dede:productimagelist} {dede:field name=’imgurls’}&nbs

    dedecms 图集标签{dede:productimagelist} {dede:field name=’imgurls’}&nbs

  • BT Tracker服务器_bt服务器

    BT Tracker服务器_bt服务器有时候用BT软件下载文件的时候,经常会碰到没速度的情况,这个时候你就需要设置BTTracker服务器地址了。网上有人专门做了一个列表放在github上面,不定时更新。BitComet软件可以直接添加URL,然后设置启动时更新。项目地址:https://github.com/ngosang/trackerslist(长期更新)trackers_best(20tracker…

  • 初始视觉里程计

    初始视觉里程计视觉里程计

发表回复

您的电子邮箱地址不会被公开。

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