回答有些长,为节约大家的时间,我选取了一个经典案例,辅以详细的说明(中文版Excel2013)放在开头,若没有时间看全部回答,可以详细看一下这个案例。
这个案例充分体现了“将Excel的元素融入图表”的技巧。以下商业杂志图表均利用了这一技巧。
下图是我参照上图制作的图表。
首先选中源数据,A到F列
绘制散点图,得到经典的Excel风格图表
将利润率设为次坐标:选中橙色那根线,右键-设置数据系列格式-次坐标轴
删去图表标题、图例,调节横坐标、两个纵坐标的上下限,删去纵网格线,删去两个纵坐标的轴线,得到这样一张图
下一步称为“锚定”,鼠标光标移动到下图所示的图表左上角的顶点处,按住Alt,随后按住鼠标进行拖动,发现这样调节图表的尺寸,限定于Excel的网格点。
四个角都这样进行调节,分别“锚定”于N7, V7, N15, V15
选中图表区域,右键-设置图表区域格式,在属性中选择“大小固定,位置随单元格而变”,这样,在调整Excel行距和列宽时,图表就不会随之而动。
在第4~6行输入内容,设置填充色
调节7~15行行距,使得Excel网格线与我们做的图表的横向网格线一一重叠;
调节O列和U列列宽,使得O列左侧网格线恰好经过图表横网格线的起点,U列右侧网格线也是一样的道理,如下图所示。
选中图表区,填充色改为无色,外轮廓也删去,这样图表就变成“透明”的了
随后对N7:V15这个区域的单元格进行填充色。
(选中这些单元格的方法:
先选中图表区域外的一个单元格,如M7,按键盘的→键,移动到N7,然后按住Shift,再按→键或↓键调节即可,选中后进行单元格填充。)
在Excel“视图”中取消勾选网格线
最后添加一些图例即可
相信你已体会到了如何将Excel的元素融入图表设计中。
======================原回答=========================
图表的重要性不言而喻,再好的数据,如果不能有效地呈现出来也是白费功夫。
我相信看完这个回答后,你再也不会将图做成这样。
商业杂志上的这些高端大气的图是用什么软件做出来的?
答案就是Excel。
滑珠图、子弹图、瀑布图……一切都可以用Excel最基本的操作搞定。
我会先介绍一些设计的核心理念和方法,然后列举16个“商务范”图表制作实例,包含详细的制作步骤,最后分享一些配色方案。
==================================================================
目录
一、商务图表制作核心理念和方法
二、“商务范”图表制作实例
三、配色方案
四、自学参考书目和资料
==================================================================
正文
一、商务图表制作核心理念和方法
(这一章节的笔记整理自刘万祥老师的博客
ExcelPro的图表博客)
1. 突破Excel的图表元素
不要仅用“图表”做图表,而是用“图表+所有Excel元素(如单元格,填充色,文本框)”去做图表。
(在我开头举的案例中有详尽的说明)
左上图,只有B4单元格是图表区域,标题利用的是B2;B3-B5填充浅色,"index"和"data"分别在B3、B5。
右上图,B2为图表序号,C2为图表标题,填深绿色,B3为副标题,图例放在C4,图表在C5,B2到C5填充淡色,B6、C6合并填写注释。
左上图,标题在C2-H2居中,图表在C3-H3,利用Excel单元格的数据表在C6-H8。
右上图,B2填红色装饰,标题和副标题分别在B2、B3,图表在D4-F4,数据来源在D5,标号2为矩形框,整个区域有边框。
2. 突破Excel的图表类型
左上图,先用所有数据做曲线图或柱形图,然后选中相应的序列,更改图表类型,有时还需要用到次坐标轴。
右上图,先做好面积图,然后将该数据序列再次加入图表,修改新序列的图表类型为曲线图,调粗线型。
3. 布局与细节
下图从上到下可以分为5个部分:主标题区、副标题区、图例图、绘图区、脚注区。
特点有:完整的图表要素;突出的标题区;从上到下的阅读顺序。
标题区非常突出,占到整个图表面积1/3以上,其中主标题用大号字和强烈对比效果,副标题提供详细信息。
整个图表外围高宽比例在2:1到1:1之间,图例一般在绘图区上部或融入绘图区里面
商业图表多选用无衬线类字体
图表和表格的数字中使用Arial字体、8~10磅大小,中文使用黑体
—————————————————————————————————————
二、“商务范”图表制作实例
(这一章节的16个案例均出自刘万祥老师的
Excel图表之道 (豆瓣),该书基于Excel2003)
最初回答中,这部分整理自我的笔记,基于英文版Excel2010。为了知友阅读方便,我以Excel 2013中文版操作了一遍,将操作步骤逐条改为了中文。
如果你使用的是其他版本,具体操作方法会不同(我的回答中以【】注出),但“【”前面的步骤说明和思路是没有问题的。
仪表盘、滑珠图、子弹图、瀑布图、动态图表我有自作的模板。有需要的请至
Excel templ_免费高速下载1. 日期坐标轴妙用
利率(y轴)随时间(x轴)的变化,我们希望得到下图所示的柱状图,横坐标的间隔按月份(3月、6月、12月、24月)分布。
原始数据与辅助列(A列为月份,B列为利率,C列是辅助列)
绘制方法
1) 选中A2:B5,做柱状图,发现应是横坐标的A列值也成了柱子
2) 删除系列1
方法1【选中图表 --> Excel标题栏图表工具 --> 设计 --> 选择数据 --> 系列1 --> 删除】
方法2【直接点击蓝色柱子 --> 按Delete键删除】
3) 将横坐标转化为我们希望的A列的值
【选中图表 --> Excel标题栏图表工具 --> 设计 --> 选择数据 --> 水平(分类)轴标签 编辑 --> 选择区域A2:A5】
4) 将横坐标转化为日期坐标轴 【双击横坐标 -->如下左图所示选择“日期坐标轴”】
得到下右图
5) 删去横坐标【选中横坐标 --> 按Delete键删除】
6) 将辅助列添加进去【选中辅助列C2:C5 --> 复制 --> 选中图表 --> 粘贴】
蓝色的“系列2”就是我们的辅助序列,因为值为0,所以看不到
7) 将蓝色“系列2”转化为折线图
【选中图表 --> Excel标题栏图表工具 --> 格式 --> 最左侧下拉菜单选择最后一项“系列2” --> Excel标题栏图表工具 --> 设计 --> 更改图表类型 --> 如下图所示将蓝色系列1的类型改为折线图】
得到
8) 让蓝色折线图的数据标签显示出来 【选中蓝色折线 --> 右击鼠标 --> 下图所示勾选数据标签“下方”】
9) 隐藏蓝色折线 【选中蓝色折线 --> 右击鼠标 --> 轮廓选择“无轮廓”】
得到
10) 逐个修改横坐标 【点击选中横坐标,发现四个都选中了(下左图所示) --> 再点击第一个0,将其选中(下右图所示) --> 鼠标点击公式输入栏,输入“=”,鼠标点击A2单元格 -->回车】依次修改即可
注意:在选中第一个0后,不要直接输入“=”,而是要在公式输入栏里输入
**点评:该案例妙在利用辅助列,做出了柱状图的坐标值。当然,也有万能的办法,即不用辅助列,在完成5)之后,添加文本框作为坐标值。用本例所示的方法好处在于,源数据3、6、12、24修改之后,柱子、坐标值都会随之而动。
2. 堆积柱形图妙用
效果如图,看似是簇状和堆积柱形图合用,实际呢?
一步即可,只需在源数据上下些功夫
【选中下图所示B9:E20单元格 --> 绘制堆积柱形图】
**点评:利用错行和空行,奇妙无穷。
3. 漏斗图- 利用辅助列占位
效果如图,形似漏斗。
原始数据 (指标需排序好,从大大小)
添加辅助列 【C3单元格公式=($D$3-D3)/2,然后拉至C8】
绘制方法
1) 选中B3:D8,绘制堆积条形图
2) 把漏斗倒过来,即反转纵坐标 【双击纵坐标 --> 勾选“逆序类别”】
3) 将绿色系列1隐去【选中绿色条 --> 右键 --> 填充 --> 无填充颜色】
**点评:辅助列永远是好帮手。
4. 自定义Y 轴刻度间距
以股价随时间变化为例,重要的是涨跌幅度,且幅度很大,这里我们采用自定义Y轴间距,并以常用的对数坐标为例。
最终效果图
原始数据
通过观测原始数据最小值和最大值,我们希望以20、30、50、100、400、600为刻度作为纵坐标,
将数据处理如下
绘制方法
1)选中C2:C12 绘制折线图
2) 将G2:G7加入到图表中 【选中辅助列G2:G7 --> 复制 --> 选中图表 --> 粘贴】
3) 将新加入的蓝色折线改为散点图
【点击蓝色折线 --> Excel标题栏图表工具 --> 设计 --> 更改图表类型 --> 如下图所示将蓝色系列2的改为“带直线和数据标记的散点图”】
得到
4) 设置纵轴下限为1 【双击纵轴 --> 在坐标轴选项里将最小值调节为1】
5) 删去纵坐标轴,删去水平网格线;
6) 设置坐标轴在刻度线上【双击横坐标轴 --> 如下左图所示勾选“在刻度线上”】
得到右下图
7) 将蓝色折线的横坐标设置为E2:E7【点击蓝色折线 --> Excel标题栏图表工具 --> 设计 --> 选择数据 --> 如左下图所示选择“系列2” --> 点击“编辑” --> 如右下图所示,X轴系列值选为E2:E7 --> 确定】
得到
8) 让蓝色数据点的数据值显示出来 【点击蓝色直线 --> 右侧选择数据标签-左】
缩小一下绘图区
9) 添加误差线 【点击蓝色直线 --> 右侧选择误差线-更多选项】
此时,横纵误差线都出来了
10) 删除纵误差线 【点击下左图所示的位置选中纵误差线 --> 按Delete键删除】
得到又下图
11) 调节横误差线参数 【双击横误差线 --> 在右侧弹窗里勾选“正偏差”,“固定值”改为10】
缩小一下绘图区,得到右下图
12) 隐藏蓝色线 【右键蓝色直线 --> 选择无填充,无轮廓】
13) 调节误差线的颜色、线形 【双击误差线 --> 右侧弹窗中修改(下左图所示)】
得到右下图
13) 与本回答的案例1类似,逐个修改纵坐标数据值【以2.78这个数据为例:选中纵坐标(6个数据一下子都选中了) --> 再点击2.78这个数据(如下图所示,只有2.78选中了) --> 鼠标点击公式输入栏,输入“=”,然后鼠标点击600(F7单元格) --> 回车】
依次逐个修改,大功告成。
**点评:本例极其巧妙地借助误差线,实现横向网格线。误差线在后续案例中会多次提及。当然,有人会说完全可以不用误差线,插入几个直线拖动就好了。但是,本例方法的好处是,修改20、50、400等坐标值,网格线也会跟着移动。
5. 含加粗边缘 面积图
最终效果与源数据
绘制方法
1) 选中数据做折线图
2) 将源数据再次添加进图表中【选中源数据 --> 复制 --> 选中图表 --> 粘贴】
发现系列2覆盖住了系列1
3) 将系列2改为面积图【点击选中蓝色折线 --> Excel标题栏图表工具 --> 设计 --> 更改图表类型 --> 如下左图所示将改为面积图】
得到下右图
4) 调节坐标轴位置 【双击横坐标轴 --> 右侧弹窗中勾选“在刻度线上”】
得到右下图
调节颜色就好了
下面这个图是我做的~
**点评:两种或多种图表类型合用的方法一定要掌握,活学活用。
6. 图表覆盖妙用 - 横网格线覆盖于图表 之上
最终效果
绘制方法
以柱状图为例 (其他类型的图都一样)
源数据
1) 绘制柱形图
2) 将其锚定 【鼠标光标移动到下图所示的图表左上角的顶点处,按住Alt,随后按住鼠标进行拖动,发现这样调节图表的尺寸,限定于Excel的网格点。】
如下图所示,将四个角分别锚定于D2,G2,D9, G9
3) 复制图表【选中图表 --> 复制 --> 鼠标点击任意一个单元格 --> 粘贴】
得到左右两个一模一样的图表
4) 对右边的图表
对左边的图表
5) 按住Alt移动第二张图覆盖于第一张图之上。一定要按住Alt进行拖动!!!!!!
6) 自行设计网格线颜色即可
**点评:此案例巧妙地利用了图表覆盖。
7. 为Pie 图加背景图片
最终效果
原始数据
绘制方法
1) 先用A1:A5做饼图,为系列1
2) 选中源数据中任意一个值 (如A3) 添加到图表中 【选中A3 --> 复制 --> 选中图表 --> 粘贴】
为系列2
此时无法看到也无法选择系列2,看到的仍然是上图的样子
3) 将系列1改为次坐标轴【选中图表 --> Excel标题栏图表工具 --> 设计 --> 更改图表类型 --> 将系列1改为次坐标轴(下图所示)】
看到的仍然是上图的样子
4) 将系列设为无填充【右击大饼 --> 设置填充色为无填充】
此时看到的正是系列2,如下图
5) 为系列2加背景图片 【双击图表,右侧出现弹窗 -->Excel标题栏图表工具 --> 格式 --> 左侧下拉菜单选择“系列2” --> 右侧弹窗中选择插入图片 】
**点评:如果不用本案例的方法,直接给饼图加背景图,得到的是...
8. 仪表盘
最终效果
在某个单元格中输入数值(0-100),红色的指针会随之而动
该案例不是很切题,应用也很局限,所以删去了操作步骤。该例成品可至前面提到的网盘地址中下载。若有兴趣研究详细做法,请私信。
9. 多数量级的几组数据同时比较
最终效果
原始数据
处理数据
F3单元格 =B3/MAX($B$3:$B$8)*0.8,拉至F8
G3单元格 =1-F3,拉至G8
H3单元格 =C3/MAX($C$3:$C$8)*0.8,拉至H8
I3单元格 =1-H3,拉至I8
J3单元格 =D3/MAX($D$3:$D$8)*0.8,拉至J8
绘制方法
1) F3:J8作堆积条形图,删去网格线、横坐标轴
2) 纵坐标逆序【双击纵坐标 --> 左侧弹窗中勾选“逆序类别”】
3) 把占位条设为白色 【在需要调成白色的条上右键 --> 填充色设为无色】
添加三个文本框,得到
**点评:0.8是可调节的,根据需要而定,可以是0.7,也可以是0.9
这个案例在2014年终汇报中用到了!特别适合不同数量级的数据对比。
10. 手风琴式折叠bar图
最终效果(突出前三个和后三个数据,中间的数据弱化显示)
原始数据 (假设前后各有三个数据需要强调)
作图数据注意:
如下图所示
绘制方法
1) 以第一列做堆积条形图(上图第一列黑色框内的数据,E2:E10)
2) 将第二列数据添加到图表中【选中上上图中第二列黑色框内的数据(F2:F17) --> 复制 --> 选中图表 --> 粘贴】
3) 将蓝色条形图改为次坐标轴 【单击选中蓝色条 --> Excel标题栏图表工具 --> 设计 --> 更改图表类型 --> 将系列2的“次坐标轴”勾选】
得到
4) 将上下两个横坐标轴的上限值改为一致,这里改为100【双击横坐标轴 --> 在右侧弹窗中调节最大值为100】
5) 让次纵坐标轴显示出来【点击图表区 --> 下图所示勾选次要纵轴】
此时四根轴都出来了(上左图所示)
6) 将左右两根纵轴反转【双击纵轴 --> 右侧弹窗中勾选“逆序系列” --> 另一根纵轴一样处理】
得到右下图
7) 删去下面和右边的两根轴,然后可设置填充色等
**点评:你可以尝试一下其他情况,如前后各突出5个,或前突出2两个,后突出4个。其实利用的都是空格占位。
11. Water Fall 瀑布图
最终效果
原始数据
作图数据
D3 =B3
D4 =SUM($B$3:B4) ,拉至D9
E3 =B3
E10 =B10
F4 =IF(B4<0,D4,D3) ,拉至F9
G4 =IF(B4>=0,B4,0) , 拉至G9
H4 =IF(B4>=0,0,ABS(B4)) , 拉至H9
作图方法
1) 选中蓝色框内的值 (E3: H10),做堆积柱形图
2) 蓝色柱形图设置为无色【右击蓝色柱 --> 无填充色】
再稍作调节
12. 不等宽柱形图
最终效果1 - 方法1制得
(高度反映ARPU值,宽度反映用户规模,四个柱子依次是四种产品)
原始数据
最终效果2 - 方法2制得
绘制方法1 - 分组细分法 - 柱形图
将数据处理如下 [每个ARPU数据重复次数为“用户规模”(柱子宽度)数]
1) 选中B7:E26,做柱形图,删去无关元素
2) 选中任意一根柱子,在右侧“设置数据系列格式”中将“系列重叠”改为100%,将“分类间距”改为0%
就得到了我们想要的图表
绘制方法2- 时间刻度法 - 面积图
原始数据依旧
作图数据要花一些功夫
首先看A列,A1的内容是0,A2到A4是“产品1”的“用户规模”,为8,A5到A7是“产品1”和“产品2”的“用户规模”之和8+4=12,同理A8到A10是14,而最后一个单元格A11是8+4+2+6=20
注意,如果是5个产品,8个产品呢?A1永远是0,A1下面每一组依旧是3个,而最后一个单元格仍是所有用户规模之和
B列到E列就不用多说了,两两分别是ARPU值
1) 选中A1:E11,做面积图,删去无用的信息,但注意要留着横坐标
2) 将横轴改为A1:A11 【选中图表 --> Excel标题栏 图表工具 --> 设计 -- > 选择数据 --> 单击下图所示的水平轴标签 编辑按钮 --> 在弹窗中选择为A1:A11 --> 确定】
3) 删去多余图形,如下图所示,在红圈位置处单击,按Delete键删除
得到
4) 将横轴改为时间刻度 【选中横坐标 - 右侧设置坐标轴格式中选为日期坐标轴】
然后删去横坐标,得到
5) 依次更改这4个柱子的轮廓为白色,并调节轮廓线宽
得到最终的图表
*点评:方法1简单易行,但方法2做出来的图更美观。两者都是巧妙地构造作图数据,值得一品。
13. 滑珠图
最终效果 (右图是我仿照原图画的)
蓝色奥巴马支持率,红色麦凯恩支持率。纵坐标为不同人群
两种滑珠为散点图,横梁为条形图
绘制方法
数据(左下) E列为散点图Y轴数据
1)选中A2:A10和D2:D10,作簇状条形图,并将纵轴逆序排列,将横坐标最大值定为100,得到右下图
2) 选中B2:B10,复制,粘贴入图表,然后将这个新系列改为改为散点图(左下)
将红色散点图的横坐标改为B2:B10,纵坐标改E2:E10,得到右下图
3) 用同样的方法处理C2:C10
4) 调节柱形图、散点图的颜色、填充等,完工。
*点评:乍一看摸不着头脑的图,其实就是条形图和散点图的巧妙叠加。我的工作中就用到了这一案例,纵坐标是10个人,而散点是每个人的两项指标(0~100),真是形象而明了。本例用到的步骤在之前均多次使用,所以没有详细展开。
14. 动态图表1
B3单元格 =INDEX(B8:B13,$B$5) 横向拉到N3
(这样当在右下角的List Box里选择时,B5单元格灰显示选择结果,B3:N3就会跟着显示选择结果对应各月的数值)
以B3:N3作图即可
辅助阅读:List box是怎么出来的?
【也可不用List box,直接在B5里输入数值(1~5)就好】
List box的调出方法:
File-Options-Customize Ribbon-右边框内勾选Developer 这样面板就有Developer栏,单击Developer-Controls-Insert-第一排第五个 List Box 添加到工作表中
右击该List Box, Format Control-Input range $B$8:$B$13
Cell link $B$5
B5就会显示在List Box里选择了第几个数值
15. 动态图表2
以下图为例。B5设置数据有效性只可选择07年、08年或09年
B7单元格 =CHOOSE(IF(B5="08年",2,IF(B5="07年",1,3)),1,2,3)
B8单元格 =INDEX(B1:B3,$B$7) 拉到F8
先以B1:F3作Line图,选择B8:F8 Ctrl+C Ctrl+V到图表中即可
16. Bullet 图- 竖直
最终效果 与原始数据
绘制方法
1) 以A2:F6做堆积柱形图(左下),转换横纵坐标(右下)
2) 更改最下蓝色柱子(实际)为次坐标轴并适当将其变窄,得到左下图
3) 更改最下红色柱子(目标)为次坐标轴,并更改为折线图,得到右下图
去掉红色连线并将方块改为红短线
然后设置其他颜色等,大功告成
*点评: 子弹图看起来蛮高端的,但若不辅以说明,别人还是很难看懂的,所以子弹图要慎用。同样,每步操作方法在前面都多次详细说明,在这就写的简洁一点。
—————————————————————————————————————
三、配色方案
配色主题设置方法 (以Excel2013做示范,其他版本大同小异)
Step1. <页面布局 - 颜色- 自定义颜色>
Step2. 总共12个颜色可自定义,单击任意一个颜色下拉菜单,选择“其他颜色”,输入RGB值,全部完后命名,保存即可。这样,在<页面布局 - 颜色>下拉菜单中就可以选择自定义的主题。
以下每个配色方案都提供了这12种颜色的RGB值
1. Nordri设计公司分享的配色方案
Nordri 商业演示设计每种配色方案的12个着色的RGB值下载请移步
Nordri合集_免费高速下载1-碧海蓝天
2-达芬奇的左手
3-老男孩也有春天
4-路人甲的秘密
5-旅人的脚步
6-那拉提草原的天空
7-香柠青草
8-热季风
9-软件人生
10-商务素雅
11-商务现代
12-数据时代
13-素食主义
14-岁月经典红
15-夏日嬷嬷茶
16-邮递员的假期
17-毡房里的夏天夏天
2. ExcelPro分享的方案
四、自学参考书目和资料
♋♋♋♋声明♋♋♋♋
收藏≠学会,点赞=附魔50%学习经验加成
(有点不清晰...当初偷懒直接把图片截到印象笔记的...)
如何将无规律的一列上下翻转?
——创建一列,标上1、2、3……,下拉,以该列为主排序,改升序为降序,扩展目标列,得到结果,之后可以删掉创建的辅助排序列
如何将目标区域的每一行数据下面插入一条空行?
——创建一列,标上1、2、3……,下拉,下面空白行标上1.5、2.5、3.5……下拉,同理排序~Tada~
当然,也有柱状图:
默认配色就很不错,而且演示的时候点击时会直接按你点击的类型帮你显示对应的数据(例如上面的堆积柱状图)
1. 在线Web抓取:不需要学会某个编程语言也能爬虫+分析一些简单数据,随便举个例子输入新浪股票的网址,它自动帮忙抓取到N个表,我随便打开一个:
2. 连接数据库:不需要学会SQL语法也能查询+分析数据库内的数据,这个就不方便截图了...
打比方说,常见的 select * from ... where xxx = xxx and xxx>xxx group by xxx这种sql语法查询的内容,可以在Power Query中直接通过点击、筛选等操作就列出来
常见的数据可视化工具不再赘述,在知乎里面一搜一大把,我的经验不算多,但是单独加这个分类是想强调数据可视化的重要性,以及我对数据可视化的理解,希望大家结合下面的内容再去看其它答案的数据可视化工具:
1. 要『正确』地理解数据可视化,一切不以帮助理解数据为目的的可视化都是耍流氓,例如
2. 我认为的『正确』的数据可视化是:
3. 一些个人技巧
1. 关于Excel的学习与职业化
Excel是一个很庞大很完整的“系统”,各行各业用处定然不尽相同,我也只是抛砖引玉,说说自己在个人工作上的经验,而Excel是一个非常适合零散学习的零门槛工具,自我提高是一个可以循序渐进的过程,在职业上,除了极个别行业,Excel的定位永远是工具,而不是职业,所以没必要也不推荐在非相关行业做极其全面的学习。个人推荐日常的学习方法是——基础操作找百度,公式函数找F1帮助,偏难的具体需求找excelhome,重点永远是笔记。
2. 关于Python
就像上面说的,Excel是一个零门槛工具,它的定位是处理数据,而其实在学习及工作中,最难的一步其实是获取数据和清洗数据,虽然前文提到的Power Query和部分公式能分别做到简单的获取和清晰,但更多场景下还是不适用的,这里我还是推荐Python作为一个可职业化或深入化学习的方向。拿我个人经验举例:
而这些,仅仅是多年前在Coursera上的Python入门课上学的微薄成果就能做到的,更不提Python除了爬虫之外,更多还可用于批处理、Excel处理、可视化甚至APP开发等各个方向可以进一步职业化。
✎✎✎✎✎✎✎✎✎ 出题的分割线必须华丽✎✎✎✎✎✎✎✎✎
出个题——
【A列】
a
a
b
b
b
c
c
d
d
d
e
……
……
每行仅一个数据,无法准确知道有多少个a,多少个b,多少个c……
请【仅用一个公式】统计出——【A列中不同单元格的个数】,比如a、b、c、d,算4个
请注意,只允许公式,其他操作均不允许,因为这个题不是为了结果,而是考excel逻辑的...
♋♋♋♋♋♋♋
日志
2014/01/19 V1.0 初稿
2014/01/30 V1.1 补充部分图片,新增技巧篇
2014/02/06 V1.2 梳理答案结构,补充部分非硬货
2014/12/09 V1.3 增加插件篇,公式篇新增部分
2017/03/22 V1.4 增加数据可视化篇
2020/08/18 V1.5 增加学习&职业篇
♋♋♋♋♋♋♋
【超多图预警】【欢迎关注我的微信公众号:XL_Excel或扫描文中二维码】
-----------------把后记复制到前面来-----------------------
1)多多使用帮助菜单 F1键;但是帮助菜单并不是全部,它只给出了一个功能的一般用法,特殊的用法,或者说是奇淫技巧还需自己发现;
2)要保持良好的操作习惯。其中数据格式要规范,这样可以避免时间上的浪费与不准确性;要时常保存,ctrl+s,word中也需要如此,这样可以防止电脑bug与误关闭导致的文件丢失;
3)画图配色字体要讲究美感,推荐这几个答案。Computer - 收藏夹(我的收藏夹。。- - )
如何制作图表非常精美的 Excel 文档? - Simon阿文的回答
个人推荐微软雅黑和Arial
Excel画图,推荐《Excel图表之道》一书;
4)尽量能记住快捷键就记住,虽然不是必须的,但是能快一点是一点;ALT键激活选项卡是神技,必须掌握,用的熟练之后就能给了眼花缭乱的感觉了,你懂的。
5)要认识英文单词,大多数函数都是就是英文单词,如MAX,MIN,COUNT,YEAR等等。。。认识了也就知道怎么用了。另外,每一个函数要看它的参数部分。
6)Excel博大精深,功能奇多,祝大家玩的愉快。
---------------------------------------------------------------
本回答提纲:
注意:本回答操作以Excel2013为准。
利益不相关:诚心推荐这一免费的excel网课:
[王佩丰]Excel 2010系列视频教程在线观看(共24个课时)_51CTO学院(本答案中提到的大部分例子与数据均来自这一网课); 以及《Excel图表之道》一书,
Excel图表之道 (豆瓣)。
--------------------广告一则2015年8月17日------------------------
这是我个人的微信公众号,主要更新Excel的内容,其他方面内容暂未考虑。目前已有两篇关于函数的文章:
【多图】【函数系列】我左看右看,上看下看,就是找不到。。。(VLOOKUP)
【多图】【函数系列】自从使用了望远镜,妈妈再也不用担心我找不到女朋友了,哈哈。。。额,不是女朋友、是数据。。。(INDEX & MATCH)
欢迎大家关注,广告完。
--------------------正文------------------------
一,不同类型数据的区分
① 数值型数据(默认为右对齐)
能用任何符号连接,单元格里的数值最大位数为11位,(正好是电话号码的位数),12位及以上位数的数字就会自动变为科学计数法(如身份证号码);为了解决类似身份证号码无法显示的问题,采用将数值型数据转化为文本型数据的方法,在输入时,在最前面输入英文状态下的单引号。
文本型数据(默认为左对齐)
只能用“&”连接,文本型数字能用加减乘除连接。
例题:连接aaa与bbb;
方法一:=“aaa”&“bbb”
方法二:第一个单元格输入aaa,第二个单元格输入bbb,用两个单元格计算。
注意:数值与数字的含义是不同的;数值是由负数、零或正数组成的数据。数字可以分为文本型数字和数值型数字两种形式。
② 日期型数据(默认为右对齐),是数值型数据的一种特殊表现形式
1993-5-6;1993/5/6
日期可以加减,但不能乘除。两个日期相减,代表过了多少天。
快捷键:当前日期: CTRL+ ;当前时间 CTRL+ SHIFT+;
在Excel中默认使用1900年日期系统,即以1900年1月1日为起始的序列值。通俗来讲,1900年1月1日是计算机承认的最早时间,对应着数字1;右键设置单元格格式就可以把日期型变为数值型。
③ 逻辑型:TRUE,FALSE,一般用于返回某个表达式是真是假。
如在单元格中输入 =5>6 则返回的是FALSE;
而输入 =6>5 则返回TRUE。式子前面的等号代表运算,在后面提及的函数中,该等号是不可或缺的。
二,设置单元格格式
1, 改变数据的显示格式
1) 改变显示格式:选中单元格—右键—设置单元格格式:
常规格式,数值格式,货币格式,会计专用格式,日期格式,时间格式,百分比格式,分数格式,科学记数格式,文本格式,特殊格式,自定义格式(更改“千分位”和“小数”的分隔符)
快捷键:CTRL + 1
2) 自定义数据的显示格式:
① #:显示所在位置的非零数字。不显示前导零以及小数点后面无意义的零。
② 0:同上,但是显示无意义的零。如果数字的位数少于格式符“0”的个数,则显示无效的零。
③ ?:小数或分数的对齐。(在小数点两边添加无效的零)
④ 千位分隔符:末尾逗号:千单位;末尾双逗号:百万单位
⑤ 字符串:双引号
⑥ 0*字符:数字格式符后用星号,可使星号之后的字符重复整个列宽。
⑦ 颜色:蓝色、黄色、红色、绿色……
2,利用设置单元格格式对表格修饰,表头斜线怎么做:
先设置单元格格式,加入斜线。
把项目和订购日期放在两行,两行之间用Alt + enter 强制换行
先对单元格设置左对齐,将订购日期放在最左侧;然后在项目前加几个空格。
3,如何解决这一问题:txt文档数据导入excel中时,全在A列:使用数据选项卡下的分列工具
注:半角逗号即为英文状态下的逗号。
就可以得到这样的结果:
分列功能巧应用:
将文本格式的2007/3/14改为数字格式的2007/3/14,然后设置单元格格式变为2007年3月14日。
4,条件格式--与数据透视表和函数功能先结合
注意:复杂举例部分可能超出本题要求。
1)条件格式:对于选中的区域,按照指定的条件,设置格式(底色或字体及颜色等)。
2)操作要点:先选中要设置格式的区域,再进行条件格式设置。
前五个可以直接点的项就是新建格式规则对话框的前五个内容的反映。
例1:简单举例:将语文成绩不及格的标为红色,加粗;将90分以上(不包括90分)的标为绿色背景。
做法:选中成绩数据。
结果:
例2:数据透视表里面运用条件格式
数据条
插入选项卡中的切片器:
分点不同类别,就可以看到不同产品类别的图。(如果想得到每一个产品类别,放在不同工作表中,则可以在筛选字段中插入产品类别,“显示报表筛选页”)
例3:多重条件
如:
0-1000000 红色背景
1000000-2000000 蓝色背景
2000000以上 黄色背景
可以叠加设置条件格式,只要各个条件之间不会有逻辑问题即可。条件之间是会覆盖的,按正确顺序标记才会得到正确的结果。先标记<2000000的,再标记<1000000的。(后做的会覆盖先做的)
例4:把错误值字体改为白色,相当于隐藏了这些错误值。
例5:在条件格式中写公式--涉及相对引用、混合引用;其他各种类型的函数,大家可以按F1查看脱机帮助
例5-1:将数量大于100的项目日期设置背景填充
选中订购日期数据(不包括标题行),在条件格式中输入公式:=D2>100;即当D2(就是数量列)大于100时,将日期填充背景颜色。
例5-2:将数量大于100的项目整行填充背景颜色(原始数据同例5-1)
选中表格中所有数据(不包括标题行),在条件格式中输入公式: =$D2>100(与例5-1不同);
若沿用例5-1中的公式,则会出现如下结果:
B2单元格有填充色时因为:B2单元格对应的条件是E2>100,显然如此。因此出错。
例5-3:将周末整行填充背景颜色
公式为:=OR(WEEKDAY($A2,2)=6,WEEKDAY($A2,2)=7)
例5-4:标记未来15天过生日的员工姓名 (2015年2月28日为准)
第四列公式:
=IF((DATE(YEAR(TODAY()),MONTH(C2),DAY(C2))-TODAY())<0,DATE(YEAR(TODAY())+1,MONTH(C2),DAY(C2))-TODAY(),DATE(YEAR(TODAY()),MONTH(C2),DAY(C2))-TODAY())
第五列公式:
=D2<=15
条件格式中的公式:
=IF((DATE(YEAR(TODAY()),MONTH(C2),DAY(C2))-TODAY())<0,DATE(YEAR(TODAY())+1,MONTH(C2),DAY(C2))-TODAY(),DATE(YEAR(TODAY()),MONTH(C2),DAY(C2))-TODAY())<=15
三,查找和替换、定位、选择对象
功能所在位置:
快捷键:查找 CTRL + F
替换 CTRL + H
定位(转到) CTRL + G
这三个功能的意思我用以下几个例子来解释一下:
1,要在几千个人名查找张三这个人(假设每个人的名字都不一样),用眼镜一个一个看着找那就该天亮了。。。这时就需要利用查找功能;
2,替换功能:
要将表格中的A替换为“北京市”,
得到这样的结果:
但是如果要将表格中的“北京”替换为“北京市”:
直接利用上面的做法会出现错误,结果会是这样:
错误之处在于:将“北京市”中的“北京”二字替换为“北京市”,则结果变成“北京市市”。
解决方法:在“查找和替换”对话框的“选项”之中,勾选“单元格匹配”。单元格匹配意味着整个单元格内容与查找的内容一样。
替换中的格式替换:若单元格有很多种格式,识别出单元格中的一种格式即可
查找和替换中的通配符使用: ?(英文下问号)代表一个字;*(英文下星号)代表任意字数;~(英文下波浪线)后加通配符,则查找通配符本身,不将其作为通配符使用。
在excel中通配符的使用没有word中那么复杂,给自己打一个小广告,有关word中通配符的使用,请移步:你因为个人兴趣深入探究了哪些事物,取得了怎样的成果? - 知乎用户的回答
3,定位功能
里面的每一个定位条件都非常厉害而且神奇,在此处举几个小例子。
1)定位批注:上级审批了excel文档时,可能找不到批注在哪里,直接定位就好了
2)定位公式,常量:把常量定位出来之后,告诉其他人哪些数据是可以更改的,哪些是不应该更改的。因为数据直接存在勾稽关系。如这样一张表格:
红色的数字表示是可以更改的,因为该表是每批一份,而每一批的单价不尽相同。其他数字是公式,是毋须更改的。
3)填充解除单元格合并后遗留的空白单元格
如下图所示,有时候,我们会遇到这样的情况:
我们拿到的表如上图所示。
但是为了统计每一个地区的数据情况,需要将合并单元格拆开,但是此时就只剩一个区域数据了。
此时需要将多出来的空白单元格填充,则这样做:
① 选中表格区域;
② 定位到这些空格;
③ 插入函数,值=上方单元格;利用键盘上键;(函数与公式的内容,后面会详细解释)
④ CTRL+ENTER大面积录入。
效果如下,这样就保证了统计的准确性:
这个例子,数据比较少,当然可以自己一个一个下拉,一个一个填充,但是请想象一下如果有几千条,上万条呢?
这大大提高了劳动生存率啊,分分钟不用再加班,有没有。。。(说得好像你上过班一样 = = )
4)删除excel中的图片:有时候从网上直接粘贴内容至excel中会有小图片进入到excel中,既难以发现,久而久之还会使得excel文件变得很大,因此需要将这些图片删除。
定位-对象;“查找和选择”中的“选择对象”,此时选不中单元格。
四,选择性粘贴
1,选择性粘贴为数值:将一个工作簿中的公式结果粘贴到其他工作簿中可能会出现这样的情况:
或者出现错误提示;
此时:为了保持数据准确性,应该利用选择性粘贴:
或这样操作:
2)将文本型数据转化为数值型数据;选择性粘贴乘以1
注意:选择性粘贴的运算处,有加减乘除运算,都很有用,大家自己开发。
五,排序功能巧用举例
基础排序功能不再赘述,注意点:如果数据表多列,不要选中某一列进行排序操作,这样会更改原始数据,造成错误。正确做法是:选中区域中任意单元格即可。
巧用举例:
利用排序功能制作工资条:(也可以使用录制宏,这一点会在最后一部分略作介绍)
利用辅助数列排序
此例的拓展应用:给你两列数据,要求两列数据穿插排成一列数据(即左一个,右一个)
也可利用排序方法,先把两列数据粘贴成一列。然后前半部分1,2,3,4辅助;后半部分1.5,2.5,3.5,4.5辅助。
我认为,在Excel中重要的思维逻辑方式,要敢想敢做,其实功能都在那里,我们也都能熟练使用,但是到了具体问题可能就想不出解决方法,这就跟想法有关系了。
另外还有筛选功能,我就不赘述了,大家可以自己回去看一下。
六,函数与公式
1,基础知识
2,地址引用
相对引用:如=A1这个公式,向右拖拽,公式会变为=B1;向下拖拽,公式会变为=A2;
混合引用:=$A1 或 =A$1;
绝对引用:无论将公式拖拽到哪一个单元格,公式都不会变化。 =$A$1,一直等于A1单元格;
在输入地址时,按F4键可以实现在相对引用、混合引用和绝对引用之间的快速转换。
举例:九九乘法表的制作(另外一个经典的例子就是杨辉三角,请自己发挥)
显示1x1=1这样的乘法公式。
在B2单元格输入如下公式,然后向右向下拖拽:
=MIN($A2,B$1)&"x"&MAX($A2,B$1)&"="&$A2*B$1
结果如下:
3,简单函数--不予赘述,详见Excel脱机帮助
1) 数值型函数:
INT取整函数;
round四舍五入
rand 函数输出0到1 的随机数 ;
randbetween(a,b)输出a,b之间的随机数。随机数总是会变化,要想方法把这列数字固定住,选择性粘贴为数值。
应用:从1980-1-1到1999-12-31之间的日期:利用绝对地址和randbetween函数
Row函数:返回引用的行号
MOD函数:求余数,mod(row(D3),2)可以知道所在行是奇数行还是偶数行
与条件格式中隔行设置背景颜色相联系
2) 字符型函数:
Len(“text”) 长度函数
Left(“text”,3) 从一个文本字符串的第一个字符开始返回指定个数的字符(左取函数)
Right(“text”,2) 右取函数
Mid(“text”,2,3) 从文本字符串中指定的起始位置起返回指定长度的字符
不要一段字符串的第一个字母:Right(A1,len(A1)-1)
Upper(“abcd…”) 大写函数
Lower(AaBdnM..) 小写函数
Left(upper(A1))&right(lower(A1),len(A1)-1) 把A1中一段大小写混合的字符串改成第一个字母大写,之后的全部小写
3)日期函数:
Year()
Month()
Day()
Today()动态 注:利用CTRL + ;快捷键输入的时间是静态数据,与today()不同。
Date(1995,5,8)
4)逻辑函数:or,and,not
或且非,高中数学
5)简单统计函数:sum,average,count,max,min
Sum(A1:E10)A1到E10的区域(冒号)
Sum(A1,E10)A1和E10两个单元格的和(逗号)
Sum(A1:C6 B5:E10)两个集合的交集和(空格)
Sum(1,2,3)=6
Sum(1:3)表示第一行到第三行所有数的和
只对数字进行计算,对字符串和空格都不予考虑
Count,counta,countblank
4,IF函数:逻辑函数
我们先来看一看Excel帮助对IF函数的解释。
点击上图红色方框中所示的函数名(或利用F1键),即可弹出如下帮助窗口。
说明如果指定条件的计算结果为 TRUE,IF 函数将返回某个值;如果该条件的计算结果为 FALSE,则返回另一个值。 例如,如果 A1 大于 10,公式 =IF(A1>10,"大于 10","不大于 10") 将返回“大于 10”,如果 A1 小于等于 10,则返回“不大于 10”。
语法IF(logical_test, [value_if_true], [value_if_false])
IF的第一个参数:logical_test即为指定的判断条件,如A1>10
IF的第二个参数:[value_if_true]代表当指定条件为真时,返回该值
IF的第三个参数:[value_if_false]代表当指定条件为假时,返回该值
IF函数,通俗的解释就是当一个事情发生了,结果是A;该事情没有发生,结果是B。也就是如果XXX为真和如果XXX为假。。。
IF函数是一个非常重要的函数,在函数的理解中非常关键,因为这可以说是Excel函数逻辑性的一个代表。从IF函数中衍生出来的函数有SUMIF,COUNTIF;
5,VLOOKUP函数
说明您可以使用 VLOOKUP 函数搜索某个单元格区域 (区域:工作表上的两个或多个单元格。区域中的单元格可以相邻或不相邻。)的第一列,然后返回该区域相同行上任何单元格中的值。 例如,假设区域 A2:C10 中包含雇员列表。 雇员的 ID 号存储在该区域的第一列,如下图所示。
如果知道雇员的 ID 号,则可以使用 VLOOKUP 函数返回该雇员所在的部门或其姓名。 若要获取 38 号雇员的姓名,可以使用公式 =VLOOKUP(38, A2:C10, 3, FALSE)。 此公式将搜索区域 A2:C10 的第一列中的值 38,然后返回该区域同一行中第三列包含的值作为查询值(“黄雅玲”)。
VLOOKUP 中的 V 参数表示垂直方向。 当比较值位于需要查找的数据左边的一列时,可以使用 VLOOKUP 而不是 HLOOKUP。
语法VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
VLOOKUP 函数语法具有下列参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。):
- lookup_value 必需。 要在表格或区域的第一列中搜索的值。 lookup_value 参数可以是值或引用。 如果为 lookup_value 参数提供的值小于 table_array 参数第一列中的最小值,则 VLOOKUP 将返回错误值 #N/A。
- table_array 必需。 包含数据的单元格区域。 可以使用对区域(例如,A2:D8)或区域名称的引用。 table_array 第一列中的值是由 lookup_value 搜索的值。 这些值可以是文本、数字或逻辑值。 文本不区分大小写。
- col_index_num 必需。 table_array 参数中必须返回的匹配值的列号。 col_index_num 参数为 1 时,返回 table_array 第一列中的值;col_index_num 为 2 时,返回 table_array 第二列中的值,依此类推。
True 近似匹配 此时table_array首列中的值必须必须以升序排列;(数字1)
False 精确匹配 此时VLOOKUP只能查找精确匹配项 (数字0)
在某个区域内找到某个值,把与该值相关的另外的值取出来。
通俗的来讲:让VLOOKUP这个助手,去隔壁办公室找到老张,然后把老张桌子上的杯子拿来。--来自王佩丰网课
在下面这个例子中:
例如,假设区域 A2:C10 中包含雇员列表。 雇员的 ID 号存储在该区域的第一列,如下图所示。
如果知道雇员的 ID 号,则可以使用 VLOOKUP 函数返回该雇员所在的部门或其姓名。 若要获取 38 号雇员的姓名,可以使用公式 =VLOOKUP(38, A2:C10, 3, FALSE)。
编号38号相当于老张,而这名雇员的名字相当于老张桌子上的杯子。
再来一截图:
但是需要注意的一点是,VLOOKUP函数只查找第一列中的值,如果该值位于第二列,而需要返回的值位于第一列,此时就不能使用VLOOKUP函数,而应该改用MATCH和INDEX的组合。
✎✎✎✎✎ 出题的分割线必须华丽(盗用一下,23333)✎✎✎✎✎✎
你以为我会告诉你,其实这是我上课时候的作业么- -
根据这样的成绩单,制作一个成绩查询系统,要求:
要求:
1. 艺术字
2. 背景
3. 小于1或大于100,查无此人
4. 选作,输入字符,查无此人
结果应该类似于这个:
小于1或大于100,查无此人
输入字符,查无此人
原始数据:链接: 百度云 请输入提取密码 密码: hyqb
答案在文章末尾。
✎✎✎✎✎✎✎✎✎ ✎✎✎✎✎✎✎✎✎
七,数据透视表
一些有用的链接:
快速入门:创建数据透视表、
数据透视表和数据透视图概述、
使用切片器筛选数据透视表数据、
使用字段列表排列数据透视表中的字段(这四个内容都可以在
Support - support.office.com中得到)
下面的例子来自以前的一个答案:Excel数据透视表有什么用途? - 知乎用户的回答
插入选项卡— 数据透视表和数据透视图
行标签和列标签为分类字段;数值处为统计数据区,统计字段名。
数据透视表就是分类汇总的高级形式。
优点:不用排序;多字段;出表出图容易;可随时更新
数据透视表有什么用途?
用于快速汇总数据。
来举个例子。有很多很多数据,比如是1220行,6列。就像这样。
需要汇总各个区域,每个月的销售额与成本总计,同时算出利润。即要做出这样一张表。
(表太长了,截取部分,具体内容见附件)
做法有很多,当然可以一个一个算了= = 除非你想每天都加班到深夜。。。
这时候就可以祭出大杀器,数据透视表了。
以下分步描述做法。
第一步,选中原数据区域任意单元格,在“插入”选项卡中插入"数据透视表"。
第二步,添加数据透视表字段。直接选中"字段"拖拽到下面几个区域中即可。
注:列区域下的数值是创建完透视表之后再打开时自动出现的。
第三步,更改值字段名称,使其符合要求。
第四步,更改行标签与列标签单元格文字,选中,点击编辑框,将之更改为订购日期与所属区域即可。
第五步,这时候发现订购日期是以日为单位的,而我们需要的是每月的数据。点选该列任一单元格,右键,"创建组"。组合选择以"月"为单位(步长)。
第六步,因为原始数据里没有利润的内容,因此需要自己插入一个利润字段。在"数据透视表工具"的"分析"选项卡下,选择"字段、项目和集",点击"计算字段"。
插入计算字段,在公式处输入需要的公式。这里是:利润=销售额-成本;利用下面的插入字段将销售额和成本字段插入公式之中。
最后,更改单元格格式与表格格式即可。
这样就可以得到上文的结果了。一目了然。
数据透视表结合其他内容,如条件格式与offset函数等可以实现很多不同的效果,实现各种各样的功能。
如:
还可以如前文所述使用切片器功能、插入数据透视图等;
-------------附件------------
该文件及数据透视表的excel文档。
链接: 百度云 请输入提取密码 密码: jfgx
-------------------------------
关于数据透视表中的各字段拖拽的区域:
来自使用字段列表排列数据透视表中的字段通过在四个区域之间拖动区域节来使用字段列表的区域节按所需方式重新排列字段。
数据透视表中将显示您放入不同区域中的字段,如下所示:
筛选区域字段显示为数据透视表的顶级报表筛选器,如下所示:
列区域字段显示为数据透视表顶部的列标签,如下所示:
根据字段的层次结构,列可以嵌套在较高位置的列中。
行区域字段显示为数据透视表左侧的行标签,如下所示:
根据字段的层次结构,行可以嵌套在较高位置的行中。
数值是数据透视表中显示为汇总数值的字段,如下所示:
如果在某个区域中拥有多个字段,您可以通过将其拖至正确位置来重新排列其顺序。要删除某个字段,请将该字段拖出区域节。
八,图表及其实例
关于图表的内容,在 @Yumeng Guo 的答案中已经有了非常详细的描述,大家可以参考。Excel 有哪些可能需要熟练掌握而很多人不会的技能? - Yumeng Guo 的回答
有一个非常实用的功能:将好的图表另存为模板类型就可以,到时候直接插入。直接做的时候,修改小地方就好。要建立自己的模板库。
我使用的也是《Excel图表之道》一书中提到的方法与思想,在刚刚过去的美赛中,我绘制了这样的图形。在日常生活中,你都用Excel帮你做些什么? - 知乎用户的回答
要想画好图,最最重要的是想法!什么样的数据用什么样的图来展示,如何展示!而熟练掌握图表的相关操作只是基础中的基础而已。
九,快捷键
其实一开始让我修改快捷键这一部分的时候,我是拒绝的,因为不能你说让我修改,我就去修改。不能说修改完之后,加一些特技,工作效率就很快,做的就很好。不能让大家说我这个人写的答案是假的。首先我要试用一下,还要截一些图,加一些说明。(duang一下= = 请忽略这一段)
修改这一部分的起因来自于看到这个答案:
@不保 Excel 有什么奇技淫巧,让你相见恨晚? - 不保的回答这个答案对快捷键的描述非常生动形象,所以我决定自己也修改一下。
先摘录这一段:
- 授人以鱼不如授人以渔,最后推荐一个记住自己最常用的快捷键的方法,先按Alt,Excel(2007 above)的菜单栏的每个按钮都会显示他们的快捷键字母,然后再按你想要实现的功能的字母,就会接着进入下一级菜单的快捷键,直到实现你想要的功能。比如我平时经常需要合并与居中,我会记住快捷键是Alt + H + M + C; 再比如,我经常希望把选中的表格加粗的外边框,我会记住快捷键是Alt + H + B + T,记住这些,多用几次,你就拥有了属于你自己的专属快捷键啦。
①CTRL + A ,全选,word中也可以使用,网页上也可以用。用于duang的一下快速选中所有数据,用鼠标一个一个来,烦不烦 = = 还有一个妙用是:快速调整单元格宽度,请看:
最开始如红色方框中显示的,单元格宽度不够,所以显示不出来了。此时CTRL + A 全选。
然后在任意两列之间,按住CTRL键双击,所有单元格的宽度就会变得正好。
②
CTRL + B / CTRL + 2 加粗 bold
CTRL + I / CTRL + 3 斜体 italic
CTRL + U / CTRL + 4 下划线 underline
这三个在知乎编辑里面也可以用啊啊。。。
对粗体再用一次CTRL + B就会变回去的。。。
③CTRL + → 或 ← 或↑ 或 ↓ 用于快速到达工作表数据区域的最上,最下,最左,左右。。但是不要按太多,否则就会达到整个工作表的最右和最下了,此时只要按最左和最上就可以避免逗比了。。
CTRL + SHIFT + → 或 ← 或↑ 或 ↓ 有SHIFT键出现,这里就是连选的意思了。
④关于数据格式的快捷键:
要举个直观的例子:
在单元格中输入100.5;请注意看每一种格式的编辑栏中的值。
CRTL + SHIFT + ` 常规格式
CTRL + SHIFT + 1 整数
这里的整数难道是四舍五入?我们看一个100.4的例子。
变成100了,这个快捷键有四舍五入round函数的 显示效果,但是实际值并没有发生变化。(多谢指正)
CTRL + SHIFT + 2 0:00AM时间格式
CTRL + SHIFT + 3 日期格式
CTRL + SHIFT + 4 货币格式
CTRL + SHIFT + 5 百分比格式
CTRL + SHIFT + 6 科学记数格式
⑤一般右键之后都会有出现各种功能,比如随便选中一个单元格右键,出现这些。每一个功能后面都有对应的字母,直接点击键盘上的这些字母,就好了,也算是快了一点点吧。
⑥
F1:帮助
F2:编辑单元格内容(其实这个键在很多地方都可以用!这个在重命名文件时简直就是神器,先选中文件,再右键,再找重命名,累不累。。。累不累。。。噢噢噢噢)
⑦复制,粘贴,剪切,保存这几个快捷键,我就不赘述了。
及时保存啊!!!!!!
duang~完。
--------原来的快捷键部分------------
详见该文章:XL
请注意后面的英文单词。
CTRL + F 查找 find
CTRL + H 替换
CTRL + G 定位/转到 go to
CTRL + Y 重复上一次操作
CTRL + 1 设置单元格格式对话框
CTRL + B / CTRL + 2 加粗 bold
CTRL + I / CTRL + 3 斜体 italic
CTRL + U / CTRL + 4 下划线 underline
CRTL + SHIFT + ` 常规格式
CTRL + SHIFT + 1 整数
CTRL + SHIFT + 2 0:00AM时间格式
CTRL + SHIFT + 3 1-JAN-00 日期格式
CTRL + SHIFT + 4 货币格式
CTRL + SHIFT + 5 百分比格式
CTRL + SHIFT + 6 科学记数格式
CTRL + SHIFT + 7 添加细实线外边框
CTRL + SHIFT + - 清除区域内所有边框
十,基本VBA与宏
这一部分尚在学习中,举个例子给大家看一看效果。
还记得前文所述利用排序批量产生工资条的例子么?
还有一种做法是利用宏。
录制宏(不要任何的重复操作);
“视图”选项卡,点击“录制宏”。
要选中使用相对引用。
对新宏进行命名
开始录制宏:录制时选中使用相对引用。
第一步选中A1单元格,即姓名单元格;
第二步选中第一行,复制;
第三步选中第二个人工资那一行,右键插入复制的单元格;
第四步选中新插入的姓名单元格。
然后停止录制宏。
插入一个矩形,(或者在“开发工具”选项卡下的“插入”中插入一个按钮)右键指定宏,对该矩形进行修饰就可以不断使用,生成所有的工资条。
十一、附加
1,数据有效性(excel2013版中是数据验证)
位于“数据”选项卡下。
序列:来源处可以直接输入也可以引用单元格。
整数:介于(最小值,最大值);等于;等等
文本长度:等于8,介于;等等
自定义:选中区域,在公式处,输入一个错误的公式(FALSE或者输入0),则此时所选区域的值不能够做修改。
数据有效性的其他设置:输入信息,出错警告,输入法模式(不用使用了,需要更改输入法设置)
Countif函数在数据有效性中的应用:
问题1:选中C列,设置数据有效性,自定义,公式:=COUNTIF($C:$C,C1)<=1
问题2 将D2:I20设置为禁止输入重复数据
公式:=COUNTIF(D2:$I$20,D2)<=1
以上。都看到这里了,求赞。。
♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋
后记:
1)多多使用帮助菜单 F1键;但是帮助菜单并不是全部,它只给出了一个功能的一般用法,特殊的用法,或者说是奇淫技巧还需自己发现;
2)要保持良好的操作习惯。其中数据格式要规范,这样可以避免时间上的浪费与不准确性;要时常保存,ctrl+s,word中也需要如此,这样可以防止电脑bug与误关闭导致的文件丢失;
3)画图配色字体要讲究美感,推荐这几个答案。Computer - 收藏夹(我的收藏夹。。- - )
如何制作图表非常精美的 Excel 文档? - Simon阿文的回答
个人比较喜欢微软雅黑和Arial
还要再提一下《Excel图表之道一书》。。。我不是打广告的= =
4)Excel博大精深,功能奇多,祝大家玩的愉快。
以上。完。2015年2月28日
♋♋♋♋♋♋♋♋占据前面的废话♋♋♋♋♋♋♋♋♋♋♋♋♋♋
我想写这样一个答案:尽量描述 @未央之末@Yumeng Guo 两位大牛的回答中未提及的内容;
详细介绍@薛潮 与 http://www.zhihu.com/people/geostone提到的VLOOKUP函数和数据透视表的应用。
-----------转载授权-------------
1,
@DamonWang
2,猫大小宣公众平台。
3,其他皆为盗用。
--------------评论区-------------
1, @吴桢 还提到了其他的功能,数据有效性部分抽空更新一下;插入控件功能用的不多,主要是在动态图表和宏基础录制中用,不更新。VBA本学期正在学习,今天刚刚上了第一节课,用老师的话说就是这样的:
入门容易、自学方便、学习资源丰富。
2,这一篇回答是我一年来学习excel知识的总结,前前后后在电脑上保存过上百页word的笔记,花了六个小时左右的时间把笔记中的部分排成了这个答案。
-----------------------------------
---------写在前面(可以直接跳过这一段,直达后面粗体部分)-------------
自从去年在学校上了excel课程,我就觉得excel很有用,功能非常有趣。在后续的学习与整理过程中,逐渐走上了熟练操作excel的道路,但是离真正的熟练还差距遥远,我希望待我去找工作的时候,我能够在我的简历上写上这么一句:“熟练使用Excel。”
而当学的越多之后,我才发现有太多的东西不会用,excel有太多奇妙的功能,正如我在这个答案精通Excel是种怎样的体验? - 知乎用户的回答中写道:
当你懂的越多的时候,你才发现自己知道的越少。
比如说最开始会输几个数据,然后发现有那么几个神一样的函数:if, vlookup,;
还有excel的快捷键,也是非常神速的;
当你会插入图表的时候,你会想着怎么才能把图画的更好看,然后开始专研一片新天地,学问大的很。
当你上面这些都学得不错了,用的很熟练了。然后你发现了VBA,自定义函数,做出各种各样高级的东西,用很短的时间做完以前需要花很长时间做的工作。
这时候你才发现原来自己懂的这么少。
--------------------------------
♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋
附件
VLOOKUP函数应用参考答案:链接: 百度云 请输入提取密码 密码: amcu
♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋
日志
2015/02/28 之前的一年 各种版本文件
2015/02/28 正式发布V1.0.0~V1.0.9
2015/03/01 补充后记部分内容 并提前至开头部分,更正错别字;修改快捷键部分内容,duang。
2015/03/02 对数据透视表部分进行补充
2015/03/03 增加部分缺失图片
2015/03/04 新增附加模块中的数据有效性内容
2015/04/08 将影响阅读体验的废话部分移到文末
2015/06/19 debug
2015/08/23 微信公众号硬广
♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋♋
在咨询公司、VC/PE/Hedge Fund等基金混迹多年,一直靠着Excel的各种技巧安身立命和升职加薪。可能是因为程序员出身的原因,在学会以上各个答案提到的装逼炫酷图表、快捷键和一些略复杂的函数(VLookup等)之外,总是希望从更深的层次去探索Excel及各类Office软件,直到遇到了数组函数和VBA编程。这些技能一旦掌握能将工作效率提高数倍甚至是十倍以上,然而周围却很少有人掌握。如果对这些技能感兴趣,可以关注这个活动:
粉丝回馈:程序让你更性感 - 数据冰山 - 知乎专栏。
数组函数和VBA编程,简直就是为程序员而生的,数组函数充满了数据库的思维,而VBA本身就是彻头彻尾的编程,再加之各种接口,能够将Office各套软件以及OS下的各种功能完美结合在一起。因为Excel+VBA是图灵完备的,最后辅以Excel简单高效的数据呈现界面,所以在我的心目中,Excel+数组函数+VBA,简直就是网页前端+客户端+后台程序+数据库。感觉学会了这些,某种意义上就是成为了Full Stack Developer(全栈工程师),各互联网公司梦寐以求想招到的人。
一、数组函数
数组函数往往会和Index、Indirect及Address等地址相关和数据块相关的函数搭配使用,如果不考虑效率的话,基本可以替代各种SQL语句了。
数组函数之案例1:计算某类产品的总价值
计算AA产品的总价值,替代select sum(产品数量x产品单价) from ... where 产品编号=‘AA’
{=SUM(IF(($B$4:$B$8="AA"),($C$4:$C$8)*($D$4:$D$8),0))}
如果没有数组函数,使用sumif等函数也会很复杂。
数组函数之案例2:挑选不重复的值并计算总和
左边的白色区域是原始数据,右边的彩色区域使用了数组函数的输出区域。数组函数实现了两大功能:
如果没有数组函数,只能使用Pivot Table等复杂方式,不仅程序开销很大,而且还不够灵活。
数组函数之案例3:
这是一个帮助某国际家用电器厂商预测中国各家电品类市场潜力及规模的项目,从2005-2024年。一般的Excel函数只能解决两维的问题,而这次客户提出了这个变态的n维需求,需要精确到年份、电器品类、渠道类型、用户高中低端以及城市级别共5个维度来查看市场规模及潜力。简单说就是利用下面这个表格随时查看指定维度下的某年份的市场潜力及规模。
通过使用数组函数建模轻松实现如下功能,只要在指定的区域内选择相关值,就能计算值所需的市场规模及潜力,等于使用了SQL语句:select * from table where 条件1=A1 and 条件2=A2 and 条件3=A3……(共5个条件)
复杂的数组函数编码如下
=SUM(((Summary_Market!$S$71:$S$308=$A7)+(Summary_Market!$S$71:$S$308=$V7)+(Summary_Market!$S$71:$S$308=$AA7)+($A7="")>0)*((Summary_Market!$T$71:$T$308=$B7)+(Summary_Market!$T$71:$T$308=$W7)+(Summary_Market!$T$71:$T$308=$AB7)+($B7="")>0)*((Summary_Market!$U$71:$U$308=$C7)+(Summary_Market!$U$71:$U$308=$X7)+(Summary_Market!$U$71:$U$308=$AC7)+($C7="")>0)*((Summary_Market!$V$71:$V$308=$D7)+(Summary_Market!$V$71:$V$308=$Y7)+(Summary_Market!$V$71:$V$308=$AD7)+($D7="")>0)*(Summary_Market!BB$71:BB$308))
整个模型的界面及复杂的数组函数如下图,左边部分的界面其实就是图形化的SQL语句。这个模型被该客户及我们咨询公司使用了不下5年,部分依赖于其超强的灵活性。
二、VBA编程
首先不要被“编程”二字吓跑,因为VBA不会编程也可以进行,通过录制宏的方式就可以搞定。分享一些学习VBA的小技巧(一些学习VBA的小技巧在这个回答里:
Excel VBA 如何快速学习? - 何明科的回答),录制宏的诀窍见下图。
如果真要升级成为VBA编程达人,还是需要自己学习和自己编写VBA程序。下面列举若干自己亲手编写的若干Excel+VBA项目。
VBA编程之案例1:自动打印
刚进职场的新人,只要爸爸不是李刚,基本都做过影帝影后(影=印,各种复印打印的体力劳动)。特别是咨询投行服务行业,在某次给客户的大汇报或者大忽悠会议之前,花数小时或者整晚来打印数个文件,并不是天方夜谭。而且这件事情是对着同样一堆不断修改的文件,会经常不断重复发生。
我加入BCG的第一个项目,就是帮助某大型企业从上到下设计KPI体系并实施。从上到下涉及到几十个部门,大概有100多张的KPI表格需要完成,这些KPI表格分布在各个Excel文件里。我们4个咨询顾问的任务:
这里面有个费时费力的环节,每周需要在多个Excel文件中找出目标Worksheet,然后选定合适的区域作为输出的表格,按照一定的格式和一定的顺序,打印出这100多张表格。之前我们全是凭借人力,每周由一个Analyst把所有最新的Excel文件收集在一起,然后挨个打开文件选中合适的Worksheet,选中区域设置好格式进行打印。每进行一次,几乎耗费一两个小时,还不能保证不出错。
于是写下了我的第一个VBA程序,而且基本上是宏录制之后来改的,没有使用参考书及搜索引擎,全靠F1和自动提示,所以贴出来特别纪念一下。实现的功能就是将上述的人肉实现的功能全部自动化。按下一个妞,就慢慢等着打印机按顺序出结果吧。
后来这个程序的升级版是:调度多台打印机,进一步提高效率,以及将打印机卡纸造成队列错误的概率降到极小的范围内。
VBA编程之案例2:制作复杂的矩阵式分析图表
下图是研究各个车型之间的用户相互转换关系,因为要将一维的转化率向量,变成两维的矩阵,所以使用了如下的复杂公式。
=IF(ISERROR(OFFSET($C$2,MATCH(CONCATENATE(ROW(A4),"-",COLUMN(A4)),$D$3:$D$600,FALSE),0)/OFFSET($C$2,MATCH(CONCATENATE(ROW(A4),"-",ROW(A4)),$D$3:$D$600,FALSE),0)),"",OFFSET($C$2,MATCH(CONCATENATE(ROW(A4),"-",COLUMN(A4)),$D$3:$D$600,FALSE),0)/OFFSET($C$2,MATCH(CONCATENATE(ROW(A4),"-",ROW(A4)),$D$3:$D$600,FALSE),0))
同时为了用颜色的深浅来表示转化率的大小关系而便于比较,使用了VBA对下面的矩阵进行着色。当然有人肯定会说可以使用条件化格式,但是使用VBA保持了最高灵活度和效率。
VBA编程之案例3: 管理分布的任务流,并将Excel表格输出到Powerpoint
这是协助某国际大型汽车制造厂完成新品牌及其新款车型上市,面临车型即将断档的窘境,该新车型的上市非常关键,不能错失时间节点。然而,新车型上市涉及到无数分支:制造、产品、市场、渠道、营销、公关、财务等等,同时还要协调欧洲的两个总部以及中国的两个分部。
这次咨询的核心任务就是项目管理,总控整个大项目的进度,并每周向中国区的CEO汇报进度并发掘出易出现问题的关键节点以调配资源。我们4个咨询顾问分配下去各自负责几个部门或者项目分支,和团队一起规划流程、画甘特图、确认里程碑及时间点、安排负责人等等。当每天回到办公室大家将进度汇总在一起的时候发现了挑战及难点,每条任务线并不是独立发展的,而是各条任务线交织在一起并互相影响。
当任务线增多以及任务线之间的交叉越发频繁的时候,汇总的任务将会几何级数增加,这就是我们在项目过程中遇到的问题。于是我利用Excel+VBA完成了这个工作的自动化。主要实现的功能:
在此基础之上,还要将上面提到的各种维度下的所有表格(大概有200多张),按要求格式粘贴到PPT中,每周提交给中国区的总部进行汇报和评估。密密麻麻的表格如下图。于是,我又写了一个程序将Excel中的表格输出到Powerpoint中,将一个秘书每次需要数小时才能完成的工作,简化成了一键发布,并可以在Excel中完成对PPT的更新。
这个项目的程序量不小,近似于写了一个迷你版的Microsoft Project来进行项目管理。
最后,下图中密密麻麻的PPT每周需要更新一次,每次都是快100张的工作量,然而基本上都是靠Excel来自动完成更新的。因为PPT的模版每次变化不大,我将这些模版记录下来,每周更新的时候只要根据Excel中最新的数据更改PPT中的数据即可。
VBA编程之案例4:构建Financial Model并 根据结果倒推假设
一般的Financial Model都是根据重重假设计算最终结果。而在为某顶级手机品牌服务的过程中,我们却遭遇了逆向的尴尬。本来是根据地面销售人员的一定服务水平,计算所需要的销售人员数量;结果在项目过程中,总部已经确定好了销售人数的Head Count,转而要求我们根据HC确定服务水平。然而,服务水平不是一个单变量,是由零售店的覆盖率、销售拜访频率、拜访中的服务深度等多重因素来决定的,同时还可以根据一线至无线城市来变化。
于是只好再次寄出Excel+VBA法宝。先根据常规思路建立好Financial Model,得出HC的初步结果。然后写VBA程序,根据不同的情景、不同的优先级以及不同的权重来调节零售店的覆盖率、销售拜访频率、拜访中的服务深度等多因素,同时设定这几大因素的可接受范围,逐步逼近HC的预设值。
如果没有程序,以前基本是靠人工手动调节来凑结果,而且因为各种情景的不同,还需要多次调节。而通过程序,基本是自动完成,还可智能得设置优先级及权重,无需人工参与。
VBA编程之案例5:海量下载Bloomberg数据并完成分析
通过Bloomberg的VBA API,海量下载数百只目标股票的tick data以及order book。
并根据实现构建好的数学模型,在后台完成计算,将上述的实时数据转化成每只股票实时的trading cost,实时展现在交易员最常用的Excel界面中,方便交易员评估当下的交易成本以便于优化交易策略。
三、数组函数+VBA的项目:全栈项目
在项目中(
RIO是如何席卷大江南北的? - 数据冰山 - 知乎专栏)对Excel的要求很综合。首先通过数组函数,对每年对RIO酒购买时刻的提及率按省进行统计。
其次,利用VBA程序,将上表中H列和I列的数据,按省份涂色到下图中的地图中。
(涂色部分来自于网上的一段程序,制作GIF动画的是自己完成的)
最后,再次利用VBA编程以及调用外部程序(GIFSICLE),将一幅幅图表合成在一起生成GIF动画。
最后的彩蛋,还可以用VBA来画油画,零基础成为用美术作品把妹撩汉的艺术青年(
Excel 有什么奇技淫巧,让你相见恨晚? - 何明科的回答),下图把女神用Excel画成油画送给她。
————————————————————
更多文章关注我的专栏:
数据冰山 - 知乎专栏分析这个问题可以从四个方面来衡量。因为珠三角有香港的特殊关系,以及面积体量等各种方面的不同,这里我主要拿京沪来举例。
第一,周边基础
首先明确一下,北京周边只看石家庄以北的城市,上海周边只看苏南浙北。于是就能发现北京周边北有燕山,西有太行。题主所谓的“还不及中西部的大中型城市”,其中绝大部分处于这片山区(甚至北京本身就有2/3的面积处于山区),外加自古便是慷慨悲歌的兵家必争之地,故而河北经济发展水平在北京没有成为首都的时候就是落后的。而上海周边则是天堂苏杭,外加地处长江中下游平原的鱼米之乡并非边疆要塞。因此,在没有上海的时候长三角便是富甲天下的地区。打个比方,北京是在贫民窟长大的,而上海是富二代。
(珠三角也是一样的,广东也是个多山的省份,于是就有了珠三与非珠的巨大差距。这样的差距在大平原省江苏看来是不可思议的。)
第二,两地政策
现在我们假定北京、上海发展现代经济的目标都是建成一座可以带动、反哺周边城市群的核心城市。那么北京、上海在建设核心城市的过程中必然会出现一个先“吸血”(政策获益),再“反哺”(带动周边)的现象。
因此,我们来看看的“吸血”吧。人所共知,北京是49年后受到政策倾斜最大的城市,而上海则是当仁不让的老二。但如果把时间轴的原点从49年挪到辛亥革命,那上海将是中国近代受到政策优惠最多的地方。从大上海计划到后来的工农业剪刀差,从“中国的王牌“到浦东开发,无一不说明这点。因此,上海的”吸血“比北京早了几十年。所以理论上相应的”反哺“就会早几十年。我们可以拿苏州园区的建设对比唐山曹妃甸,基本上就是这个时间差。
最后还有一点很重要,如果说当下京沪两地的政策获益还可以比较的话,那江苏与河北的获益就不可同日而语了。江时期大量的政策倾斜几乎可以说是集全国之力发展长三角(发展中部三角、打造成渝经济圈、以及振兴东北这都是后来的事情了)。所以出现了很多搞笑的事情,比如作为中国科技中心的北京有大量的科研成果等待卵化。而这些叫“清华科技园”、“中关村科技园”之类的卵化机构居然不在河北或者天津,反而去了长三角的无锡苏州。这就越发加剧了两地的发展不均。
第三,产业结构
上海是中国的工业中心,而考虑到交通问题,北京则主要发展服务业。这样一来,上海在产业升级的时候更加适合给周边地区“反哺”。而北京则没有太多的东西可以外放了。
第四,人文思想
江南人民的商业头脑自古就是中国翘楚,并且和经济发展形成了良性循环。而河北大部分人至今没有摆脱小农经济的影响。另一方面,东南沿海地区人民的奋斗精神也十分值得称道,而河北人民的生活相对闲适,更喜欢享受生活,比不上四川,但我看也差不多了。虽然,“奋斗”和“享受”这两种生活态度不能说有优劣之分,但必须承认不同的态度对地区发展有着实际且不同的影响。
综上,结果就是:基础好并且有优惠政策和商业头脑的江浙地区,更早的接受了上海更多的反哺; 基础相对差并且又没有政策优惠和商业头脑的河北地区,更晚的接受了北京较少的反哺。这样一来就有了今天的局面。
最后来个私货:我认为如果北京不是首都或者只是单纯的政治中心,那么河北可能比现在还差。毕竟不论从地理位置还是资源条件来看,河北几乎都是中国大陆临海省份里最差的,甚至不如一些内陆省份。