Excel 从精通到入门

引子

Excel? 这么简单的东西有学的必要吗?公式加减乘除,诶等等这个日期怎么变成 #### 了,虽然文本数字搞不清楚,但也算熟练使用 Excel 啦。

WOW, Awsome, Excel 有点厉害,Vlookup 函数这么方便的吗?我会了这么多东西,简历上写个精通 Excel 不过分吧。

Emmm, Excel 好像比我想象中复杂一点,函数图表有点麻烦噢,好多不知道的东西学也学不完,自己只能说略懂。

额,DAX 是什么,PowerQuery 又是什么,PivotTable 和 PowerPivot 又是什么和什么 @_@ 会手写 VBA,会用数据透视表,搞不定的时候会借助 Python,勉强算是入门好了。

精通 Excel 的几个阶段

说了一大堆,也不知道到底说了啥。简单讲哲人苏格拉底说过,知道的越多,才知知道的越少。Excel 正是第一眼简单,深入了解才知其博大精深。业余使用者从精通到入门大致分为五个阶段:

  1. 基础知识、基本操作

单元格格式,表格样式、查找、冻结窗格、自动求和

  1. 进阶操作,快捷键,图表

条件格式、筛选、分列等等点点鼠标就可以实现的功能。微博、QQ 空间上有很多只需要点点鼠标就能完成的 Excel 炫酷操作就属于第二阶段。到这里基本上能处理超过大部分工作,而且觉得比较顺手。

如果不是专业做,快捷键不用记很多。用好 Ctrl、Shift、Tab、方向键等的组合键,就能感到得心应手行云流水。

图表本来应该单独归为一类。我的本业是数据可视化,但我一直相信条理清楚的数据自己会说话,做表格的时候拎得清比花哨的图表更重要,在恰当的时机会用图表即可。

  1. 公式、函数

公式指输入框中等号开始的内容,加减乘除等于。

函数指带形式上括号的,返回一定结果的计算过程。主要分为逻辑、文本、时间和日期、查找四大类。

精通 Excel 的分界线

  1. 数据透视表

数据透视表实际上是个筛选器,通过五层方法,1切片器筛选,2整表筛选,3列筛选,4行筛选,5输出的值,抽丝剥茧,从复杂的数据表中找出我们需要的数据。

  1. VBA

Excel + VBA 是图灵完备的,也就是说其他语言能完成的事情,VBA 同样也能。理论上你可以通过 VBA 完成任何计算机可能完成的任务。真正的屠龙宝刀点击丢送(划掉)。


入门 Excel 的分界线

  1. (论外)更深入的领域

DAX? PowerPivot? 是什么,PowerQuery?

  1. 其他,文件,Office 套件联动

文件类型,xls xlsx xlsm xlsb 分别是什么,了解例如 csv json xml 等其他的数据文件格式,知道 Excel 自动保存机制,知道 Excel 为什么被锁定……不想让努力付诸东流,还是要多了解一下噢。另外很少有人只用到 Excel,和 PowerPoint、Word 联动也是必备技能。值得一提的是 Word 里面的表格会更让人抓狂,千万别把表格用成了一种绘图工具 = =

一个例子

总是说 Excel 有多厉害,难免有往自己脸上贴金之嫌。那么通过实际的工作,展示一下处理好一张 Excel 表,需要用到哪些知识和技巧。

场景再现

作为元气满满的公司新人,那些无关大局,却又有点麻烦的事情,当然是要主动去承担啦,不然大事做不来,小事不愿做,对得起公司开的工资嘛。

老师:小王呀,听说你大学学的计算机,那你 Excel 用得一定特别溜啦?

我:(警觉)差不多吧,也不是所有人都用的好,我们专业不考计算机二级的……

老师:那太好啦,我们公司为了激励员工健身,构建了一个考勤机制。每个月健身房打卡超过六次的员工可以发奖金。但是不是每次打卡都是有效的。上班时间打卡不能算。周一到周五下午,周三周五中午是有效时间,超过这个时间就不算了。但是如果没有在上班时间锻炼,可以掐头去尾只留有效时间。外勤、手机打卡不算, 只有在公司健身房门口的考勤机打卡才算。

