plsql 为空显示 0 的函数_不加班只加薪!从0到1教你制作出入库进销存表格

3fc6b3ca417485ef7616b80af4e1ed53.png

出入库表应用十分广泛,是每个公司都用到的表格,下面我们来看看怎么从一张空白表一步一步实现《出入库表》的制作,目的是做到只需要记录出库入库流水,自动对库存及累计出入库数量进行计算、实时统计。

出入库表构成

做一个出入库表,我们一般希望报表能够:根据我们记录的出库数量、入库数量,自动统计出每种物品当前的实时数量,所以一份完整的出入库表,基本具备以下内容:

1、每种物品的自身属性信息包括 名称、型号或规格、单位等;

2、物品出库流水记录、入库流水记录;

3、物品当前库存量;

有时候为了统计库存资金及监控库存数,还会需要下列信息:

4、物品出库入库总金额,当前库存余额;

5、物品库存量不足其安全数量时自动告警。

接下来,就手把手教你如何制作一份自动统计货品出入库表。

- 01 -

建立物品信息

首先,要对物品进行信息化整理。为了规范管理,公司一般都会按一定可识别含义的方式对物品进行统一编码,比如某物品为“经过电镀工艺的U形03号材质的钢材料”,可以编码为:GUDD003。

8fe25e6af1f58d3fbb39b84206a687ac.png

- 02 -

制作出入库记录表

接下来,就需要制作货品出入库的记录表。出库和入库流水可以分开在两张表里来记,也可以合在一张表,看实际使用的方便程度。这里以后者来示例:

25a591ac84ac3a27ad13218b26d563e7.png

第一步,创建查找函数。产品属性信息在「物品信息表」中都是登记过的,这里我们希望记录时通过选择编码后,自动生成名称、型号、单位。只要在后面对应属性单元格分别使用VLOOKUP查找函数就可以实现,见以下动图教程:

2d127e8c8bf275f9fac6baa5bf2df98a.gif

▲ 利用VLOOKUP函数,自动得到了与前面编码对应的信息。

函数公式:

=VLOOKUP($C3,物品信息表!$B:$E,2,0)

函数解答:

第一个参数$C3表示想要查找的内容;

第二个参数物品信息表!$B:$E表示要查找的区域(物品信息区);

第三个参数2表示返回的内容为查找区域的第几列,最后一个参数0表示精确查找。

公式中($)符号代表该公式所引用(指向)的单元格在拖拽填充时不会发生行或列的移动。

第三个参数是指定返回内容,那么在“型号/规格”、“单位”对应单元格中将上述VLOOKUP函数的2分别改为3、4就可以实现型号和单位的查找了:

可以看到第一条记录在编码确定之后,通过在“物品名称”的D3单元格中使用VLOOKUP函数就自动得到了与前面编码对应的信息。

第二步,优化函数公式,避免错误值。如果物品信息为空,那么出入库表后面对应的VLOOKUP函数返回了错误值#N/A,这时候我们用IF函数进行优化。

31b0c6db566400a6f23fc2d3221b22e4.gif

▲ 优化公式,避免表格出现错误值#N/A

函数公式:

=IF($C3=””,””,VLOOKUP($C3,物品信息表!$B:$E,2,0))

函数解答:

若查找单元格为空时返回空,为物品编码时返回该编码对应名称、型号、单位。

第三步,将编码做成下拉列表选择。将物品信息编码制作成下拉列表,以来可以免去多余的手动输入,及手动输入可能带来的填写错误,二来既省力又规范,见下图操作:

04c5778af54cf4c7346d444348bedc0f.gif

简单三步后,一份完整的物品出入库记录表就顺利制作完成了。实际应用的过程中,选择物品编码自动显示物品信息,非常方便。如下图操作:

f06e882a3162ab2153ae00e95b4f0f9d.gif

- 03 -

实现库存统计

接着,我们继续对表格进行升级!每个登记在册的物品信息后面,增加出库数、入库数、当前库存,均实时显示!

在「物品信息表」后部再增加以下几个内容:

1、“前期结转”,表格在新启用时可以登记仓库物品原有库存;

