excel编程入门教程(程序员不可不知的Excel技巧)
Excel这个电子表格软件的主力用户群体是财务、HR以及各部门需要处理和分析数据的信息工作者。因为工作的关系,我和表哥表姐表弟表妹打的交道很多。于是我经常听到他们的吐槽:
“我们公司的IT连VLOOKUP都不会”
“我就想把二维表转一维表,我BF居然说要等他有空敲代码才行”
在他们的心里,专业CS出身的程序员们应该是通吃所有软件问题的,包括且不限于Excel。
但这明显属于误解,因为大部分程序员平时工作中与Excel很少有交集,不会VLOOKUP而且凡事都想撸代码解决是正常现象。程序员是信息时代的王者,所谓没有什么事情是一行代码搞不定的,如果不行,那就再写几行。
什么,你真的不会?好吧,VLOOKUP是Excel里面用于表查询的一个经典函数,不知道没关系,以程序员的资质,1分钟就能学会。
讲解VLOOKUP不是本文的重点。但是下次如果有小姐姐问你,建议你速学,而不是惯性的打开你的VS Code。
我也有很多程序猿和攻城狮朋友,偶尔会帮他们解决Excel方面的小问题。我一直有一个观点,任何人这辈子都一定会遇上Excel,提前稍微了解一下,点亮这棵技能树,是很有价值的。况且,对于有深厚功底的程序员来说,学Excel的速度肯定是普通人的10倍。下面,我就用几个例子来分享一下,哪怕是程序员也可以借助Excel提高拔剑的速度!
01 拼接SQL条件语句
比如业务部门冷不丁发给你一张表格,让你在后台把这些数据处理一下。
这是个临时任务,你需要写一条SQL语句,无论是UPDATE还是DELETE,都需要条件语句,这几十个数据怎么快速写成条件语句呢?
先说重点:如果数据已经在Excel里面了,你要坚信Excel就是最有办法最省力的工具。
我们可以在B2写入公式:
=B1&","&"'"&A2&"'"
双击B2右下角的填充柄,自动复制公式到整列。
最后直接复制B25单元格,粘贴到你的SQL编辑器里面,稍微编辑一下,就大功告成啦。
&在Excel公式里用于拼接字符串、数值或单元格。在本例的拼接过程中,使用的是单引号。如果在某些编程语言中需要拼接出双引号的效果,可以用下面的公式:
=B1&","&""""&A2&""""
02 SQL连续处理多张数据表
有些数据库因为使用了分表技术,同一类数据按既定规则保存在了某一张数据表中,如果偶尔需要按条件处理一个数据,就必须遍历所有的表。
比如,现在有device_list_0到device_list_9都用于存储设备相关信息,如果临时要删除device_no为78262170fa33的记录,事先不知道这条记录具体在哪张表,一个简单的方法就是直接每张表都删除一次。此时,可以借助Excel批量构造SQL语句。
打开Excel,在A1单元格写入公式:
= "'device_list_"&ROW()-1&"'"
在B1单元格写入公式:
="delete from "&A1&" where 'device_no' = '78262170fa33';"
这样,第一条语句就完成了。
选中A1:B1,往下复制公式到A10:B10,就得到了全部所需的SQL语句!
利用这样的拼接思路,可以方便的完成各种程序语言里面的“重复代码”,大家可以根据实际情况灵活处理。
03 处理重复记录
在开发和运维过程中,不可避免的要面对重复数据,虽然始作俑者不是自己,但需要加班处理的多半是自己。
比如业务部门提供的数据表中,device_no可能有重复的,这些重复还不能简单的处理掉,得先标记出来再人肉核对。
重复一遍重要的话:如果数据已经在Excel里面了,你要坚信Excel就是最有办法最省力的工具。
面对这种情况,只需要先选中数据表的任意单元格,然后单击【开始】选项卡下面的【条件格式】→【突出显示单元格规则】→【重复值】就能解决。
嗯,然后所有的重复的值就被标记出来了。
现在右击B2,也就是第一个被标记的单元格,在弹出的快捷菜单中单击【筛选】→【按所选单元格的颜色筛选】。
这样就筛选出了所有的重复记录。
此外,Excel还提供了“删除重复项”功能可以直接删除重复记录,也可以使用COUNTIF函数排除第1次之后的重复项或者最后一次之前的重复项,都非常方便。
04 分拆与重组数据
在Excel中,使用“分列”功能或者文本函数可以将字符串的内容分拆到多个单元格中。从Excel 2013开始,更智能的“快速填充”功能出现了。
以下表为例。
如果希望从B、C列中将主型号和发布年份分拆到D、E列中,可以这么操作:
在D2单元格中输入FSA,选中D3单元格,按<Ctrl E>组合键;
在E3单元格中输入2016,选中E3单元格,按<Ctrl E>组合键;
需要的信息瞬间就拆分出来了。
假设新型号的命名规则是城市编码-主型号-年,可以在F2单元格中输入025-FSA-2016,然后选中F3单元格,按<Ctrl E>组合键。
注意,刚才的分拆操作对于计算新型号不是必须的。
05 总结
每个人遇到问题都会优先使用自己最熟悉的工具来处理,因为这样风险最低,效率最高。
但实际上每种工具都有自己的优势和适用场景,所以我们不要有局限性,甚至有“鄙视”情节,多了解一些工具可以提升我们的面对各种问题的综合应对能力。用程序员的话来说,能用现成的轮子就用现成的,没用必要重新造轮子。既然数据在Excel里面,而Excel已经有了无数的轮子,我们为啥不用呢?
以上内容基于我个人的经验,对大家算是抛砖引玉吧。我相信也有很多程序员的Excel水平比我厉害的多,希望你们也来分享一些秘技!
最后,我想说,什么.net 、java 、python、 php,Excel才是最厉害的!哈哈哈。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com