我:好的,我明白了(大概),我这就去做

老师:这是考勤记录表,你这周做好就行。

我:好的,没问题。俺这就去做

整理思路

先理一理需求:

  • 通过健身打卡记录表,计算员工有效健身的时间和次数。

再让我理一理考勤记录表:

  • 有一个数据规模一万行左右的 Excel 表。

  • 每行是一条打卡记录。员工只要打卡就会留下一行数据。但是这个数据可能是正常签到,也可能是正常签退,当然有更多无效的打卡

  • 姓名可以重名,但是员工 ID 可以当作“主键”

  • 考勤日期和时间,是指预设的打卡时间段。打卡系统对时间段有一个判断,比如说周五 17:39 打卡,对应的是周五下午 17:30 到 20:30 这个时间段。但这个判断不一定准确。

  • 打卡时间,顾名思义员工实际的打卡时间。

  • 打卡地址:在考勤机上打卡,地点固定是公司。

  • 打卡设备:健身房门口考勤机或者手机上打卡。

最后我们理一理其中的逻辑:

  • 上班时间不能打卡,12:00 和 17:30 前十分钟之外,也就是 11:50 和 17:20 之前打卡无效。

  • 周一到周五下午,周三周五中午打卡有效,其余时间段打卡无效。

  • 打卡设备:这条很好判断,健身房门口考勤机有效,其余无效。

  • 正常情况下,连续的两条有效的记录正好是一条有效签到,一条有效签退。但是有的签到和签退无效,与之匹配的另一条也随之失效。所以只有找同一天同一时段同一个人连续两条有效记录。

  • 下午 17:30 到 20:30,中午 12:00 到 14:00 是有效时间。超过有效时间的部分不计入总有效时间。

  • 单次有效时间超过 60 分钟,计为一次有效健身。

  • 最后累加统计每个人的有效健身时间和健身次数。

着手工作

判断的条件和过程可以用一张图清晰的罗列出来。接下来是具体步骤的说明:

  • 首先是筛选。打卡设备“考勤机”,打卡结果不能是“外勤、打卡无效”等。将筛选后的数据另建新表。

  • 接下来的判断和计算分成小步骤。每个判断结果 "TRUE/FALSE" 都会独占一列,最后用 "AND" 逻辑连结。计算结果也会各独占一列,我们称这样的列叫“中间列”。这样做的好处是易读易查易改。

  • 判断是否是同一个人,同一天,直接用 "=" 比较本行(从签到数据开始)和下一行(正常有效的话会是签退数据)共两行的 userid 和考勤日期单元格,有效数据会体现在签到的一行,后文所有的计算结果也在签到的一行有效。

  • 判断打卡时间段,签到或签退,用 FIND( ) 函数,如果 "12:00" 字符串被找到,说明是中午签到时间。

  • 判断出来签到和签退后,也直接用 "=" 试着匹配上下两行签到签退,如果本行是签到,下一行签退,则形成一次完整的打卡记录。

  • 转换打卡时间,用 RIGHT( ) 和 LEN( ) 从形如 "2019-10-24 17:28" 的时间日期字符串中取出 "17:28" 的时间。接着使用 TIMEVALUE( ) 函数转换成数值,单位是天,0:00 的值是 0,12:00 就是 0.5,18:00 的值是 0.75,24:00 的值是…… 0,实际上是第二天的 0。上文中的 17:28 是 0.727777778。

  • 判断是否是非工作时间,用上一步中得到的打卡时间值,和工作时间的时间值比较即可。

  • 调整时间也很简单,用 IF( ) 函数判断在规定时间之前打卡签到,若提前时间点自动调整为打卡时间点,若没有提前,则原样保留。

  • 计算有效时间和判断是否计入总数,用以上步骤得到调整后的签到签退,做差,得到时间段,单位是天,乘以 24 再乘 60 得到分钟数,判断是否大于 60 得到是否是有效的一次健身。至此,一次记录的处理过程结束。然后我们可以拖动单元格,整个表格处理完毕。