2、累计出库、入库数量

3、当前仓库库存量

f709bfca2528f437023b07825a1abe78.png

虽然新增了统计项目,但累计出库、累计入库可利用SUMIF函数从「出入库记录表」中获取,并没有增加工作量,见以下教程:

3b22a084f1d4a5d053aa2f9157fd44fb.gif

函数公式:

=SUMIF(出入库流水!$C:$C,$B3,出入库流水!$G:$G)

函数解析:

第一个参数出入库流水!$C:$C表示条件列;

第二个参数$B3表示前面条件列应该满足的条件(对应该行物品编码);

第三个参数出入库流水!$G:$G表示对满足条件的在此列求和。

同样的方法将第三个参数出入库流水!$G:$G换成出入库流水!$H:$H得到累计入库数量:

接下来,我们就可以利用简单的求和公式,实现当前库存自动填入:当前库存=前期结转+累计入库-累计出库,见下图教程:

53219933f9707f43ea4699c6c15b6fe5.gif

- 04 -

制作库存告警

实际工作当中,我们常常需要对物品的库存进行监控,假如A物品需要保有的安全数量为500,低于500有影响生产的风险,低于500时醒目颜色提示存量告警,并显示当前欠数,以便及时发现提前做采购计划。

因此,继续对表格进行升级!在「物品信息表」后面继续增加“安全库存”、“是否紧缺”和“欠数”,如下图:

fa843055734bc06e060b33efe67a8308.png

库存告警要好用,表格需要做到以下两点:

1、库存足够时显示不紧缺;

2、库存小于“安全库存”时显示紧缺,并标出欠数,紧缺的用黄颜色提示:

4ca800ce72610cb8a8b58279fecb9b26.gif

是否紧缺函数公式:

=IF(J3=

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/365463.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

eShopOnContainers学习系列(一):Swagger的使用

最近在看eShopOnContainer项目,抽取一下其中的基础知识点,做个记录,有兴趣的可以看下。 新建一个.net core API项目,添加Nuget包 Swashbuckle.AspNetCore.SwaggerGen、Swashbuckle.AspNetCore.SwaggerUI: 然后在启动文…

结合WebSocket编写WebGL综合场景示例

在WebGL场景中导入多个Babylon骨骼模型,在局域网用WebSocket实现多用户交互控制。 首先是场景截图: 上图在场景中导入一个Babylon骨骼模型,使用asdw、空格、鼠标控制加速度移动,在移动时播放骨骼动画。 上图在场景中加入更多的骨…

awk----基本用法

awk具体的请看这个 https://www.cnblogs.com/bwbfight/p/9402738.html awk 竟然自诩一种语言,ok.... 牛 既然这样就学习一下吧 awk -F‘[指定多个分隔符]’ 比如 awk -F[ :]表示指定:空格为分隔符 涉及多个重复分割符可以这样指定 awk -F[ :] 表示多个空…

java按条件查询结果为空_mybatis中查询结果为空时不同返回类型对应返回值问题...

今天在别人的代码基础上实现新需求,看到对于mybatis查询结果的判断不是很正确,如果查询结果为空就会异常,不知道大家有没有这样的疑惑:mybatis中resultType有多种返回类型,对于每种不同类型,查询结果为空时…

object picker 微信小程序_微信小程序 demo分享

选择器示例demo:1.普通选择器 2.多列选择器 3.时间选择器 4.日期选择器 5.省市区选择器wxml普通选择器:(普通数组)当前选择:{{array[index]}}普通选择器2:(普通json格式数组)当前选择:{{objectArray[objectIndex].name…

项目学生:分片集成测试数据

这是Project Student的一部分。 其他职位包括带有Jersey的 Web服务 客户端,带有Jersey的 Web服务服务器 , 业务层和带有Spring Data的持久性 。 到目前为止,所有集成测试都使用了内存嵌入式数据库,该数据库无法一次又一次地保留信…

BZOJ1036 树的统计(树链剖分+线段树)

【题目描述】 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问…

Unity插件Gaia使用介绍

零基础创建Unity精美场景地形(使用插件Gaia)一、先上最终效果图二、软件环境搭建1.Unity5.6.0下载链接https://unity3d.com/cn/get-unity/download/archive?_ga2.110664517.1175563345.1516068066-173539005.15020707552.Gaia Unity地形制作插件下载链…

java http 压缩_解压HTTP API的GZIP压缩数据

1.对Java后端的请求HttpURLConnection对象中的消息头设置压缩connection.setRequestProperty("Accept-Encoding", "gzip, deflate");2.发送请求后获取response中的content-encodingconnection.getContentEncoding(); // 获取content-encoding3.如果content…

20151208_使用windows2012配置weblogic节点管理器

经过实践,weblogic节点管理器的作用主要有两点: 1、可通过weblogic控制台远程控制被管server启停。 2、可以自动重启被管server的进程,并且对spring框架提供比直接启动更快的重启速度。 配置步骤: 在管理电脑上: …

python各种包安装顺序_史上最全的Python包管理工具:Anaconda教程

事实上Anaconda 和 Jupyter notebook已成为数据分析的标准环境。简单来说,Anaconda是包管理器和环境管理器,Jupyter notebook 可以将数据分析的代码、图像和文档全部组合到一个web文档中。接下来我详细介绍下Anaconda,并在最后给出Jupyter no…

在Spring MVC中使用多个属性文件

每个人都听说过将单个Web应用程序组合成一个大型应用程序的门户。 门户软件的工作原理类似于mashup -来自多个来源的内容在单个服务中被拾取,大部分显示在单个网页中。 门户软件还允许在嵌入到门户软件中的所有单个Web应用程序(独立模块&…

汇编语言实验一

实验任务 (1)使用debug,将程序段写入内存,逐条执行,观察cpu中相关寄存器内容变化。 完成此实验,可用e命令或a命令。 e命令改写内存的内容,如图: 我没有一气喝成,一开始便…

python学习 day6 (3月7日)

#__author : liuyang #date : 2019/3/7 0007 a [a , b , c] b [] print(a is b ) # 空元组 可以 空列表 不可以 print(tuple(a))题目: l1 [11, 22, 33, 44, 55] #将此列表索引为奇数的对应元素全部删除 # 错误示例 for l in range(len(l1)):print(l)if l % 2…

java jni helloword_JNI入门教程之HelloWorld篇

JNI入门教程之HelloWorld篇来源:互联网 宽屏版 评论2008-05-31 09:07:11本文讲述如何使用JNI技术实现HelloWorld,目的是让读者熟悉JNI的机制并编写第一个HelloWorld程序。java Native Interface(JNI)是Java语言的本地编程接口,是J2SDK的一部分。在java…

centos7 python3安装numpy_centos 7 下安装numpy、scipy等python包

本文适用于刚入门的小白,欢迎大牛们批评指正。因为要开始数据分析,而python又不像R和matlab那么简洁。需要安装的包很多~网上找了好多牛人博客,想在centos7下安装numpy,scipy等包,一开始就懵逼了,网上的指导…

11、Node.js 函数

内容:普通函数,匿名函数,函数传递是如何让HTTP服务器工作的 ###普通函数例子: function say(word) {console.log(word); } function execute(someFunction, value) {someFunction(value); } execute(say, "Hello"); ###…

休眠事实:集成测试策略

我喜欢集成测试,这是检查Hibernate生成哪些幕后花絮的SQL查询的好方法。 但是集成测试需要运行的数据库服务器,这是您必须要做的第一选择。 1.使用类似生产的本地数据库服务器进行集成测试 对于生产环境,我始终喜欢使用增量DDL脚本&#xff…

select多查询,自连接,join 等

题目来源于leetcode中的数据库部分:181. Employees Earning More Than Their Managers 题目:The Employee table holds all employees including their managers. Every employee has an Id, and there is also a column for the manager Id. ----------…

4、Node.js REPL(交互式解释器)

Node.js REPL(Read Eval Print Loop:交互式解释器) 表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并接收系统的响应。Node 自带了交互式解释器,可以执行以下任务: • 读…