因为工作的关系,大部分程序员都比拟少接触 Excel,一旦遇到和 Excel 相干的问题可能第一反馈是用 code 解决。其实,如果数据曾经在 Excel 外面,是能够很容易用 Excel 自身的性能解决的。另外,如果相熟 Excel 的公式构造,有些场景下还能够借助 Excel 来批量创立程序代码。本文用几个案例来向大家展现这方面的技巧。
Excel 这个电子表格软件的主力用户群体是财务、HR 以及各部门须要解决和剖析数据的信息工作者。因为工作的关系,我和表哥表姐表弟表妹打的交道很多。于是我常常听到他们的吐槽:
“咱们公司的 IT 连 VLOOKUP 都不会”
“我就想把二维表转一维表,我 BF 竟然说要等他有空敲代码才行”
在他们的心里,业余 CS 出身的程序员们应该是通吃所有软件问题的,包含且不限于 Excel。
但这显著属于误会,因为大部分程序员平时工作中与 Excel 很少有交加,不会 VLOOKUP 而且凡事都想撸代码解决是失常景象。程序员是信息时代的王者,所谓没有什么事件是一行代码搞不定的,如果不行,那就再写几行。
我也有很多程序猿和攻城狮敌人,偶然会帮他们解决 Excel 方面的小问题。我始终有一个观点,任何人这辈子都肯定会遇上 Excel,提前略微理解一下,点亮这棵技能树,是很有价值的。况且,对于有深厚功底的程序员来说,学 Excel 的速度必定是普通人的 10 倍。上面,我就用几个例子来分享一下,哪怕是程序员也能够借助 Excel 进步拔剑的速度!
拼接 SQL 条件语句
比方业务部门冷不丁发给你一张表格,让你在后盾把这些数据处理一下。
这是个长期工作,你须要写一条 SQL 语句,无论是 UPDATE 还是 DELETE,都须要条件语句,这几十个数据怎么疾速写成条件语句呢?
先说重点:如果数据曾经在 Excel 外面了,你要深信 Excel 就是最有方法最省力的工具。
咱们能够在 B2 写入公式:
=B1&”,”&”‘”&A2&”‘”
双击 B2 右下角的填充柄,主动复制公式到整列。
最初间接复制 B25 单元格,粘贴到你的 SQL 编辑器外面,略微编辑一下,就功败垂成啦。
图片
‘&’在 Excel 公式里用于拼接字符串、数值或单元格。在本例的拼接过程中,应用的是单引号。如果在某些编程语言中须要拼接出双引号的成果,能够用上面的公式:
=B1&”,”&””””&A2&””””
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 语句!
利用这样的拼接思路,能够不便的实现各种程序语言外面的“反复代码”,大家能够依据理论状况灵活处理。
解决重复记录
在开发和运维过程中,不可避免的要面对反复数据,尽管始作俑者不是本人,但须要加班解决的多半是本人。
比方业务部门提供的数据表中,device_no 可能有反复的,这些反复还不能简略的解决掉,得先标记进去再人肉核查。
反复一遍重要的话:如果数据曾经在 Excel 外面了,你要深信 Excel 就是最有方法最省力的工具。
面对这种状况,只须要先选中数据表的任意单元格,而后单击【开始】选项卡上面的【条件格局】→【突出显示单元格规定】→【反复值】就能解决。
嗯,而后所有的反复的值就被标记进去了。
当初右击 B2,也就是第一个被标记的单元格,在弹出的快捷菜单中单击【筛选】→【按所选单元格的色彩筛选】。
这样就筛选出了所有的重复记录。
此外,Excel 还提供了“删除反复项”性能能够间接删除重复记录,也能够应用 COUNTIF 函数排除第 1 次之后的反复项或者最初一次之前的反复项,都十分不便。
剖析与重组数据
在 Excel 中,应用“分列”性能或者文本函数能够将字符串的内容分拆到多个单元格中。从 Excel 2013 开始,更智能的“疾速填充”性能呈现了。
以下表为例。
如果心愿从 B、C 列中将主型号和公布年份分拆到 D、E 列中,能够这么操作:
在 D2 单元格中输出 FSA,选中 D3 单元格,按 <Ctrl+E> 组合键;
在 E3 单元格中输出 2016,选中 E3 单元格,按 <Ctrl+E> 组合键;
须要的信息霎时就拆分进去了。
假如新型号的命名规定是城市编码 - 主型号 - 年,能够在 F2 单元格中输出 025-FSA-2016,而后选中 F3 单元格,按 <Ctrl+E> 组合键。
留神,方才的分拆操作对于计算新型号不是必须的。
总结
这篇文章次要介绍了如何借助 Excel 疾速解决一些数据问题,帮忙程序员晋升 Excel 数据能力。用程序员的话来说,能用现成的轮子就用现成的,没用必要从新造轮子。既然数据在 Excel 外面,而 Excel 曾经有了有数的轮子,咱们为什么不必呢?
每个人遇到问题都会优先应用本人最相熟的工具来解决,因为这样危险最低,效率最高。但实际上每种工具都有本人的劣势和实用场景,所以咱们不要有局限性,甚至有“鄙视”情节,多理解一些工具能够晋升咱们的面对各种问题的综合应答能力。
以上内容基于我集体的教训,对大家算是抛砖引玉吧。我置信也有很多程序员的 Excel 程度比我厉害的多,心愿你们也来分享一些秘技!
微软最有价值专家(MVP)
微软最有价值专家是微软公司授予第三方技术专业人士的一个寰球奖项。28 年来,世界各地的技术社区领导者,因其在线上和线下的技术社区中分享专业知识和教训而取得此奖项。
MVP 是通过严格筛选的专家团队,他们代表着技术最精湛且最具智慧的人,是对社区投入极大的激情并乐于助人的专家。MVP 致力于通过演讲、论坛问答、创立网站、撰写博客、分享视频、开源我的项目、组织会议等形式来帮忙别人,并最大水平地帮忙微软技术社区用户应用 Microsoft 技术。
更多详情请登录官方网站,微软 MVP,期待你退出