金融科技

铝合金窗的成本

winter 0

文章目录:

1、3秒完成一天工作,先进先出算成本的Excel公式不收藏太可惜了2、VBA应用案例:用VBA模块计算课时费(基于Access数据库)3、设备维护保养管理,Excel vba表格

3秒完成一天工作,先进先出算成本的Excel公式不收藏太可惜了

先进先出法是进销存管理中很重要的成本计算方法。

如下图所示在销售表中根据出库数量计算成本金额。

先跟过儿一起了解先进先出的计算原理。

先进先出:就是在计算成本价格的时候优先计算先入库的产品成本,假设先入库的产品先出库。

【例】如下图所示,A产品总共入库了3个批次,每次进货的价格都不同。

情形一,A产品第一次销售20个,因为A的第1批进了50个,在先进先出法下就可以假设20个产品都是从该批次进货的,所以全部按该批次的价格算成本,成本应为:

=20*2=40

情形二,A产品第一次销售51个,那么第一批进的不够用,所以要从第二批拿出一个算成本。成本总额为:

50*2+1*4=104

情形三:A产品第一次销售70个,前两批进货的数量都不够用,所以得从第三批中拿出10个算成本。

=50*2+10*4+10*9=230

情形4:A产品后续又销售了5个,因为前面已把前2批货卖完了,所以现在直接从第3批(价格为9)的批次中拿货并计算成本。

=5*9=45

以后再销售的成本以此类推。

如果没有从事过财务,那么可能觉得有点费解。这个公式不但要考虑入库表的所有批次价格,而且还要考虑销售表已卖的数量。如此复杂的计算,几乎不可能用excel函数来做到,但是人工又很麻烦,即使一百行的小表人工也得半天。

为了解决这个,用VBA编写了一个自定义函数。完美解决了先进先出算成本的难题。下面带大家演示

=成本(H2,H$1:H2,I$1:I2,J$1:J1,B$2:B$18,C$2:C$18,D$2:D$18)

语法:

成本(商品名称,商品区域,销量区域,已计算成本区域,入库表商品名称,入库表数量区域,入库表单价区域)

参数说明:

下面按照步骤提示在自己的表格中设置先进先出的公式

第1步 复制下面代码

Function 成本(商品, 已销商品rg As Range, 已销售数量rg As Range, 已成本rg, 商品rg As Range, 入库数量rg As Range, 单价rg As Range)Dim 入总, 总数量, 总成本, 销售数量 As Integer, 已计算销售成本arr1 = 商品rgarr2 = 入库数量rgarr3 = 单价rgarr4 = 已销商品rgarr5 = 已销售数量rgarr6 = 已成本rgFor M = 1 To UBound(arr4) If arr4(M, 1) = 商品 Then 销售数量 = 销售数量 + arr5(M, 1) If M < UBound(arr4) Then 已计算销售成本 = 已计算销售成本 + arr6(M, 1) End IfNext MFor x = 1 To UBound(arr1) If 商品 = arr1(x, 1) Then '入总 = 入总 + arr2(x, 1) If 总数量 < 销售数量 Then If 总数量 + arr2(x, 1) < 销售数量 Then 总成本 = 总成本 + arr2(x, 1) * arr3(x, 1) Else 总成本 = 总成本 + (销售数量 - 总数量) * arr3(x, 1) End If End If 总数量 = 总数量 + arr2(x, 1) End If Next x If 总数量 < 销售数量 Then 成本 = "销量大于库存数量,请核查" Else 成本 = 总成本 - 已计算销售成本 End IfEnd Function

第2步 打开你的Excel表格,然后通过开发工具-Visual basic打开VBA编辑器,在左边右键-插入 -模块,然后把代码粘到右侧的空白区域里。最后把文件另存为:xlsm启用宏的excel工作簿类型。

以后,在这个excel文件里就可以直接使用“成本”函数来计算先进先出成本了。

总结:解决先进先出是excel中很难的一个设置,以前有同学问我excel中有没有先进先出的公式,我都会说没有,今天用VBA自定义设置了一个。

VBA应用案例:用VBA模块计算课时费(基于Access数据库)

这篇技术文章我们讲一下:怎么用VBA模块计算一些稍微复杂的表。

(今天发的的几个短视频段子,播放量团灭,很难过。还是讲技术吧)

用AccessVBA模块来对表进行计算,相当于用Excel的函数来计算,二者在本质上没有区别。了解Excel函数的人能够理解我在讲什么。

用Access数据库计算的效果

和Excel函数相比,用VBA模块对表进行计算有利有弊:

优点是:

1.计算能力强。用Excel计算两三个字段就比较吃力了,在Excel单元格里写代码,会导致单元格比较臃肿。而Access的VBA模块在这方面能力强一些。

2.调整容易。用VBA模块计算,便于函数的维护和拓展,计算过程清楚不容易乱。接下来会用案例来解释这个问题

Access数据库VBA模块

用VBA模块计算也有缺点:

1.学习成本高。得了解什么叫变量,Function怎么用。编程就没有轻松的,会有一些坑。

2.会被鄙视。搞编程的码农会鄙视你,说你用VBA很low,搞得你很烦。(很奇怪,按这个原理,搞Excel函数不是更“low”吗?)

下面讲一下这个案例:

一、本案例的需求介绍

这个案例是一所高中的真实案例:以周为单位,计算每名老师的课时费。

这个工作用Excel完成有些麻烦(但不是不行),主要计算需求如下(为了循序渐进的教学,进行了适当的简化):

1.该学校的教课老师有100多名,有6个学科:

语文

数学

英语

物理

化学

生物

2.每周20小时内,语文数学英语100元小时,物理化学生物80元1小时

3.每周超过20小时,所有科目都是200元每小时。

在实际的案例中,每个老师教的班级还有快慢之分,给快班讲课的补助价格更高一些。但为了讲解方便,我今天先省略这个需求。

二、表设计思路

1.必须设计成一维表形式

用Excel也可以这个计算,用函数就可以。

但是表的设计必须遵循一维表的形式,无论是Excel还是Access的表都必须遵循这个原则,不然设计容易乱。

尤其是Excel设计更容易乱。

2.表的字段要严格控制

这个表的字段一共就4个:

时间

老师

科目

课时

用Access来设计表的话,字段里不需要设计价格、没有星期。价格在VBA里体现,星期用查询(SQL)自动生成。

这就是Access框架的威力,Excel就很难做的这么清爽简约。据我所知,Excel做星期查询很难。

3.表的更新

这个计算做成之后,只要定期往表里更新数据就行,老师上一天课就更新一条,更新完之后,计算结果就自动生成了,报表也能自动化生成。

三、查询设计

简单来说,这个课时费计算的Access查询需要两步:

1.生成周查询表

2.在周查询基础上,加上计算字段,计算字段运用的是VBA的模块(VBA模块是本文的核心)

先要解释一下为什么要两次查询,因为这个需求的时间范围是按周汇总,如果一次查询完成计算的话,SQL会乱。

1.生成周查询

这个技术我之前做过,代码界面如下:

第一次查询

2.计算字段

计算字段包括5个

一类课时量

二类课时量

一类课时费

二类课时费

总课时费

第二次查询

一类课时就是每周20节以内的课时,二类课时就是每周超过20节的课时。

四、VBA模块设计

下面是我们本文的核心,VBA模块设计。本需求我采用的是一个模块,下面四个函数,四个函数共用两个变量就可以。

其实VBA模块一点都不神秘,核心就是设计方程、解方程:

y=f(x1,x2)

再详细一点,y=Function(x1,x2)

这个Function英语就是方程(也叫函数)的意思,也就是VBA模块里我们要设计的一种计算方法,原理没什么难的。

比如,我们设计一个函数

x1=2

x2=2

y=f(x1,x2)=(x1+x2)^2

x1和x2相加再平方这个过程,就是一个函数(Function)计算。

Excel里要计算的话,就是直接新起个单元格,单元格里输入:

=(A1+B1)^2

用Excel来计算这个计算课时费需求也完全可以,但是如前所述,Excel很难计算复杂情况,比如我们本次需求就不这么简单,至少有两个判断:

1.判断这个老师教的是什么课,数学外语语文的课时费就高一些。

2.判断这个老师这周上没上够20节,上够是一个钱、没上够是一个钱。

用Excel来算就显得不那么简单了。

更何况这个需求,比我实际交给客户的需求还简化的多:客户要求的需求还有不同班级的不同费用,等于多了一个维度的计算。用Excel做就非常吃力了(这也是为什么客户找到我)。

我们这个需求的VBA代码有5个函数(Function),分别对应上个章节的5个计算字段

模块有两个总的变量,一个是每周的总课时(通过第一次查询计算得到的),第二个是科目。

两个变量

每个函数用方程表示就是

一类课时费=f(每周总课时,科目)

二类课时费=f(每周总课时,科目)

以此类推

VBA模块总界面

五、VBA代码设计

每个函数的代码设计,我承认对初学者有点难,但是学了一会就会觉得也不过如此,基本就是If Else语句判断。