接下来,我们可以选中数据,插入数据透视表,选中姓名、有效时间、有效次数,数据透视表会自动按姓名分组,将时间累加,我们可以得到每个人的有效时间之和、总有效次数。在有效时间或次数列右键降序排序,我们可以很清楚的知道哪位同事健身时间比较多、次数比较多,可以给他们多发奖金。

自动化过程

过程清晰,结果正确,但是这样还不能交差。因为每个月都要统计一次,把表交出去之后要和接手的人讲清思路和用法,不亚于重做一遍的工作量,关键是不一定保证一个月之后还有人能记得住。

不过学计算机的孩子嘛,能点一下,就绝不点两下,能自动完成,就绝不手动。只有足够懒,才能变得足够聪明、足够优秀。接下来请“宏”来帮我们完成重复工作。

简单说一下我对“宏”和 VBA 的理解,宏是 VBA 语言编写的脚本,可以完成我们指定的操作,但 VBA 包含的范围不仅仅是宏。VBA 是一种图灵完备的语言,定义变量,赋值运算,逻辑判断,循环跳转都不在话下,顺序执行步骤只是它强大功能的一小部分。

既然我们只需要自动化一些操作,只需要用到录制宏即可,不需要深入了解 VBA。

我们需要录制的功能如下:

  • 筛选数据,选出考勤机、打卡有效的数据

  • 复制筛选后的数据到新数据表

  • 复制判断和计算过程函数

  • 创建数据透视表

  • 隐藏过程中的数据表

在开发工具-->录制宏点击开始录制宏,然后稍做调试修改即可。主要是删改一下数据表名称,使得重复运行时不会读到空表、重复建表、引用旧表。

最后,我们在原始数据表插入一个按钮,关联宏。下次使用时替换原始数据内容,点击就可以运行宏啦。一键得出结果的感觉有没有很棒呢?

这个例子完整的涵盖了精通 Excel 的前五个阶段:

  1. 基础知识、基本操作 单元格文本格式、时间日期格式。表格样式,套用表格格式

  2. 进阶操作,快捷键,图表 通过筛选去除不符合要求的数据 用到了各种快捷键

  3. 公式、函数 公式用到等于大于小于 函数涉及了四大类,逻辑、文本、时间和日期、查找,包括计算过程用到的 FIND( ) COUNT( ) IF( ) ISERR( ) AND( ) RIGHT( ) TIMEVALUE( ) 和辅助工作中用到的,干什么都绕不开的 VLOOKUP( )

  4. 数据透视表 用到了最基础的数据透视表功能,筛选分组求和。

  5. VBA 用到了简单的录制和运行宏功能

也就意味着,做完这张表就证明你的 Excel 达到了入门水平,可以继续探索更丰富多彩的表格世界啦。

另一个例子

场景再现

leader:我们这次考核,90 分及格,题库有八百多道题,我们都要背会。这是题库,你们这几天重点记一下。

组员 A:我们可以把这些选项都填到题目里去,打印出来,方便我们看。

组员 B:有的是单选,有的是多选,还挺麻烦。

组员 C:我们每个人分一百道题,把它们复制进去再汇总吧。

我:我们老员工们都很忙,这个就交给我来做吧。下班前能做好。

一行函数,做到把多选题的正确答案填进题目中的空格:

=SUBSTITUTE([@题目],"()","("&IF(ISERROR(FIND("A",[@答案])),"",[@选项A])&"  "&IF(ISERROR(FIND("B",[@答案])),"",[@选项B])&"  "&IF(ISERROR(FIND("C",[@答案])),"",[@选项C])&"  "&IF(ISERROR(FIND("D",[@答案])),"",[@选项D])&")")&" "&[@答案]

