之前写了一篇博客程序员如何巧用Excel提高工作效率,讲解了程序员在日常工作中如何利用Excel来提高工作效率,没想到收到很好的反馈,点赞量,评论量以及阅读量一度飙升为我的博客中Top 1,看来大家平时帮业务修改数据的场景很多啊,哈哈。

好了,言归正传,本篇博客我们主要讲解下Excel中VLOOKUP函数的使用,相比于上一篇中的内容,个人觉得这个相对高级一些。

1.使用背景

为什么会使用到这个函数呢,背景是这样的,有两个系统,我们假设叫A系统,B系统,这两个系统都存储了供应商的信息并且和平相处很长时间,忽然有一天上班,就看到业务同学发的钉钉消息:

业务:在不,我发现你们A系统存储的供应商名称不对啊

我:举个例子

业务:有个供应商A系统叫[联营]苏州食行生鲜电子商务有限公司,但是B系统叫苏州食行生鲜电子商务有限公司,类似的还有很多,基本上A系统都加上了[联营]这个前缀或者[联营]这个后缀

我:那你的需求是?

业务:我需要A系统里的供应商名称全部修改为和B系统一致,以B系统为准,并且现在A系统我需要供应商的联系人信息,这个数据B系统是有的,你也帮我一并初始化过来

我:好吧,你说了算……

2.使用方法

按照上述的使用背景,业务提供了如下的Excel,这个Excel分3个Sheet,分别是:A系统供应商数据,B系统供应商数据,B系统供应商联系人数据,具体的数据如下所示:

我们的最终目的是拼接一个Update语句来更新A系统的供应商数据,然后批量生成,这样就可以批量更新A系统的供应商数据了。

基于此目的,我们拆分步骤如下:

  1. 把第2个Sheet和第3个Sheet中的数据匹配到第一个Sheet中,匹配条件是列:B系统供应商编码
  2. 在第一个Sheet中拼接Update语句(拼接方法可参考之前的博客程序员如何巧用Excel提高工作效率)
  3. 批量生成Update语句

第一步我们就需要用到VLOOKUP函数了,以下为匹配方法:

此时我们已经将需要的数据都匹配到了第一个Sheet中:

接下来我们需要的是拼接Update语句,方法如下:

最终批量生成的语句如下,完美完成:

UPDATE supplier_seller
SET supplier_seller_name = '苏州食行生鲜电子商务有限公司',
contact_name='张洪良',
contact_email='zhanghongliang@163.com',
contact_mobile='13758494357'
WHERE disabled = 0
AND supplier_seller_code = 'A000001'; UPDATE supplier_seller
SET supplier_seller_name = '北京每日优鲜电子商务有限公司',
contact_name='曾斌',
contact_email='zengbin@163.com',
contact_mobile='15601637452'
WHERE disabled = 0
AND supplier_seller_code = 'A000002';

3.常见问题

在这个过程中,可能会出现以下情况,明明数据存在,匹配完成却显示#N/A(注意:数据不存在也会显示#N/A):

出现的原因可能有以下两种:

1.匹配的两列的单元格格式不同,比如第一个Sheet中的单元格格式是常规,第二个Sheet里的单元格格式是文本,解决方案就是将两列的单元格格式修改为一样:

2.匹配列不在第一列,如我们调整下第2个Sheet中两列的位置

因此建议将匹配列放在第一列,避免出现问题排查浪费时间。

原创不易,如果觉得文章能学到东西的话,欢迎点个赞、评个论、关个注,这是我坚持写作的最大动力。

如果有兴趣,欢迎添加我的微信:zwwhnly,等你来聊技术、职场、工作等话题(PS:我是一名奋斗在上海的程序员)。

