当你能通过编程提高工作效率时……

经常看我答案的同学们都知道,我是在国企银行工作的,之前是在边缘部门,前几个月转到了资管条线的业务部门,至于这一段传奇经历,在我的上一篇文章中有写到。

努力多年,终于转到了核心业务部门,让自己学习多年的知识学以致用,是一件很高兴的事情,这几年付出的汗水没有白费。

从边缘部门转岗到业务部门,这个跨度是非常大的,虽然是在银行内部换岗,但这个跨度已然近似于转行,因此我要面对的不仅是新业务的学习,还有思维方式和工作方式的转变。

新部门满共不到十人,每个人除了要负责资管业务外,还要负责一些比较杂的话,数据整理就是其中的大头。

而我首先接的工作,就是两个姐姐给我交的报表,一个是月初要做的,一个是月末要做的。

然而问题是我在来到这个部门之前,EXCEL的运用仅仅是筛选、Vlookup这个水平,毕竟以前的工作不经常用到报表,所以尽管工作多年,Excel的技术水平几乎停滞不前,突然交给我这么多的报表任务,实在是感觉力不从心。

我问了其中的一个姐姐,每个月要花几天时间做报表,她告诉我几乎半个月的时间都在做报表,听到他的回复,瞬间有一种人生灰暗的感觉。

如果每个月要花半个月的时间做报表,那么正常开展业务的时间就会被大大挤占,这种效率是不能接受的。

对于部门繁杂的报表工作,领导也希望我能想个办法,压降大家处理报表的时间,让大家从这种繁琐重复的工作中释放出来,由于自己也是新接这项工作,只能说自己会尽力想办法去改善流程。

Excel的功能很强大,这个我们都知道,但Excel到底有多强大,大多数人心中是没有概念的,之前在学习CFA&FRM的时候,看到授课老师用Excel进行金融建模,还能通过Excel编程来实现一些个性化的功能。

于是自己就开始在网上查找资料,得知Excel内嵌了VBA编程环境,能通过VBA编程来实现我们对Excel的各种需求。

既然VBA编程能大幅提高Excel的处理效率,那就学VBA好了,但是怎么学呢?

我上网搜教学视频,但质量都不是特别好,很多主讲人都有很重的口音,实在是听不下去。

那就买书自学吧,看了大家的推荐,我买了以下几本书:

我给了自己三个月的时间去学习VBA,然而半个月后,我就已经能用VBA写程序了。

这里还是要再介绍一下自己,对于编程,自己以前一直都是非常抵触的,在我上大学的那个年代(2006~2010),CS专业并没有现在那么火热,甚至有很多大学生毕业找不到好工作,那是移动互联网革命的前夜,谁都不会想到一毕业CS的春天就来了。

我学的是CS相关专业,计算机组成原理、操作系统、计算机网络、数据库、C++、JAVA、数据结构这些都学过,但都学的不好,究其原因,还是自己压根就不感兴趣,当时也是被调剂到这个专业的。

毕业后我们班真正从事编程工作的只有不到四分之一,大多数都去了三大通信公司、四大行、还有一些IT公司。

而我则进了银行,从那时起,自己就再也没有写过程序,我以为自己这辈子都不会再写程序了。

近几年金融业发展的很快,现在已经进入了金融科技的时代,现在的高端金融人才,不是光懂金融就够的,还要懂算法和编程,因为这能大幅提高你的金融分析效率。

其实我之前也想过把编程再捡起来,但一直都没有足够的动力,直到转岗到了这个部门。

到这个部门后我接手的第一项工作就是数据处理和分析,如果还是用老办法的话,处理效率会非常低,我得想个办法去提高效率,编程成为了当前我最需要掌握的技能。

毕竟是在大学接受过系统的CS教育,即使多年未用,再捡起来也比零基础的人要快很多,语言都是相通的,无论是自然语言还是机器语言,只要你掌握了一门,再学另一门都会很快。

经过这两个月我对程序的不断优化,那两个姐姐交给我的报表工作,大部分我都实现了全自动化,有一小部分只能用半自动化去实现,以前要用十几天才能做完的报表工作,现在用两天就够了。

可能有人会问,银行的数据系统是很先进的,为什么还要人工去处理这么多数据呢?

如果数据处理之路要走1000公里的话,那么银行的数据系统最多能够帮你走999公里,剩下的1公里还需要你自己去走。

这一公理考验着你的技术能力和对业务的了解程度,二者缺一不可。

在学VBA的同时,自己也在学python,现在的数据量用VBA就已经足够,但如果以后数据量更大的话,还是用python更高效,同时我还想把JAVA再捡起来,毕竟后面还要经常跟开发部门进行项目沟通,给他们提业务需求,多了解一些还是更好。

对于我用VBA编程的方法高效处理报表工作,领导是很欣喜的,同事们看了也有一种很神奇的感觉,毕竟这是实实在在地解放了大家的双手,让大家能够把更多的时间放在业务上,而不是重复繁琐的报表处理上。

很多人称VBA是办公利器,其实利器已经不够它的名号了,应该叫神器,VBA基本上能处理Excel里的所有操作,只要你能想到的,基本都能实现,高效、省时、精确,效率比手工能提升至少一个量级。

所以,我建议各位经常做表的同学,如果你每个月都要花大量时间做表,那还不如把这些时间用在学习VBA上,这是一劳永逸的事情,同时还能让你掌握一门技能,到哪都能有口饭吃。