下面是解释:

  • 思路很简单,答案中包含 A,就把 A 选项的内容拉出来,否则不拉取。BCD 同理。然后将拉出来的选项拼接成字符串,替换掉空的括号。

  • 形如 "[@列名]" 的引用方式是“结构化引用”,套用表格格式之后可以使用这种引用方式,代替 A1 B2 这种单元格名。

  • SUBSTITUTE( ) 是文本替换函数,具体用法请查阅文档

  • IF( ) 我们上个例子中用到过,表示判断

  • FIND( ) 也用到了,用来查找是否包含某字符

  • ISERROR( ) 有点难理解,但只要你试一下就立刻会明白它有什么用。FIND( ) 找不到结果会返回一个错误值,只要其中一个返回了错误,就会导致整个嵌套函数的值变成错误。我们要避免单个的结果影响整个函数。

  • & 用于拼接字符串,字符串可以从单元格得到,也可以是引号中的内容。

多选会了,单选更是小菜一碟。接下来把 Excel 内容复制进 Word,括号中选项标红。Word 替换功能不仅可以替换文字,还可以替换成特定格式。这就是另一个故事了。

总结

本篇结合例子,聊到了 Excel 进阶要掌握的几大块知识,基础、进阶、公式、透视表、VBA。别的点未能提及,不代表它用的不多,只是他们游离在主线之外(更多的因为我自己也不会,以己昏昏使人昭昭哈哈)。

抛砖引玉,学 Excel 不是说今天记了几个公式,明天会了几种操作,马上就能学会了,这些是日积月累的过程。如果硬要说有一种通用的方法,那就是想方设法把自己的问题,转化分解成合乎逻辑的,Excel 可能解决的小问题,然后去搜索每个小问题的解决方案。就像多选填答案的例子,把稍复杂的问题一步步分解成搜索、拼接、替换这些我们已经很熟悉的小问题。

另外学好 Excel 可以免费领女朋友,不是我骗你,不信你自己看。

后面的话

感谢看到这里,拖了五个月之久,憋出一篇狗屁不通的文章。不出意外这应该是 2019 年最后一篇。

写到这里,已经有五千字。最近有的人问过我,你每天到底是在做什么,有什么用呀,为什么不干点正事。也是,就算我把整个公司的表都做了,也不会多拿一点点工资,就算我多会多少东西,也不如一纸证明。再往前想想,我总是在做很多没有用的事呀,以至于不再期待付出能有相应的回报。但是不论多少次问我,我的回答都一样:“我做的东西很多是没有用,但活着这件事本身最没有用。正是这数不清的没用的事,让我觉得自己还活着。”