我们以一类课时量为例

分为以下两种情况

1.当周上课没到20节

一类课时量=f(每周总课时)=当周课时

2.当周上课超过20节

一类课时量就是20节。

第一档课时数

二类课时量也分两种情况

1.当周上课没到20节,那么:

二类课时量=0

2.当周上课超过20节

二类课时量就是:周课时量-20

第二档课时数

(看懂了吗?没看懂公屏+1)

因为课时量不受科目的计算,所以方程里没有科目。如果计算课时费的话,就要加上科目,计算稍微复杂一些。

一类课时费:

1. 没到20节

数学语文外语

一类课时费=当周课时量*100

其他科目

一类课时费=当周课时量*80

第一档课时费

2.超过20节

数学语文外语

一类课时费=20*100

其他科目

一类课时费=20*80

逻辑就是这样,二类课时费、总课时费的VBA,大家照猫画虎做一下。

六、做报表

最好查询之后,就是界面的设计和美化了。这方面技术我讲的很多。不做赘述。

我建议用报表的形式,方便又快捷、简约又大方。

总体效果

有问题就在评论区交流哈~想学习、想领取这个案例给我留言哈~

设备维护保养管理,Excel vba表格

-1-

设备维护和保养在生产过程中,是一个动态不间断工作,需要保证正常运行的情况下,进行维护保养工作,目的也是使运行设备可以长期稳定工作。减少设备损坏率,避免因设备损坏而造成的经济损失。

如果维护及时,得当的情况下,明显可以达到良好的效果。

一个简单流程来说明一下,如何做好设备维护记录工作,并且提醒下次维护日期。

首先要做一个设备维护表格,包含了很多项目,如维护日期、设备名称、设备代码、单元、维护内容、维护方法、维护人、维护结果、维护周期(小时)、遗留问题、设备管理人、确认人、下次维护时间等。

-2-

设备维护是个技术活,需要娴熟的技术来进行操作,这样做的目的可以既减少维护工作时间,也提高了维护效果。

生产过程中不应该忽略维护的重要性,严格按照设备维护标准来进行,可以使一台设备在设计的生命周期内安全无事故运行到淘汰。

如果,不能正确地按照维护操作方法来进行,可能损伤到设备,减少使用寿命,如此便间接造成生产成本提高,资金损失。

图表显示了此设备维护次数。

维护次数增加也说明这台设备已经处于一种带病状态,得以加强管理。

-3-

管理界面四个选项:维护记录、记录查询、下次维护日期和维护统计。

设备管理是个大项目,其中还有一些更加细致内容,所以这个维护方面的内容,也没有细细说明。

使用过程中,可以随意添加。

至于,生产运行中,由于设备众多造成,维护不及时,维护不到位的情况,时有发生。

这种情况不是维护过程不明确,就是维护计划不清楚,甚至就没有所谓的维护计划。

-4-

许多工厂,由于生产成本提高,人力成本提高,工厂处于一种散漫的状态。

这也在所难免,毕竟没有高的工资激励,很多人是不愿意进工厂工作的。

还不如送外卖,有统计今年的外卖员增加了200万人,而工厂却招不工人。

由于大环境的情况,工厂真的是不太理想,工资不高,工作时间长,工作环境也差,这种事实下,倒不如去送外卖,工作时间自由近排,只要身体好,勤快多跑腿,工资还是相当可观的。

不过从长远的社会发展来看,劳动密集性并不是一定具有决定性推动社会进步的产业。

技术为王,只有不断增强核心技术,才能在解放劳动力的路上不断向前。

-5-

其实,人的劳动,在大多情况下是一个被迫的行为。

只有出于自愿性质的劳动才具有创造性。

所以,不愿意到工作厂劳动,更不愿意用被迫加班,来换取低廉的工资是这个社会阶段出现的病。

设备管理当中,一旦管理员发出维护清单,那么就需要维护人员去进行操作。

这个过程,除了一定的技术以外,大多也掺杂了被迫的情绪。

因为,也算是重复性劳动吧!

一些技术熟练的工人,可以在10分钟之内完成。

而一些生疏的工人,大概要数倍的时间。

但是工资方面,并不能得以区分和体现优劣。

所以,某些方面来说,维护工作也脏乱差活。维护结束之后,带着满身污渍。

管理方面其实考虑到这些细节,也能够帮助员工怎么工作更加轻松地完成工作任务。

欢迎关注:江觅头条

有时候,透过代码也可观察社会百态

铝合金门窗品牌

门窗品牌

隔音降噪门窗品牌

相关内容