怎样才算精通 Excel?(上)

怎样才算精通 Excel?(上)
文/靳伟(知乎)
本文系作者授权“清南”发布,如要转载请与作者本人联系。
怎样才算是精通Excel?
老衲多年前遭遇异缘,
获得Excel五轮真经一部, 其中Excel心法共有五层, 每层除了心法之外还有招式. 老衲对Excel虽然所知甚少,
但觉得只要苦练心法, 层层递进, 直达第五层,
应该就算是精通Excel了.
(不过根据老衲多年以来面试经验, 一般自称精通Excel的, 大多都是初入江湖的小朋友, 功力一般在一二层之间. 此外, Excel是数据处理工具, 用Excel打游戏或绘画者, 虽然可能是豪侠巨擘, 但我觉得不应该作为精通Excel这件事的参照系. )
-------------------一切有为法分割线-----------------------
Excel五轮心法:
总纲
章一. 基础应用/Short Cut
章二. 函数/公式
章三. 图表/图形
章四. 数据透视表
章五. VBA / VSTO
跋: Excel局限性和小技巧
-------------------三法印分割线-----------------------
总纲:
先贤有言,
三生万物. 可见万物皆数也. 雷蒙三圣雷奥兹云, 数理昭昭, 惟精惟一. Excel心法, 以纷繁之数始, 需去其杂芜糟粕,
截之以齐; 续而密经实纬, 攒之以方; 再而形诸图表, 文饰藻绘, 方可示人. 至于心法高处, 名为VBA, 千变万化,
言语不可尽其妙也.
下图就是雷奥兹(Ray
Ozzie), Excel大法开山祖师, 和比尔门,
鲍尔默并称雷蒙三圣.
http://pic4.zhimg.com/a4bac629e01b6100050d55f28c16286b_b.jpgExcel?(上)" TITLE="怎样才算精通
Excel操作上, 第一步是对数据进行清洗, 去除不合规格的脏数据, 将数据调整成整齐合理的格式. 然后添适宜的数据辅助列,
补充数据维度. 最后是将处理好的数据以美观的图/表形式向他人展示.
最高级的功能叫做VBA
VBA的使用非常灵活强大, 不是几句话能说清楚的。
Excel招式繁多, 先给各位施主一个直观印象. 一般止于二级菜单. 重点功能老衲用星号标记:
http://pic3.zhimg.com/33530731aad5dfbf92fcab256414284e_b.jpgExcel?(上)" TITLE="怎样才算精通
章一. 基础操作 / Shortcuts
基础操作中的入门法门是数据整理. 这个是最基本的柱础, 腰马合一, 力从地起. 但很不幸的, 大多号称精通Excel的少侠们尚未具备这个意识。
原始数据一般都长成这样。
http://pic4.zhimg.com/954f0f582c1e96ea14fa864c4c67730b_b.jpgExcel?(上)" TITLE="怎样才算精通
世间任何功夫都是由浅入深, 循序渐进, 数据整理就是其中最基本最重要的入门招式。不过入门招式,往往也意味着很辛苦,别无捷径,唯手熟心细尔。
数据整理之起式: 清洗
吾宗神秀大师有云:
身是菩提树,心如明镜台,时时勤拂拭,莫使有尘埃.
心需拂拭, 同理, 数需清洗. 使其平熨齐整, 利于后续使用。
清洗的对象,
简称脏数据. 一般有如下几种情况:
1. 同名异物: 例如公司里面有两个李明, 如果不加区别地导入数据并进行合并统计, 可能就会出问题。
2. 同物异名: 例如性别, 有的人写成男女, 有的人写成M/F, 有的人干脆写成0/1。
3. 单位错乱: 例如金额, 人民币和美元一旦混同, 那绝对是一场灾难
4. 规格不合: 例如身份证号为9527。
5. 格式混乱: 最典型的就是日期! 例如10/6/11, 根本说不清楚是11年10月6日, 还是11年6月10日, 抑或是10年6月11日, 因为美式日期, 英式日期, 中式日期各自都不相同! 老衲生平目睹过的日期惨案足足有12306桩那么多! 另外一种是分位符. 美利坚的分位符是"," 而欧罗巴诸国的分位符是"." 如果是一位叫Chateaubriand的美国同事发过来一个数字"123.456", 根本说不清楚这是一百挂零, 还是十万有余. 老衲生平目睹过的分位符惨案足足有1024桩那么多!
假使少侠天资过人, 心如明镜, 眼疾手快, 刷刷刷刷检出来"123.456"个脏数据, 怎么处理呢?
数据整理之承式: 规制
做数据之前, 先要和其他人协商好, 各个数据都是什么格式, 不同数据表之间的格式是否要统一, 之间是否有依赖关系. 如果数据不满足依赖关系如何处理。
例如先约定好, 性别一律写成"男/女". 如果写成M/F的, 那么M就当成男性, F就当成女性来处理(使用替换, 或者使用中间映射表). 写成Nan/Ny的, 直接当脏数据抛弃掉。
数据整理之转式: 分组
在数据预处理中, 分组是一个很重要的手段, 例如各位少侠要面对的是本公司的工资表, 想看看整体是否失衡, 可以将资历分为中低高三组(日企), 对应人员的工资进行汇总; 但具体资历分层的节点的把握, 则需要小心, 必要时还需要反复尝试. 例如可分成
a. 工作1年以下,
b. 工作1年-3年
c. 工作3年-5年
d. 工作5年以上
跑出来一看, wow, 公司是大学生创业基金支援的, 全部员工都是工作1年以下......
这个时候就得按更细粒度的月来进行划分了。
数据整理之合式: 聚类
聚类则更灵活, 例如最早登记报册的只有员工的姓名工号, 乱糟糟一大把, 业余活动组织不起来怎么办?
这个时候找IT要一下各人上班的时候的浏览网页, 从网页记录推算一下各人爱好, 然后按照爱好进行聚类, 变成篮球俱乐部, 羽毛球娱乐部, DOTA俱乐部.....这以后的工作就好开展了。
数据整理之起式: 清洗
吾宗神秀大师有云:
身是菩提树,心如明镜台,时时勤拂拭,莫使有尘埃.
心需拂拭, 同理, 数需清洗. 使其平熨齐整, 利于后续使用。
清洗的对象,
简称脏数据. 一般有如下几种情况:
1. 同名异物: 例如公司里面有两个李明, 如果不加区别地导入数据并进行合并统计, 可能就会出问题。
2. 同物异名: 例如性别, 有的人写成男女, 有的人写成M/F, 有的人干脆写成0/1。
3. 单位错乱: 例如金额, 人民币和美元一旦混同, 那绝对是一场灾难
4. 规格不合: 例如身份证号为9527。
5. 格式混乱: 最典型的就是日期! 例如10/6/11, 根本说不清楚是11年10月6日, 还是11年6月10日, 抑或是10年6月11日, 因为美式日期, 英式日期, 中式日期各自都不相同! 老衲生平目睹过的日期惨案足足有12306桩那么多! 另外一种是分位符. 美利坚的分位符是"," 而欧罗巴诸国的分位符是"." 如果是一位叫Chateaubriand的美国同事发过来一个数字"123.456", 根本说不清楚这是一百挂零, 还是十万有余. 老衲生平目睹过的分位符惨案足足有1024桩那么多!
假使少侠天资过人, 心如明镜, 眼疾手快, 刷刷刷刷检出来"123.456"个脏数据, 怎么处理呢?
数据整理之承式: 规制
做数据之前, 先要和其他人协商好, 各个数据都是什么格式, 不同数据表之间的格式是否要统一, 之间是否有依赖关系. 如果数据不满足依赖关系如何处理。
例如先约定好, 性别一律写成"男/女". 如果写成M/F的, 那么M就当成男性, F就当成女性来处理(使用替换, 或者使用中间映射表). 写成Nan/Ny的, 直接当脏数据抛弃掉。
数据整理之转式: 分组
在数据预处理中, 分组是一个很重要的手段, 例如各位少侠要面对的是本公司的工资表, 想看看整体是否失衡, 可以将资历分为中低高三组(日企), 对应人员的工资进行汇总; 但具体资历分层的节点的把握, 则需要小心, 必要时还需要反复尝试. 例如可分成
a.
工作1年以下,
b. 工作1年-3年
c. 工作3年-5年
d. 工作5年以上
跑出来一看, wow, 公司是大学生创业基金支援的, 全部员工都是工作1年以下......
这个时候就得按更细粒度的月来进行划分了.
数据整理之合式: 聚类
聚类则更灵活, 例如最早登记报册的只有员工的姓名工号, 乱糟糟一大把, 业余活动组织不起来怎么办?
这个时候找IT要一下各人上班的时候的浏览网页, 从网页记录推算一下各人爱好, 然后按照爱好进行聚类, 变成篮球俱乐部, 羽毛球娱乐部, DOTA俱乐部.....这以后的工作就好开展了。
...这以后的工作就好开展了。
上述四种,
强调意识, 不限于方法。
---------------------------------------------
老衲一生中, 对于Excel最喜欢的功能是表格格式, 不单单是因为美观整齐, 表格格式还集成了筛选, 排序, 甚至冻结窗格的功能, 叫表格格式这么平淡的名字, 若依老衲, 应该起名叫"般若波罗蜜多"格
http://pic3.zhimg.com/a009b53c116df76eb1a9396249a769f6_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic1.zhimg.com/3962edacebcca7c2e885912c89f2a114_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic2.zhimg.com/e320452dd1cdd966b34cb8158e84b7f5_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic3.zhimg.com/822a29a9281b118042335477c1c52daa_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic4.zhimg.com/ce7f3ad48a94fc5a97d3b6c402ff299f_b.jpgExcel?(上)" TITLE="怎样才算精通
接下来是"速填"式,
说实话, 这是个相对比较无聊的招式. 如果功力达到第二层, 使用公式函数,
取而代之乃是易如反掌.
不过既然至此, 老衲继续用上面的例子:
http://pic1.zhimg.com/14c3969867d94f5c00ed401cd55aba20_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic2.zhimg.com/cd74d2e5409972ff890dde5113120fc9_b.jpgExcel?(上)" TITLE="怎样才算精通
删除重复项实而不华,
特别推荐. 非常简单, 不赘述.
数据验证意正身正,
实用, 略繁琐, 多人协作时很推荐. 不赘述.
合并计算和"快速填充"有点相似,
如果功力递进到第四层, 使用数据透视表来取代之简直是易如反掌. 且便捷不止十倍.
先不详述.
模拟分析是堪称第一层的屠龙绝技,
看似厉害, 其实用处很小. 而且这个模拟分析和公式/函数关联极大,
留待第二章详述.
关系则是一种高不成低不就的招式.
不能说没用, 但它的功能呢, 其一可以使用辅助列取代, 其二可以使用vlookup取代, 其三可以使用数据库取代.
等说到数据透视表的时候再详述不迟.
中级法门是数据导入, 早期数据清洗什么的, 早在入库前就已经有人替你完成了, 便当之至:
http://pic2.zhimg.com/187e29116ea3333f8e533cf474368b81_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic3.zhimg.com/fe0903fae1c9435ac44260c1ee4123e2_b.jpgExcel?(上)" TITLE="怎样才算精通
能练到这一级,
少侠, 你功力已然不浅了.
想必SQL这种中等功夫你也有过粗练.
(没练过的看这里: SQL基础教程语句汇总 )
至于MDX这种小无相功,
功力也不在Excel五轮心经之下, 但修习全凭机缘,
老衲先不多讲了.
(好奇想练练的看这里: MDX的基本语法及概念 )
注意事项:
Excel初级法门中有一道奇毒,
名为"合并单元格", 想老衲数度往生极乐, 多缘于"合并单元格"之手. 作为原始数据, 尽量不要使用"合并单元格",
这个功能在后续处理数据的时候会带来大量的麻烦. 足以令人呕血三升. "合并单元格"一般是在最后一步,
确定数据不再修改的时候才可以使用.
另外和别的人协作处理数据的时候,
最好将处理好的原始数据和呈现数据一起提交给他人,
方便他人未来进一步修改.
至于哪些Shortcuts比较重要, 个人觉得是单元格位置的操作, 能避免在万千数据里频繁地拖动滚动条.
-------------------色想受行识分割线-----------------------
章二. 函数/公式
此二者非常容易混淆,
画张图比较容易说清楚:
http://pic1.zhimg.com/9b2ccae7116ca7d09086f0c5c9bfa838_b.jpgExcel?(上)" TITLE="怎样才算精通
只要在上方公式区输入的,
等号之后的内容, 都属于公式(绿色).
而函数(红色),
则是后面带一对括号的那些内容.
这一节的初级要点是熟悉Excel现有的函数库
http://pic2.zhimg.com/e77cdb609d7bd5c428236330a155c0f1_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic2.zhimg.com/319ccc4b6f8d63432f9533545421e189_b.jpgExcel?(上)" TITLE="怎样才算精通
数量不多, 经常去 [该网站因为政策法规不予展示] 上搜一下, 就知道用法了。
这个常用函数里面有一个人气堪比AKB48的, 那就是VLOOKUP (以及他的妹妹HLOOKUP)
VLOOKUP其实就是建立两个表的关联, 将B表的内容, 自动导入到A表:
http://pic1.zhimg.com/0fc7572ebfa784a724e912f4368a9aac_b.jpgExcel?(上)" TITLE="怎样才算精通
-----------------------断见取见----------------------
中级要点是如何将这么多函数做成一个复杂的公式。
复杂的公式, 核心就是函数的嵌套, 函数里面套函数, 招中有招, 直至八八六十四招. 如长江大河, 滔滔不绝. 函数的嵌套最多可以套64层(Excel 2013, 从前Excel 2003-2007为最多套7层). 函数的总字数长度可达恒河沙数 (老衲记不清具体数量的时候就暂时说恒河沙数)。
下图这个例子就是一个简单的多层嵌套, 主要是if逻辑上的嵌套。
http://pic1.zhimg.com/9b2ccae7116ca7d09086f0c5c9bfa838_b.jpgExcel?(上)" TITLE="怎样才算精通
不过心有五蕴,
人有三昧, 简言之就是地球人还没有进化成三体星人的形态, 嵌套的数量一多, 就会令人心毒盛起, 头晕目眩, 前列腺紧张,
根本看不清楚自己在写什么.
臣子恨, 何时雪?
怎么办? 中间列!
这回老衲举一个实用的例子, 个税计算:
正统的个税计算算法是这样的:
http://pic1.zhimg.com/d8024d5b420e86c8cf31b6a939e079bc_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic1.zhimg.com/df6a6eebde63394501cd680a45b7b688_b.jpgExcel?(上)" TITLE="怎样才算精通
把公式摘出来给各位欣赏一下:
=IF([月工资]-3500<=0,0,IF([月工资]-3500<=1500,([月工资]-3500)*0.03,IF([月工资]-3500<=4500,([月工资]-3500)*0.1-105,IF([月工资]-3500<=9000,([月工资]-3500)*0.2-555,IF([月工资]-3500<=35000,([月工资]-3500)*0.25-1005,IF([月工资]-3500<=55000,([月工资]-3500)*0.3-2755,IF([月工资]-3500<=80000,([月工资]-3500)*0.35-5505,IF([月工资]-3500>80000,([月工资]-3500)*0.45-13505,0))))))))
看到这个公式是不是感到口干舌燥, 头晕目眩, 前列腺紧张?
但如果使用中间列, 将公式拆解, 每个子部分做成一列, 就会立刻神清气爽:
http://pic1.zhimg.com/73ffdfa7b2414442d6249d49ad3ab5d8_b.jpgExcel?(上)" TITLE="怎样才算精通
最后将不需要的列隐藏起来, Mission complete~
然后该说说模拟运算了.
公式可以拖动, 其中参考的单元格在拖动的时候位置也会变动. 下图就是老衲正在拖数据的瞬间:
http://pic4.zhimg.com/dc93a774467fade40f589c1fea7a3fff_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic4.zhimg.com/5c03ba0ea1e4a9f536399362c1387a9f_b.jpgExcel?(上)" TITLE="怎样才算精通
例如不同利率, 不同年限下房贷的问题(这真是一个令人悲伤的例子, 施主请看破红尘吧):
http://pic2.zhimg.com/5632cd56f1c043048c529fb646b07d1d_b.jpgExcel?(上)" TITLE="怎样才算精通
模拟运算则可以一下子把这个6*6的结果全算出来.
操作很繁琐, 接下来的内容请点赞, 给施主增加信心:
先在左上角放一个本息合计公式:
http://pic4.zhimg.com/417216edfe7217e7615c4d352ad3e743_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic2.zhimg.com/572b6776e11e9d00b6b0e7afdad010bd_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic3.zhimg.com/d8817c6a9f6f8ee9ddc4b6dff9a6d5ae_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic3.zhimg.com/3fe13790dd66ed313dd8e464eba5bf9a_b.jpgExcel?(上)" TITLE="怎样才算精通
唉, 这果然是一个令人伤心的例子.
-------------------阿耨多罗三藐三菩提--------------------
高级要点是如何自定义一个函数.
刚才的例子, 为了计算日期对应的季度, 使用了一个漫长的公式. 现在看看这个, 一个函数就直接命中靶心, 赏心悦目~
http://pic3.zhimg.com/6a28b0b7ad048b6e4f2dfea2417ba256_b.jpgExcel?(上)" TITLE="怎样才算精通
没错,
这就是第五层心法乾坤大挪移第一级, 也就是VBA.
-------------------六道轮回分割线-----------------------
章三: 图/表
各位善男子善女人久等. 老衲今天为各位解说五轮真经的第三层, 又称无上正等正觉图形图表经. 如是我闻:
第一级: 表格
主要入口在这里:
http://pic3.zhimg.com/410ae34e566c8ab6d2f77c37b9ec2632_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic4.zhimg.com/57f43db7227d9affad30f9c535b0542f_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic1.zhimg.com/ec859a6e4e4fe715fffa1e31c567f7a4_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic3.zhimg.com/3b1cfde9d6c50faea5013fec8b2462de_b.jpgExcel?(上)" TITLE="怎样才算精通
首先是表名称. 子曰:“名不正,则言不顺; 言不顺,则事不成; 事不成, 则饮西北风". 达尔文在加拉帕戈斯群岛发现的奇行种生物程序猿, 对名称就非常关注, 程序猿对名称的关注主要是认为能方便后续使用. 更直观, 也不容易出错。
以上图出现过的公式距离
=VLOOKUP([对应级数],个税速算表,4,FALSE)
"个税速算表"就是一个表格的名字, 这样的话选择范围就不是一个类似于 =D30:F37 这样很难记忆的字符串, 而变成一个非常容易理解的对象. 而[对应级数]这种列名也一目了然, 如果不加命名, 就得换成=F22:F26, 还要考虑绝对地址和相对地址, 非常麻烦。
起个好名字就成功了一半哦~
切片器: 切片器诞生于2010年. 其实就是一种更美观的筛选。
http://pic4.zhimg.com/131ac29fcd82d1ff1b2a87016c57076b_b.jpgExcel?(上)" TITLE="怎样才算精通
此外再说一下表格的另外一个好处: 生成透视表特别方便.
如果是普通数据, 如果想要生成数据表, 必须全部选中:
http://pic1.zhimg.com/f7f1fb2737a2aef239ea5764cb30547c_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic1.zhimg.com/5c3e2b6772f7afef338284e8d13c6f2c_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic4.zhimg.com/2bf2573f8e4357d02f85a77905efc96f_b.jpgExcel?(上)" TITLE="怎样才算精通
-------------------阿赖耶识分割线-----------------------
图表经 第二级 图表
http://pic4.zhimg.com/191844c9fb891ed4a91c1bf07066fa07_b.jpgExcel?(上)" TITLE="怎样才算精通
图表共有十式, 常用者六, 不常用者四. 看起来招式并不多对吧?
http://pic1.zhimg.com/9f8dedfc8f734ffe84ad7547250ad0ec_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic4.zhimg.com/d0d23ada386d81948bc42a7b8a97c6d3_b.jpgExcel?(上)" TITLE="怎样才算精通
后面不太常用的四式可以稍微详细点说说.
-----------------------诸行无常分割线------------------------
散点图
散点图是展示两变量关系强弱的图形.
老衲举个蒸栗(正例). 一个国家的人均寿命和该国家的人均GDP有没有关系呢?
找了一份2014年的公开数据(不一定完全正确哦)
http://pic2.zhimg.com/f1df111b4bcbed919ff07065d6fbf1e5_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic2.zhimg.com/cab87cfebae2223c8a240a5845e43051_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic2.zhimg.com/18c30123cf97117bed498bae530a42f5_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic2.zhimg.com/658d1ade67d968a093bccf1c8aa52ee1_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic4.zhimg.com/e2d6572f570be3dd463de40efc1d1683_b.jpgExcel?(上)" TITLE="怎样才算精通
刚才的例子也表明, 真正控制图表的, 不在图上,
而是在属性格式里.
http://pic3.zhimg.com/0c0151d288dbe95159939d0cde284bfe_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic1.zhimg.com/5ed47846132ad0c16c4171ca020e385c_b.jpgExcel?(上)" TITLE="怎样才算精通
咦,
这个相关性就要差一些了. 有很多有钱的一点也不民主,
但民主的基本还算有钱.
散点图在老衲看来只是一个半成品,
它不能显示数据所属的"系列", 结果就是上面这一大片圆点,
你是无法直观识别每个点是属于谁的.
这个时候就必须配合第三方标签工具来完成:
例如 XY Chart Labeler
http://pic4.zhimg.com/814b41a291a8a12895fdab996599c2c7_b.jpgExcel?(上)" TITLE="怎样才算精通
顺道再说一句,
如果施主打算自己也写这么个XY Chart Labeler, 功力需要达到第五层心法的第二级, 也就是VSTO. 掌握了VSTO,
Excel世界的大门就算正式打开了,
理论上就没有什么能够阻止施主了.
泡泡图
这是散点图的一种变招, 散点图只能选取两列, 而泡泡图必须选取三列, 第三列就是用来计算泡泡面积的, 继续用上面的数据做例子, 我们不但要看看民主指数和人均GDP的关系, 还得看看这个国家的总体量, 省得被一群小国忽悠:
http://pic3.zhimg.com/f2928b69c089545a116f99d9dd4240e2_b.jpgExcel?(上)" TITLE="怎样才算精通
http://pic4.zhimg.com/d8084d9d21526ee011bba7257dcf7f87_b.jpgExcel?(上)" TITLE="怎样才算精通
结果如何, 各位不妨亲自试试^_^
来源邀稿:靳伟
http://www.changweibo.com/ueditor/php/upload/20150817/14397984996017.jpgExcel?(上)" />
http://www.zhihu.com/question/24277854/answer/45459174