excel vba 如何将日期周几转换成文字_Excel 从精通到入门相关推荐

  1. excel vba 如何将日期周几转换成文字_这5个超实用的Excel技巧,让你的办公效率更高...

    导读:对于办公职员来说,Excel是几乎每天都会接触的办公软件.在Excel中,有非常多的小技巧,学习这些小技巧需要不断的积累和应用,今天指北针就来给大家分享5个超实用的Excel技巧,让办公变得更加 ...

  2. excel函数公式html文档,Excel中把计算式转换为运算结果的方法 EXCEL中计算出的公式如何转换成纯文本内容?...

    如何在EXCEL中将计算公式直接变结果如我在A1输入计算式:(1+2*3+4/5-6)*1.2+(1+5) 如何在B1得出该计算式的选中B1然后按快捷键ctrl+F3,进入名称管理器,新建,输入任意名 ...

  3. 教你一招:Word中的文字转换成表格,把表格转换成文字

    在使用office软件时,常常会在Word中加入表格,这时候我们一般想到的是,建立表格,然后一格一格的填写;或者用Excel表格制作在复制到Word文档中.其实在Word中就可以将文本文档转换成电子表 ...

  4. 拍照转换成文字怎么转?拍照转换文字方法分享

    相信大家在开会或者听讲座的时候,会将笔记随手记录在一张纸上,等回去后再对笔记进行整理.如果文字内容少的话,那还好,但如果文字内容比较多的话,那照着纸上的笔记打字实在是太慢了,既费时又费力,还有可能会耽 ...

  5. 把数据库中有关枚举项值的数字字符串转换成文字字符串

    原文:把数据库中有关枚举项值的数字字符串转换成文字字符串 标题可能无法表达我的本意.比如,有这样一个枚举: public enum MyChoice { MyFirstChoice = 0, MySe ...

  6. 如何将语音转换成文字?转换方法介绍

    语音转换成文字方简单,只需要借助到转换工具就可以了,转换工具有着强大的转换功能,可以轻松实现你想要的转换,不知道转换方法的话,来看看下面的介绍你就会知道! 转换的具体方法如下: 1:打开语音转文字转换 ...

  7. 微信录音滑动撤销 html5,微信中这个被取消的功能悄悄上线了,将语音上滑即可转换成文字...

    原标题:微信中这个被取消的功能悄悄上线了,将语音上滑即可转换成文字 微信中有一个之前被取消的功能又悄悄上线了,你发现了吗?那么问题来了,是什么功能呢?就是之前在测试版中出现过的语音转文字功能啦~正式版 ...

  8. 利用python将长视频、长语音转换成文字教程 ,非常好用

    原本自己想弄一个语音转文本的,但是发现很多博客都说的不是自己想要的,原因有以下几点:1.因为百度接口支持的语音是pcm格式,而自己的是.mp3格式的文件. 2.百度只支持60s内的文件格式,而自己想要 ...

  9. 实用系列1 —— 视频中的语音转换成文字

    实用系列1 -- 视频中的语音转换成文字python版本 背景说明 疫情原因,家里的老师亲戚需要对着电脑上网课,晋升为十八线小主播- 备课的内容来源都是当地教育局的公开课,为了学习公开课的上课方法,只 ...

最新文章

  1. 86年后,终于有人完成「真人版」薛定谔的猫实验,量子纠缠了活体动物
  2. Android Thread interrupt 中断JAVA线程(转)
  3. java url json字符串_JAVA中带有JSON字符串的HTTP POST请求
  4. ArcGIS API for JavaScript 4.0(一)
  5. nvcc找不到的问题(Ubuntu16.04 CUDA 8.0)
  6. 计算机网络之网络层:10、IP组播、IGMP协议、组播路由选择协议
  7. Leetcode 第133场周赛解题报告
  8. LintCode_408 二进制求和
  9. 电子技术基础数字部分第六版_知识速递 | 数字电子技术基础知识要点
  10. 手把手教你使用腾讯的热修复框架-Tinker
  11. 【AI视野·今日CV 计算机视觉论文速览 第209期】Mon, 31 May 2021
  12. 黑客红客骇客红客蓝客飞客是什么?有什么区别?(学习资料)
  13. Excel 条件格式应用及原理
  14. k8s+containerd+kata-containers 安装
  15. pyqtgraph的plotItem的轴刻度设置/轴刻度值风格设置
  16. New Bing怼人、说谎、PUA,ChatGPT已经开始胡言乱语了
  17. shiro教程1(HelloWorld)
  18. 用canvas 绘制一个灰太狼
  19. 电阻色环查询器[原创]
  20. mysql开发二手书籍交易_基于PHP+MySQL二手书交易系统

热门文章

  1. TurboMail打造雀氏(中国)日用品邮件系统
  2. lxcfs容器隔离技术实现原理分析之loadavg、cpuonline
  3. akka actor父子监管的实现
  4. vuex页面数据丢失_解决 vuex 中的数据在页面刷新之后就丢失的问题
  5. 淘宝H5移动端解决方案
  6. HashMap、ConcurretnHashMap面试题详解,源码分析
  7. mysql数据库ACID实现原理
  8. 原子操作和互斥锁的区别
  9. Redis:Hot Key问题
  10. JAVA中的通用文件下载接口