但同时,正如很多人担心的那样,如果有一天你真的通过VBA编程,让公司的报表都自动化展现了,被老板卸磨杀驴了怎么办?

我在国企银行工作,卸磨杀驴倒是不会,但我同时也有别的担忧,一开始我还想帮助别的部门提高报表处理效率,后来渐渐放弃了这个想法,以下是我放弃的原因:

第一、Excel VBA编写出的程序并不是一种很安全的程序,即使你给自己的代码上了密码,别人只要网上搜一下就能破解,从而篡改你的代码。

第二、自己编写的代码能被别人随意篡改,带来的隐患是无穷的,如果是被别有用心的人篡改,那么程序运行出的数据就会和真实数据出现很大偏差,而使用这个程序的人是不知道的,一旦他把这个出错的数据进行公开使用,所带来的后果和影响谁来承担?用的人是不可能承担的,因为他只是操作者,最终承担责任的只能是写程序的那个人,当然,如果能抓住篡改代码的那个人,那最好;如果抓不到,那这口大锅写程序的人必背。

第三、同上,VBA是编写出一段程序,让操作者执行,而宏病毒也是一段程序,隐蔽性很强,如果这家单位里有人和你不对付并且同时也会VBA的话,他在你给别人写的VBA程序里加入一段代码,就可以让你身败名裂。VBA可以操作文件系统,意味着能通过几行代码删除磁盘所有文件,想想看,别的部门的同事前一天还在开心地用着你写的程序感谢你,第二天再打开时磁盘所有文件都被删除,那是一种怎样的心情,他第一个想到的就是你这个程序有天大的bug,把他的文件全删除了,这个锅你不背都难。

第四、即使以上情况都不存在,整个公司就你一个人会写VBA,也没有人和你不对付,那你能为别的部门帮忙写程序吗?我的建议是这道闸能不开尽量别开,一旦开了就没有再关上的那天,除非你离职。

很多学VBA的同学都不是CS科班出来的,写出的VBA程序往往只能实现功能,扩展性和精确度很难保证,在这种情况下,你帮别人写的程序,指不定哪天会出现大bug,到时候承担责任的还是你。这种业务需求最好还是交到科技部门去做,毕竟他们是专业的, 一个程序从需求到投产是要经过很多流程的,并不是写完就能立马用的,其中至少还要经过测试环节和优化环节。

即使你写出的程序没有bug,别的部门用上很高兴,但这事也还没完,bug是没有,但是后期维护还得你来做啊,后面再加个功能模块什么的,还得你接着弄,不接是不可能的,都是一个单位的同事嘛,你要有困难我给你们领导说说?

第五、即使以上都OK,那你就能接吗?我的意见是这项“神技”用来帮助自己部门的同事就好了,就不要外传了,因为还涉及到别的问题。

你用这项“神技”帮助自己部门的同事,领导很高兴,毕竟这大幅提升了部门同事的工作效率,但如果你还同时帮别的部门写程序的话,那就会大量挤占你正常的工作时间,写程序只是个开头,后期维护才是大头。

自己写的程序让部门同事用,尽管有前面所提的那些风险,但基本还能在你的掌控之中,如果是别的部门同事用,出了你的眼皮子底下,会发生什么还真说不准,说不定哪天就被宏病毒给搞over了,到时候背锅的还是你。

第六、好了,即使以上全部OK,那别的部门找我写程序我能接吗?我也不能接,这个问题不仅在国有企业,在很多私企也同样会出现。

原来是四个人干5个人的工作量,现在通过程序化操作,变成了两个人干5个人的工作量,那么另外两个人就可以享受清闲了吗?当然不会,他们会被下岗。

这样的事在私企里很常见,科技的发展,大大提升了工业的生产效率,工厂里的机器人渐渐多了起来,很多身无长技的普工也因此丢了饭碗。

在很多创业公司里,都会出现技术合伙人被踢出局的情况,当技术人把所有复杂流程都搞成自动化后,那么他也就该滚蛋了,所以现在很多技术人也开始想办法保护自己的权益,比如养寇自重,这样做会降低效率,但是也没办法。

我在国企银行工作,我自己的岗位并不会因为这些而受到威胁,但如果我真的帮别的部门把报表搞成自动化操作了,他们不需要那么多的人干活了,即使有人退休也不用再补人,那以后基层网点的年轻人想要再考到分行,名额就会又少几个。

虽然我不会直接帮助别人写代码,但如果有人愿意学的话,我还是很乐于教他的,也会把我的书借给他,我更喜欢授人以渔,而不是授人以鱼。

只是写个VBA代码而已,没想到还要考虑这么多,也许是我风控思维的惯性吧,提前做个模拟预测和情景分析,总比事后承担损失好啊。

前面只说到了用VBA解决Excel问题,其实VBA在Word和PPT中的作用也很大,只是Excel更有代表性而已。

我的报表工作已经实现了自动化,后面就要把大部分时间和精力放在资管业务上了,当然编程还要继续学习。最近在看这本书,如果你学过CFA&FRM的话,可以通过这本书里的模型把你以前学过的那些理论都跑一遍,加深对知识的理解:

把学习当作一件快乐的事情,因为你是在为自己去努力。

-

--

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181028G1CFHE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券