程序员如何巧用Excel提高工作效率 第二篇的更多相关文章

  1. 程序员如何巧用Excel提高工作效率

    作为一名程序员,我们可能很少使用Excel,但是公司的一些职能部门,比如HR,财务等,使用Excel真的是太熟练了,以至于一些系统开发出来,导入和导出功能是使用最频繁的,哈哈. 其实在程序开发的过程中 ...

  2. 巧用Excel提高工作效率

    程序员如何巧用Excel提高工作效率 主要讲解下Excel中VLOOKUP函数的使用,相比于上一篇中的内容,个人觉得这个相对高级一些. 1.使用背景 为什么会使用到这个函数呢,背景是这样的,有两个系统 ...

  3. 程序员提高工作效率的15个技巧【Facebook】

    程序员提高工作效率的15个技巧[Facebook] 作者: habadog 日期: 2015 年 02 月 13 日发表评论 (0)查看评论 程序员提高工作效率的15个技巧[Facebook] 1,D ...

  4. Windows 下有什么软件能够极大地提高工作效率

    Windows 下有什么软件能够极大地提高工作效率?修改 可以推荐一些好的应用或者有趣的程序,能提升工作效率或者能让人眼前一亮的.修改 举报1 条评论 分享 • 邀请回答   按票数排序按时间排序 2 ...

  5. 美国一家科技公司毕威拓(Pivotal)规定员工在早上9点06分准时上班,以提高工作效率。

    美国一家科技公司毕威拓(Pivotal)规定员工在早上9点06分准时上班,以提高工作效率. 据<英国广播公司BBC>报道,美国科技公司毕威拓(Pivotal)的员工每天都要在9点06分准时 ...

  6. Android Studio in OSX 提高工作效率的快捷键

    前言 本篇文章参考了<倍数提高工作效率的Android Studio>一文,快捷键基于OS X系统. OS X Yosemite 10.10.5 Android Studio 1.3.1 ...

  7. 倍数提高工作效率的 Android Studio 奇技

    来源:JeremyHe 链接:http://zlv.me/posts/2015/07/13/14_android-studio-tips/ 这是从Philippe Breault的系列文章<An ...

  8. [转]倍数提高工作效率的 Android Studio 奇技

    转自:http://android.jobbole.com/81687/ 倍数提高工作效率的 Android Studio 奇技 2015/10/08 · 技术分享 · 4 评论· Android S ...

  9. 15款提高工作效率的 Web 项目管理工具

    在今天的快节奏的商业世界里,能够通过计划.组织.和管理资源池以及评估开发资源的模式来管理一个项目,是一个很艰巨的任务. 有很多现成的项目管理软件来帮助减轻项目管理的负担,并且他们几乎覆盖了所有类型的业 ...

随机推荐

  1. jieba库词频统计练习

    在sypder上运行jieba库的代码: import matplotlib.pyplot as pltfracs = [2,2,1,1,1]labels = 'houqin', 'jiemian', ...

  2. CentOS在线安装RabbitMQ3.7

    一.通过yum命令在线安装RabbitMQ yum在线安装,简单.快捷.自动安装相关依赖包. 1.安装Erlang环境(RabbitMQ由Erlang语言开发) 1.1)下载rpm安装包 官方地址:h ...

  3. 强大的测试管理工具---TestTrack Pro

    我的一篇老文章了,当年可能是第一篇介绍.从CSDN搬来的. 版权声明:本文为博主原创文章,未经博主允许不得转载. 强大的测试管理工具---TestTrack Pro 时间:2004-03-09 简介: ...

  4. QTP自动化测试流程

    1)准备TestCase        - 在进行自动化之前,将测试内容进行文档化,不建议直接录制脚本        - 在录制脚本之前设计好脚本,便于录制过程的流畅        - 由于测试用例设 ...

  5. cmd命令行下登陆备份导入导出msql数据

    1.进入服务,找到mysql服务,在属性里找到mysql的安装路径 2.登陆  mysql -h 192.168.0.11 -P 3310 -u root -p 如果是访问的本机并且端口是默认的,那么 ...

  6. 关于Linux虚拟化技术KVM的科普 科普三(From OenHan)

    http://oenhan.com/archives,包括<KVM源代码分析1:基本工作原理>.<KVM源代码分析2:虚拟机的创建与运行>.<KVM源代码分析3:CPU虚 ...

  7. python多线程(一)

    ---恢复内容开始--- 首先先来看个单线程的例子: from time import ctime,sleep def music(): ): print("I was listening ...

  8. c# xml操作(二)

    c# xml操作(二) 此博文包含图片 (-- ::)转载▼ 标签: 杂谈 分类: c# 上次,我们介绍了增加和删除xml的一些操作,这次我们将介绍如何更改和读取xml特定节点.我们依然以上次的xml ...

  9. mongodb的设计特征

    MongoDB 的设计目标是高性能.可扩展.易部署.易使用,存储数据非常方便.其主要功能特性如下.   (1)面向集合存储,容易存储对象类型的数据.在MongoDB 中数据被分组存储在集合中,集合类似 ...

  10. Scrapy爬虫框架第八讲【项目实战篇:知乎用户信息抓取】--本文参考静觅博主所写

    思路分析: (1)选定起始人(即选择关注数和粉丝数较多的人--大V) (2)获取该大V的个人信息 (3)获取关注列表用户信息 (4)获取粉丝列表用户信息 (5)重复(2)(3)(4)步实现全知乎用户爬 ...