163条Excel技巧重排:基础操作、数据清洗与公式图表实战
简介:这份《Excel使用技巧大全(超全)》面向Excel初学者和日常办公人员,是一份系统整理163种常用操作技巧的文档型资料,可用于提升表格处理效率、熟悉快捷键与工作表管理方法。压缩包内仅含1个doc文件,约276KB,体积轻便,内容以编号条目和目录分章组织,便于按主题快速检索。已有153人学习。资料涵盖基本方法、工作表与工作簿管理、单元格选择与编辑、区域定位、查找与帮助等模块,从快速选中全部工作表、批量编辑工作表到单元格复制移动、条件选择、删除空行等常见场景均有收录。条目式结构简洁直观,适合作为案头速查手册,帮助读者系统梳理Excel基础操作路径并查漏补缺。
1. 163 条 Excel 使用技巧,最忌讳的就是从第 1 条往下读
把这份 163 条的 Excel 使用技巧合集从头翻到尾,大多数人读到第 20 条,脑子里只剩「右键工作表标签」这一句。它真正的价值不在条数,而在于把日常动作切成基本操作、数据输入与编辑、图形图表、函数公式、数据分析、界面设置六段,每一条都对应一个具体动作加一组按键,能直接练成条件反射。
这套东西适合每天跟表格打交道的人:对账、汇总周报、清洗名单、做汇报图。下面不按原目录顺序念,而是按「今天就能用 / 需要改参数 / 照抄会翻车」重排,顺手把老版本菜单翻译成现在功能区里的位置。因为这份资料成文较早,原文里还有「我的电脑」「工具→选项」这种写法,路径和菜单名不翻译,新手会卡在第一步。当然,它是把散落技巧汇总成册,并不是系统教程,读懂它比会用更重要。
2. 基础操作层:把“三下鼠标”压成一次按键
原目录里第 1~44 条全在这块,也是最容易被跳过的部分。但真正决定手速的,是选区、跳转、成组这几件事有没有形成肌肉记忆,而不是函数写得多花。我的判断标准很朴素:一个动作每天重复超过 20 次,就必须有键盘入口;一个月只出现一次的,用鼠标点就行,别浪费记忆容量。
2.1 工作表成组与工作簿批量打开的三条路径
右键任意工作表标签,选「选定全部工作表」,几张表就进入成组状态,标签栏会显示 [组]。这时候在 Sheet1 的 B2 敲一个值,其余工作表的 B2 同时被写入;统一改表头、批量设列宽、给 12 个月的模板套同一套格式,全靠它。退出方式是右键标签→「取消组合工作表」,或者直接点一张没被选中的表。
注意:成组状态会在标签栏显示 [组],改完记得点一下其他表退出,否则后续所有写入都会同步到组内每张表。
多表复制和移动也在这个层面:按住 Ctrl 拖动标签是复制工作表,不按 Ctrl 是移动,拖动时会出现一个小三角指示落点。做月度模板时,我一般先把一月做完,Ctrl+拖出十一份,再改表名,比新建工作表再粘格式快得多。
批量打开工作簿,原文给了四五种方法,去重之后其实就三条真正有用的路径:
| 方式 | 操作入口 | 适合场景 | 副作用 |
|---|---|---|---|
| 多选打开 | 在文件夹里 Ctrl/Shift 选中多个文件→右键打开 | 临时一次性核对几份表 | 文件多时内存和 CPU 占用会上来 |
| XLSTART 目录 | 把常用工作簿放进启动目录 | 每天固定要开的看板、模板 | 每次启动都加载,启动明显变慢 |
| 启动文件夹选项 | 文件→选项→高级→启动时打开此文件夹中的所有文件 | 团队共享的一个目录 | 该目录下的非 Excel 文件也会被尝试打开 |
启动目录的位置原文写的是C:\Windows\Application Data\Microsoft\Excel\XLSTART,那是很早的路径,现在的常见位置是C:\Users\<用户名>\AppData\Roaming\Microsoft\Excel\XLSTART,找不到就用文件资源管理器的地址栏直接粘%appdata%\Microsoft\Excel\XLSTART回车。
2.2 名称框、定位条件与当前区域:把“找”变成“跳”
单元格命名的规则原文写得很准,值得抄下来:首个字符必须是字母或汉字,最长 255 个字符,名称里不能有空格,不能和单元格引用重名(比如 A1、R1C1 这类)。入口从当年的「插入→名称→定义」搬到了「公式→定义名称」,但规则一字没变。
命名的收益在于可读性和抗插入。=SUM(销售额)比=SUM(Sheet2!$D$2:$D$986)好维护得多,别人接手也不用反推这一列到底是什么。如果定义时选的是整列或者把区域转成了「表」,后续插入新行,名称范围会自动扩展——这一点比手写绝对引用省事。
定位条件才是真正的效率开关,Ctrl+G或F5调出定位,点「定位条件」:
- 选「可见单元格」:筛选状态下复制,只复制看得见的行。不做这一步,隐藏行会一起被粘出去,这是对账时最常见的错行来源。
- 选「空值」:用来批量填充或批量删除空行。
- 选「当前区域」:等价于
Ctrl+Shift+*,选中被空行空列包围的矩形块,比拖鼠标准。
注意:定位空值之后直接点「删除→整行」,删的是整行,其他列的有效数据会一起没。正确做法是先加一列辅助列写
=COUNTA(A2:D2),筛选出 0 的行再删。
2.3 用一个宏把清洗动作固化成按钮
原文的技巧都是「人做动作」,但凡是每周都要重复的清洗,就应该交给宏。打开Alt+F11,插入一个模块,把下面这段贴进去,另存为.xlsm:
Sub CleanSelection() Dim rng As Range, c As Range, t As String ' 选中图表、图片时直接退出,避免类型不匹配报错 If TypeName(Selection) <> "Range" Then Exit Sub Set rng = Selection Application.ScreenUpdating = False Application.EnableEvents = False ' 关掉事件,防止触发工作表事件造成二次写入 For Each c In rng If Not IsError(c.Value) Then t = Application.Trim(CStr(c.Value)) ' 有前导零的串不转数值,工号、区号、身份证号转了必丢位 If Len(t) > 0 And IsNumeric(t) And Not HasLeadingZero(t) Then c.Value = CDbl(t) Else c.Value = t End If End If Next c Application.EnableEvents = True Application.ScreenUpdating = True MsgBox "处理完成:" & rng.Count & " 个单元格", vbInformation End Sub Private Function HasLeadingZero(s As String) As Boolean ' 00123 这种不转数值,转了前导零就没了 HasLeadingZero = (Len(s) > 1 And Left$(s, 1) = "0" And InStr(s, ".") = 0) End Function逻辑上分三步:先校验选区类型,再逐个单元格做「去空格→判断是否可转数值→写回」,最后统一恢复屏幕刷新。参数上有几个点值得说清楚:ScreenUpdating关掉是为了避免逐格写入时屏幕闪烁,几千行能差出十几秒;EnableEvents关掉是因为有些工作簿挂了Worksheet_Change事件,不关会被自己的写入反复触发,轻则变慢,重则死循环;HasLeadingZero是我额外加的护栏,没有它,一批工号跑完就全废了。
还有一个隐性坑:CStr对日期值会按系统区域设置转成字符串,如果你的表里混着日期列,跑完可能变成「2024/3/1」这种文本。稳妥做法是在循环里先判断IsDate(c.Value),日期列直接跳过。
最后把它挂到界面上:插入→形状,画个圆角矩形写上「清洗」,右键→指定宏→选CleanSelection。以后选中区域点一下就行,不用每次重复那套动作。
3. 数据输入与编辑:文本、前导零和选择性粘贴的四种组合
第 45~104 条几乎都在解决同一类问题——人手工敲进去的东西,格式往往不是 Excel 想要的。这一段技巧密度最高,也最容易相互记混:文本转数值有四种做法,零值隐藏有三种做法,选错一个,后面的公式全跟着错。
3.1 文本型数字、前导零与零值显示的取舍
文本型数字的来源无非三种:系统导出的 CSV、网页上复制下来的表、先把单元格设成文本格式再录入。症状很好认——单元格左上角有个绿三角,SUM结果是 0,VLOOKUP明明看着一样却匹配不上(一边是文本一边是数值)。
转换手段对比:
| 手段 | 操作 | 适用 | 代价 |
|---|---|---|---|
| 分列 | 数据→分列→下一步→下一步→列数据格式选「常规」→完成 | 整列批量,最稳 | 会覆盖原列,先备份 |
| 选择性粘贴运算 | 复制一个空单元格→选择性粘贴→运算「加」 | 少量区域,随手处理 | 前导零会被吃掉 |
| VALUE 函数 | =VALUE(A2)放辅助列 | 需要保留原列做对照 | 多一列,要清理 |
| 错误提示批量转换 | 选中带绿三角的区域→点提示图标→转换为数字 | 一眼能看出问题范围 | 只对 Excel 认得的格式有效 |
前导零要单独说。三种做法差别很大:先设文本格式再输入、输入时加半角单引号'00123,这两种存进去的都是文本,不能直接参与计算;自定义格式设成00000,存的还是数值 123,只是显示成 00123,可以正常求和、匹配。做编码类的表,我一般选后者。
零值显示同理,文件→选项→高级→此工作表的显示选项→在具有零值的单元格中显示零是全表级开关,自定义格式0;-0;;@是单元格级。后者更精准,也更适合直接贴进报表。
自定义格式的四段结构是「正数;负数;零;文本」,记住这个,下面这张表就不用死记:
| 格式代码 | 显示效果 | 典型场景 |
|---|---|---|
0.00 | 强制两位小数 | 金额、单价 |
#,##0 | 千分位、无小数 | 汇总表 |
00000 | 补足 5 位前导零 | 商品编码、区号 |
0"元" | 数字后带单位,值仍是数值 | 报价单 |
0;-0;;@ | 隐藏零值,文本照常显示 | 月度报表 |
;;; | 全部隐藏,值还在 | 打印留白、模板占位 |
[红色]-0.00 | 负数标红 | 差异对比表 |
3.2 填充柄、Ctrl+Enter 与自定义序列
双击填充柄是使用频率最高的动作,但它有个前提:左侧或右侧相邻列必须有连续数据一直到底,否则双击只会填一格。这就是「为什么我的双击没反应」的标准答案——不是 Excel 坏了,是隔壁列中间有空行。
Ctrl+Enter是另一个高频动作:选中一个区域,输入内容,按Ctrl+Enter,区域内所有单元格填相同内容。它和Alt+Enter(单元格内换行)只差一个键,我见过太多次在单元格里按错,结果一行字被硬生生拆成几行,行高全乱。
自定义序列在老版本叫「自定义序列」,现在在文件→选项→高级→编辑自定义列表,可以从单元格区域直接导入。它有两个用处:拖填充柄时按你定义的顺序循环填充;排序时按自定义顺序排,比如「高/中/低」「华东/华南/华北」。做周报的人把部门顺序定义一次,后面排序就不用每次手动挪。
日期时间的快速录入用Ctrl+;和Ctrl+Shift+;,写入的是静态值,不会随打开时间刷新。做日报模板时这一点很关键——用它记的是「录入那一刻」,用TODAY()记的是「打开那一刻」。
3.3 选择性粘贴的四种实战组合
选择性粘贴的入口是Ctrl+Alt+V,但真正有用的是里面那几个勾选项的组合:
| 粘贴方式 | 用途 | 注意 |
|---|---|---|
| 数值 | 把公式结果固化,断开与源表的关联 | 后续改源表不再联动 |
| 运算(加/减/乘/除) | 批量调价、批量加 1000、乘 1 转数值 | 空单元格参与运算会变成 0 |
| 跳过空单元格 | 用新表覆盖旧表,但保留旧表里有值、新表为空的部分 | 只对粘贴区域生效 |
| 转置 | 行列互换 | 公式里的相对引用会跟着偏移,粘完要抽查 |
转置这条特别容易翻车:把一张按月份横排的表转成竖排后,原来=B2/A2的公式会跟着变形成=B3/B2之类的引用,数值全错。稳妥做法是先把公式粘成数值再转置。
跨软件搬运也归这一类。要把 Excel 的一块区域贴到 Word 或汇报文档里还不变形,用「开始→粘贴→以图片格式→复制为图片」,或者按住Shift点「编辑」菜单里的「复制图片」,粘过去的是图片,不会因为对方页面宽度重新折行。
3.4 数据验证下拉:来源写成定义名称
下拉列表在原文第 85 条,做法是「数据→有效性→序列」,但现在有个坑:新版不允许在「来源」里直接选另一张工作表的区域。解决办法是先定义一个名称。
步骤是:新建一张隐藏工作表存清单 →公式→定义名称,名称填DictList,引用位置指向清单区域 → 选中要限制输入的列 →数据→数据验证,允许选「序列」,来源填=DictList。
Sub AddDropdown() Dim rng As Range If TypeName(Selection) <> "Range" Then Exit Sub Set rng = Selection With rng.Validation .Delete ' 先清掉旧规则,避免叠加报错 .Add Type:=xlValidateList, _ AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, _ Formula1:="=DictList" ' 用定义名称,不用 A1:A10 .IgnoreBlank = True .InCellDropdown = True .ErrorTitle = "输入不在清单内" .ErrorMessage = "请从下拉列表中选择,不要手工录入" End With End Sub参数说明:AlertStyle选xlValidAlertStop是硬拦截,输错直接拒绝;选xlValidAlertWarning只是提醒,可以强行输。Formula1用定义名称而不是A1:A10,好处有两个——跨表可用,而且清单里插入新行时范围会自动扩展,不用每次回来改。如果是用「表」结构存清单,Formula1也可以直接写表名加列名。
4. 公式与图表:IF 清 0、SUM 参数上限与次坐标轴复合图
第 132~163 条把函数和图表混在一起讲,看着散,其实是一条线:先把数算对,再把数画对。算错的图比没有图更糟,因为它看起来是对的。
4.1 IF 清 0 的代价与三种替代方案
=IF(A2=0,"",A2)是最常见的清 0 写法,报表是干净了,代价却埋在后面。这一列从此变成混合类型,COUNTA会把空文本""也算进去,排序时空文本排在最后,更麻烦的是图表——空文本会被当成 0 画出来,折线直接掉到横轴上。
三种方案的真实差别:
| 方案 | 写法 | 值是否改变 | 下游影响 |
|---|---|---|---|
| IF 置空 | =IF(A2=0,"",A2) | 变成空文本 | 计数、排序、图表都受影响 |
| 自定义格式 | 0;-0;;@ | 不变,仍是 0 | 计算、图表都不受影响 |
| 条件格式 | 字体设成白色 | 不变 | 复制到别处会带格式,打印看不出 |
做报表我优先用自定义格式,值不动,只是不显示。真要挡错误值,用IFERROR(原公式,"")只包一层,别连着 0 一起挡。第 144 条讲的「条件显示」也是同一个思路,用自定义格式的四段来区分正负零,比嵌套 IF 干净得多。
4.2 求和的三层写法、加权平均与 SUM 参数上限
Alt+=是自动求和,它会向上或向左猜区域,猜错了手动拉一下就行。三个层次的写法各有边界:
- 相邻区域:
=SUM(B2:B100),最稳。 - 不相邻区域:
=SUM(B2:B10,D2:D10),逗号分隔。 - 多表三维引用:
=SUM(一月:十二月!B2),一次汇总 12 张结构相同的表。
三维引用有个隐藏特性:在「一月」和「十二月」之间插入的新工作表会被自动纳入,插在两端之外就不会。这既是优点也是坑——中途加一张「汇总」表放在中间,求和结果会莫名其妙地翻倍。
SUM 的参数个数上限要记一下:新版是 255 个,早期版本是 30 个。拼接了几十个区域参数的公式一旦超限,会直接报错或者算出错误结果,症状是「公式看着没毛病,数就是不对」。解法是把参数合并成大区域,或者改用SUMPRODUCT。
加权平均是这一段里最值得单独拿出来的。=AVERAGE(单价列)算的是简单平均,口径通常是错的,正确写法是:
' 自定义函数:按权重列算加权 <p> <a href="https://download.csdn.net/download/u010482970/5313584" style="color:#ec7500;font-size:14px;"> 本文还有配套的精品资源,点击获取 </a> <img alt="menu-r.4af5f7ec.gif" src="https://csdnimg.cn/release/wenkucmsfe/public/img/menu-r.4af5f7ec.gif" style="width:16px;margin-left:4px;vertical-align:text-bottom;cursor:text;"> </p>