![Excel数据处理与可视化](https://wfqqreader-1252317822.image.myqcloud.com/cover/542/30918542/b_30918542.jpg)
1.4 行列设置
1.4.1 快速删除空白行
【问题】
在用Excel处理数据时,由于添加、删除、剪切、复制等操作,经常会造成数据区出现空行的现象,这时要删除空行。
【实现方法】
(1)纯空白行,无其他空白单元格。
当数据区除了有整行空白,没有其他空白单元格时,采用快速删除空白行的方法为:按Gtrl+G组合键,打开“定位”对话框。单击“定位条件”按钮,打开“定位条件”对话框,“选择”栏下选择“空值”项,单击“确定”按钮后,右击,在弹出的快捷菜单中选择“删除”→“整行”,如图1-133所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_66_1.jpg?sign=1739130963-lwM0vLVvCDoDV5G0XDc67rHxqjejPvN0-0-b65b319f91090435910ad1fabcb47e03)
图1-133 删除整行
(2)既有空白行,又有空白单元格。
如果数据区域除了空白行,还有空白单元格,采用正确的方法是:
建立辅助列;在H2单元格中输入公式“=COUNTA(A2:G2),按Enter键执行计算,然后将公式向下填充,如图1-134所示;筛选出辅助列中为0的行,并选中;按Alt+;组合键,显示可见行,右击,在弹出的快捷菜单中选择“删除行”,如图1-135所示。Excel 2010以上版本,可以直接将选中筛选出的行删除。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_67_1.jpg?sign=1739130963-87VVnWPI3tKs1gm6G1ms8qyvSipkwmam-0-d57916c76ecd7bc22197a27baaabbfd7)
图1-134 添加辅助列
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_67_2.jpg?sign=1739130963-YDzR8HDYOMx3MCsOgh74eT6wOUtiU03B-0-e3398ba751362810a018083d5c912a55)
图1-135 删除空白行
1.4.2 插入行或删除行后,都可自动填写序号
【问题】
在数据处理过程中,插入行、删除行后,原有序号就会变得不连续了:新插入的行,序号是空的;删除行,序号则会间断了。
遇到这种情况,数据少时,可以手工修正,但数据如果有几千行,手工修正的效率就太低了。
【实现方法】
1)ROW函数
用公式“=ROW()-1”代替原有序号,如图1-136所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_68_1.jpg?sign=1739130963-hxKEs5zjzOohDyFp72Tf6yJrdXcFOgNF-0-36885a3064cff58f2cd432780fb2f624)
图1-136 用公式ROW()-1代替原有序号
因为序号是从第二行开始填写的,所以,序号=本行行号减1。当插入新行后,原有行则被向下“推”,序号也自动改变。但是,新插入的行,序号并不会自动出现,须要采用公式来填充。
2)ROW函数+表格
将序号用公式“=ROW()-1代替”,再将原数据通过单击“插入”→“表格”转换为表格,即可实现序号自动出现,如图1-137所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_68_2.jpg?sign=1739130963-AViwOm4Zd7zIIU7wSyBB7dbpH6RpDXcF-0-62e63c907d03201a2b6ed1f856b7e824)
图1-137 ROW函数+表格
但是,通过上述两种方法添加的序号,筛选以后,序号却不能从1开始,这将影响筛选结果的个数与后期的分类打印。
3)SUBTOTAL函数
在A2单元格中输入公式“=SUBTOTAL(3,$B$2:B2)”,按Enter键执行计算,再将公式向下填充。
这样得到的序号,无论怎么筛选,序号都是连续的,如图1-138所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_68_3.jpg?sign=1739130963-Kv9UycmnuucHvs2jMGtWonNNzl7VMXbq-0-4a3ae826661facb29a64d937ec826951)
图1-138 SUBTOTAL函数
1.4.3 数据转置与跳过单元格复制
【问题】
如图1-139所示,能不能直接将表格1的数据转变成表格3的数据呢?能不能一次将表格2的所有红色斜体数字复制到表格1和表格3中呢?
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_69_1.jpg?sign=1739130963-6FDKgYX8eKA7rtD2t6e3Rl6wVCwLcFXd-0-eb048e7dd4ef5b27703ac59b6dd95f19)
图1-139 样表数据
【实现方法】
(1)选择性粘贴,数据转置的使用。
选择表格1全部数据,右击,在弹出的快捷菜单中选择“复制”命令,然后选中A17单元格,右击,在弹出的快捷菜单中选择“选择性粘贴”命令,在打开的“选择性粘贴”对话框中勾选“转置”项,单击“确定”按钮,即可得到表格3,如图1-140~图1-143所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_69_2.jpg?sign=1739130963-5i7q3F7ML55njexEc9QdkdQQL86hnx2t-0-9755464e7172247de38d4ddf1fcf9c63)
图1-140 复制表格1数据
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_70_3.jpg?sign=1739130963-i5EmJOUEEgo2iyfItNoOWcFMqYE6YMOB-0-5f37e844dda3e2bc7c14741946f736cf)
图1-143 行、列转置成表格3
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_70_1.jpg?sign=1739130963-ds2o3OVPyC8seceIw7kukYW40Q1J6TZO-0-f276e632ca177e900302d6fcd0a512e4)
图1-141 选择“选择性粘贴”
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_70_2.jpg?sign=1739130963-wL2RW118EgE1kxYlyNI24QtKBKkk7DEB-0-a03e3951916873ebcdbb63a98b5d6b24)
图1-142 勾选转置
(2)跳过单元格复制。
在表格2中,先选中N列,再按住Ctrl键选中O列、P列,右击,在弹出的快捷菜单中选择“插入”命令,即可在原来O列、P列前插入空列,如图1-144和图1-145所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_70_4.jpg?sign=1739130963-07WAznSd8nXt4C2UwginGYgkgwPlvEGt-0-d640613b60560d66f8a978f6867d420f)
图1-144 选择数据列
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_70_5.jpg?sign=1739130963-tJbl7ECNnbgdlTOm1sVpXxDwE9eov7Jf-0-52731e1bf9c8dfdd68a025f918c956ea)
图1-145 插入空白列
选择M3:S12数据区域,右击,在弹出的快捷菜单中选择“复制”命令,如图1-146所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_71_1.jpg?sign=1739130963-3yTKu2c8xvfA2qzxHQqs8YSybmusXMPc-0-d250412b379604bad9c9520ed738cd37)
图1-146 复制M3:S12数据区域
选中表格1的B3单元格,右击,在弹出的快捷菜单中选择“选择性粘贴”命令,在打开的“选择性粘贴”对话框中勾选“跳过空单元”项,单击“确定”按钮,即可将表格2的所有红色斜体数字复制到表格1中,如图1-147~图1-149所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_71_2.jpg?sign=1739130963-ciOW5y9kEI6187MXEbKVVrVZFmoKY4af-0-4e8ed337ba2042c0d362f5b00f96fe4d)
图1-147 “选择性粘贴”命令
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_71_4.jpg?sign=1739130963-WQNB6w7ms5tiitwWtjeSzmRtR4M49sFO-0-1e9406bd4fec9f160d0a40fb152696f0)
图1-149 复制结果
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_71_3.jpg?sign=1739130963-UkLFDOTPi5FEewz2vxhVlt8hqjxmIk4O-0-b1fc5f15b6e8e8001881a04759ffee00)
图1-148 勾选“跳过空单元”
选中表格3的C17单元格,右击,在弹出的快捷菜单中选择“选择性粘贴”命令,在打开的“选择性粘贴”对话框中勾选“跳过空单元”“转置”两项,单击“确定”按钮,即可将表格2的所有红色斜体数字复制到表格3中,如图1-150和图1-151所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_72_1.jpg?sign=1739130963-5SamK7xmtmmj2HxSCGbj70aFiJ9bsuYq-0-0385f92533b4fa7cdba5a7ca31b38a17)
图1-150 勾选“跳过空单元”“转置”
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_72_2.jpg?sign=1739130963-znISdjgQO9VPjvYaLuvldXALNCkhoxUd-0-2d9f13ab414518010ad99338ee458dcd)
图1-151 表格3的数据
1.4.4 最快捷的一列转多列方式
【问题】
数据如图1-152所示,如何将左侧A列数据快速转为右侧多行多列呢?
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_72_3.jpg?sign=1739130963-nTCJLypjtbFIYSd2lOeTJXa1BJSsiCTE-0-d94287e77349dd20a3a9769bce95b0a8)
图1-152 一列转多列示例数据
【实现方法】
(1)将数据复制到C列。
(2)在D1单元格中输入公式“=C6”,按Enter键执行计算。因为从C6开始名字将另起一列显示,如图1-153所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_73_1.jpg?sign=1739130963-DT1ElnPj5o0yLcaWVTi1X0V5CaZK7ow8-0-344eaa4dd5b01e19d332e2601b29a3ab)
图1-153 输入公式
(3)公式向下填充,再向右填充,在C1:G5区域会囊括原来一整列分布的数据。
(4)选中D1:G5区域,复制,再进行选择性粘贴,用数值覆盖原有的公式。
(5)删除C1:G5区域以外的数据。
一整列数据即可呈现为多列分布,如图1-154所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_73_2.jpg?sign=1739130963-IFK404Uo4tqZK7H7hsDDXMnTblZQWAz8-0-c1f10feda7058bde67a8a3d7d7907a2b)
图1-154 数据呈现多列分布,并删除多余数据
1.4.5 聚光灯效果(阅读模式)改变当前行和列的颜色
【问题】
阅读模式,即通过鼠标单击到哪个单元格,该单元格对应的行和列都同时变成一种颜色。这种阅读模式,又叫聚光灯效果,能快速准确定位和修改相应数据,如图1-155所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_74_1.jpg?sign=1739130963-Anhr5DGZwbMrw3c7A2XNp7zI0egXWBq9-0-d12518da34344a944f41a9e7df4f8004)
图1-155 聚光灯效果
【实现方法】
(1)条件格式设计颜色。
选中数据区“开始”→“条件格式”→“新建规则”,弹出“新建规则”对话框。在打开的“编辑格式规则”对话框中选择“使用公式确定要设置格式的单元格”,然后输入公式“=(CELL("row")=ROW())+(CELL("col")=COLUMN())”,该公式的含义是,当前单元格的行号或列号等于活动单元格的行号列号时,执行条件格式,如图1-156所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_75_1.jpg?sign=1739130963-sthjDg7c2EaBn2bcirBwsahimzJBgsyv-0-0317487c60e806ef7826d45e4ce47644)
图1-156 设置条件格式
虽然CELL()是易失性函数,但在使用时,颜色并不能随活动单元格的变化而自动的随之移动,还要进一步设置。
(2)颜色随单元格改变而移动。
•第1种方式,手动按F9键。先选择单元格,然后按F9键,行和列的颜色就移动到当前单元格了。但这种方式不是自动方式。
•第2种方式,使用VBA代码。只要一小段VBA代码就能实现完全自动颜色的移动。按Alt+F11组合键,打开VAB,执行如图1-157所示操作。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_75_2.jpg?sign=1739130963-PGXJMPsnv8e9lAP1yjRGE3GV4DFe4x2i-0-9db4c364a9790cbd0baa44a5c9a1e536)
图1-157 代码设置颜色随单元格移动
图1-157所示的这段代码的意思是,当活动单元格改变时就执行一次计算。
(3)工作簿的保存。
添加了VBA代码的工作簿一定要保存成“启用宏的工作簿”,下次打开后,要选择“启用宏”命令,才能正常使用。
1.4.6 将同部门员工姓名合并到同一单元格
【问题】
如图1-158所示,左侧每个员工姓名对应一个数据行,如何快速变成右侧每个部门对应一个数据行?
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_76_1.jpg?sign=1739130963-1iKDbRAIehrxhC831SLccT84rNne48TO-0-4b63cb20a34fb2067db5be3faa56c35b)
图1-158 数据样例
【实现方法】
(1)先按照部门进行排序。
(2)在D2单元格中输入公式“=IF(A2=A3,B2&","&D3,B2)”,按Enter键执行计算,再将公式向下填充,得到的结果如图1-159所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_76_2.jpg?sign=1739130963-K4D5rr4U6M0azjtJYy2OUeN4NnRJsedh-0-533288a2a77a6000ac08467695444a56)
图1-159 初步结果
(3)将结果复制,并进行选择性粘贴,只保留数值,放到C列相应的位置,并删除D列。
(4)在D2单元格中输入公式“=COUNTIF($A$2:A2,A2)”,再将公式向下填充,得到的结果是每个部门中的第一行编号都是1,即姓名最全的一行,如图1-160所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_77_1.jpg?sign=1739130963-FAyidgEZFC0jS8sFjRE7SucFTw6WfaHR-0-bb5916f1bf882665d7d87354194cf36c)
图1-160 添加编号
(5)筛选出“编号”不是1的各行,然后删除,即得结果,如图1-161所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_77_2.jpg?sign=1739130963-d7q6iBDAax1NXkz05C8oHghOKoLRngYQ-0-5f4c6bde8900dc3dacb95fe0a9ffb524)
图1-161 删除编号不是1的行
1.4.7 将同一单元格的同部门员工姓名分行显示
【问题】
如图1-162所示,怎样把写在同一单元格中的员工姓名进行分行显示呢?
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_78_1.jpg?sign=1739130963-xyQBwrmnae8vjdI6E4snRb3eBhBcUQTK-0-5bc73853b19dc4f11df9e6f4f7fa6cdf)
图1-162 分行显示同部门的员工姓名
【实现方法】
(1)打开查询编辑器。
将光标放在数据区的任意位置,选择“数据”→“自表格/区域”,弹出“创建表”对话框,如图1-163所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_78_2.jpg?sign=1739130963-hUPYJN1C6dFB4icvsvpfVfibqnyctuq6-0-c2e383bbee7f36e8da9c348d76e2a8a3)
图1-163 选择从表格
选择A1:B5区域后,单击“确定”按钮,打开查询编辑器,如图1-164所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_79_1.jpg?sign=1739130963-2AdVquPPHT6wU13toNjzJwppi3I4usdG-0-5c350c09d2e5230bc03eb8effbbf36e0)
图1-164 查询编辑器
(2)姓名的分列显示。单击“各部门所有人员”列标签,选择“转换”→“拆分列”→“按分隔符”,如图1-165所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_79_2.jpg?sign=1739130963-zZgeNUGnJ9rvsnuWNShJ2eKrLLRwwx8d-0-d9014cb4e2b96ca1418f238ae749f645)
图1-165 姓名分列显示
原数据区姓名之间是由“,”隔开的,所以“选择或输入分隔符”内,选择“逗号”命令,单击“确定”按钮,如图1-166所示。实现了姓名的分列显示,如图1-167所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_80_1.jpg?sign=1739130963-unScrADboc1pp2EE4mFEYsuhuYnTnRKe-0-26e8edb3a2d85cbd6c299a9a3195d3b6)
图1-166 输入分隔符
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_80_2.jpg?sign=1739130963-CvGsv1xqeNo1H4hi949KlWATBY2rji0s-0-344ff26dd441d21d0f9d7e6bcbf7c147)
图1-167 姓名分列显示结果
(3)逆透视列。按住Ctrl键,选中所有的姓名列,然后选择“转换”→“逆透视列”,如图1-168所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_80_3.jpg?sign=1739130963-H98Pa1llkeZQGa1NzeA8AbUKXumqKC4B-0-0dd006b77e7c5f74a2bde9635050acb9)
图1-168 逆透视序列
各部门所有姓名同列显示,然后删除属性列,如图1-169和图1-170所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_81_1.jpg?sign=1739130963-MHlNn53rNlsSDadhbeVpCmPusbcCXGZy-0-1d199df437b1c5f39a06d9ee160ef0eb)
图1-169 各部门姓名同列显示
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_81_2.jpg?sign=1739130963-UeEZWKCO4EdxQwmyfahGDBpKGj8fLXvY-0-7de50b1b34faa42a1b9fa30fa10c1a90)
图1-170 删除属性列
(4)关闭并上载。选择“开始”→“关闭并上载”,姓名出现在同列,并以“表格”的形式显示,如图1-171和图1-172所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_81_3.jpg?sign=1739130963-qT30MVK5qebJgRGQ5CekrQpl4VYTOFFi-0-24608fdab13b3bde64ea03da0dc27c9a)
图1-171 关闭并上载
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_81_4.jpg?sign=1739130963-9R9dRsXOB0BADd8xJZ5TkyhmGiWfl4GS-0-b9dc47952519c49e25043db4d87709fc)
图1-172 表格形式同列显示姓名
将光标放在表格内,选择“设计”→“转换为区域”,可变为普通工作表数据,即得样表所示的结果,如图1-173所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_81_5.jpg?sign=1739130963-iworQUdJ8iWgN1QLrlyXg1ft1M98p6oo-0-810f357422fc8154ad9fb2b4c2a30817)
图1-173 转换为普通工作表区域