![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=1739028572-5elFYQRBPxUb5MXnQjzrYMHtHoOmJe18-0-e8cba175745d5cf257e52eaa38320fbf)
图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=1739028572-8xf9qpOSbC2UmGVlOlCnPS6LyNqyq0SZ-0-44ef5c0d77de8a8f2ac7e840aeac8be8)
图1-134 添加辅助列
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_67_2.jpg?sign=1739028572-1cBD2Taxnrw4YMcvOUQePkk5ZTkgRlE8-0-ee0059f568f81fdb3be923b69f214607)
图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=1739028572-0fhjSItWB3hTZadiNw4AaEnfItoc78jK-0-c53ddd8cdf8eaf7151dc94e8df4e8573)
图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=1739028572-FAakBYlfKNRIADNk3F3PuQSrdZ3Rbl4U-0-b19d6547ac6e50702cecb72f46cc18ab)
图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=1739028572-Yoo5THJ69q9QPZYOAc8siOgE6UoaYhO3-0-70656dfb28456aacb679d3c8d8aa8b5d)
图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=1739028572-GrOkf9N11duCVOaejbNbt4jHnHV5U7oc-0-fedb3a129bc62978683e3f09885e6a46)
图1-139 样表数据
【实现方法】
(1)选择性粘贴,数据转置的使用。
选择表格1全部数据,右击,在弹出的快捷菜单中选择“复制”命令,然后选中A17单元格,右击,在弹出的快捷菜单中选择“选择性粘贴”命令,在打开的“选择性粘贴”对话框中勾选“转置”项,单击“确定”按钮,即可得到表格3,如图1-140~图1-143所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_69_2.jpg?sign=1739028572-0BekowUzR2hG92cauX74Gc2Izv3T7mPc-0-26335b8808a0ccbca8ef41b4f11ec0bd)
图1-140 复制表格1数据
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_70_3.jpg?sign=1739028572-K3QEGvxkv637VJR25giFbXBDYlL7upSX-0-3e3cbae3837de20fca891d83895766c2)
图1-143 行、列转置成表格3
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_70_1.jpg?sign=1739028572-qEXB7WQ3oQ3TaRnLfUy4GqAfpTN566mW-0-febed76436f33926b9752e9ce2710728)
图1-141 选择“选择性粘贴”
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_70_2.jpg?sign=1739028572-2f1z3aU46jtg1yOONViX894pSVvLAG3V-0-ff5743b801a14fc55389173b315e293d)
图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=1739028572-SiBhRI9r6guugDWJ952WR4AN3Gghceg5-0-9e1c68c52e628ede09c8f5d6ca2df2cf)
图1-144 选择数据列
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_70_5.jpg?sign=1739028572-eDOmOlO13DQgXP1xksadwHJD7FdooZd0-0-3b9cbd0708e4fb24807caa0807ef85e8)
图1-145 插入空白列
选择M3:S12数据区域,右击,在弹出的快捷菜单中选择“复制”命令,如图1-146所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_71_1.jpg?sign=1739028572-ao3k8X49K45Ki3u3crmBhKIS37vXpkzx-0-4ba5c7662c2b0fc023d2fb0436036ffa)
图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=1739028572-T9Y0aKfjZoAsUxPthj2BYbnpyZrsI7qi-0-5c2e6c712d7670f4b85a388615798597)
图1-147 “选择性粘贴”命令
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_71_4.jpg?sign=1739028572-wzK5bhUrR7ee5hwYG53x03gCRmEMLJyo-0-7795d1fd2a736bc21af70d92630fa9a8)
图1-149 复制结果
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_71_3.jpg?sign=1739028572-S3zK1eABM0m26aPvsoTLEChG9aoxMsip-0-b4f7b44d1ce5b00abf5180225ec80c1d)
图1-148 勾选“跳过空单元”
选中表格3的C17单元格,右击,在弹出的快捷菜单中选择“选择性粘贴”命令,在打开的“选择性粘贴”对话框中勾选“跳过空单元”“转置”两项,单击“确定”按钮,即可将表格2的所有红色斜体数字复制到表格3中,如图1-150和图1-151所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_72_1.jpg?sign=1739028572-F42TfqHLaKhSnEe2BmWObEUExX6zRP1R-0-d3c802c2fbb063ec1e79bffcae771f9a)
图1-150 勾选“跳过空单元”“转置”
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_72_2.jpg?sign=1739028572-suHQAzyHn1UB7dUNxpS4EzsXExlVqJEC-0-91d2287254e2da87f91dc0169a57050e)
图1-151 表格3的数据
1.4.4 最快捷的一列转多列方式
【问题】
数据如图1-152所示,如何将左侧A列数据快速转为右侧多行多列呢?
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_72_3.jpg?sign=1739028572-NchJj1jR8OogQusk4WoP4vMsuY90ezDr-0-d5702d34b2f0382f8143ab3bc2a07377)
图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=1739028572-0TzdgCtuoz6d6NIxQSCThRgUVQFKZFjJ-0-386b719847fd5d8bf7028bbd7750d9ec)
图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=1739028572-yWp1ZZQA8rjDeLGP3uptzdyrKjJ4XzUy-0-6d345ddbcb193616fe221c3cb01b7472)
图1-154 数据呈现多列分布,并删除多余数据
1.4.5 聚光灯效果(阅读模式)改变当前行和列的颜色
【问题】
阅读模式,即通过鼠标单击到哪个单元格,该单元格对应的行和列都同时变成一种颜色。这种阅读模式,又叫聚光灯效果,能快速准确定位和修改相应数据,如图1-155所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_74_1.jpg?sign=1739028572-UKwE7gaqx663OEovp6RgxmpHpWkGYGPJ-0-9707cf9a60126b07c7c8a0403aa0d2d7)
图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=1739028572-lJczEQngpMiBtvjTLtScjEb88bl0F513-0-d371b3a7003ba2e3044f04fe74bb502b)
图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=1739028572-lu5sqKsnxZhpZKTW4WXkwXIyZd1lgcjI-0-74265adc6aed5f3ffd7b936402781191)
图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=1739028572-27aYuvx5y2two31AY46vZJYHRzSQWrgA-0-2b52a4a6f5701eb5cdbe59c7520bbab9)
图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=1739028572-M6GDX1Q33P15RCM4Q6bPAjSXDPQMNBqK-0-6886d9b27935624144c1b3df6f4815ba)
图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=1739028572-qqpeAo4oKZ0xfu94o4l1AGeINEA8YLue-0-3138888c0d2eae74e290f1efd1c2e195)
图1-160 添加编号
(5)筛选出“编号”不是1的各行,然后删除,即得结果,如图1-161所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_77_2.jpg?sign=1739028572-hHVmg8QMVKDNeSuZCocbEe0w33nAexfj-0-82e7eff16a38ecd88b6b36c31dcb0cb4)
图1-161 删除编号不是1的行
1.4.7 将同一单元格的同部门员工姓名分行显示
【问题】
如图1-162所示,怎样把写在同一单元格中的员工姓名进行分行显示呢?
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_78_1.jpg?sign=1739028572-ZV96MFYHA7iJHC9Lsdt6lsBXqRK9bmCG-0-c2665ea23ffa4afe5994a85445bcbf42)
图1-162 分行显示同部门的员工姓名
【实现方法】
(1)打开查询编辑器。
将光标放在数据区的任意位置,选择“数据”→“自表格/区域”,弹出“创建表”对话框,如图1-163所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_78_2.jpg?sign=1739028572-L0OVXnOYrco1Fi2W14wz1WmT0v6t3hoq-0-5e0af74c496819bd8c39bdd825622e5f)
图1-163 选择从表格
选择A1:B5区域后,单击“确定”按钮,打开查询编辑器,如图1-164所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_79_1.jpg?sign=1739028572-AwgNHtCf6UCuRJLDODKAds9HtWCzP5IM-0-14a623943886467b0091ac2fc056d5f2)
图1-164 查询编辑器
(2)姓名的分列显示。单击“各部门所有人员”列标签,选择“转换”→“拆分列”→“按分隔符”,如图1-165所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_79_2.jpg?sign=1739028572-zIIu7Uk9NxSp44P0lEPDzzTVGe1XqPLU-0-459692bd1643bdaec5a3af3b89741118)
图1-165 姓名分列显示
原数据区姓名之间是由“,”隔开的,所以“选择或输入分隔符”内,选择“逗号”命令,单击“确定”按钮,如图1-166所示。实现了姓名的分列显示,如图1-167所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_80_1.jpg?sign=1739028572-V7ky5qVJD9T1sDB2wxNFIfDmkTf4aEl1-0-909a5609382679d5fccaca44c3cf8e14)
图1-166 输入分隔符
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_80_2.jpg?sign=1739028572-5MV6S0B0bs3l0MQZ5cEQ709SsCA2aNRl-0-66eba89d9ababaf19585eaa40e1732ad)
图1-167 姓名分列显示结果
(3)逆透视列。按住Ctrl键,选中所有的姓名列,然后选择“转换”→“逆透视列”,如图1-168所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_80_3.jpg?sign=1739028572-tB5D5aZ9oa5uIXywrTlDxiU3ZTbKxrGx-0-f64c3028b4ed32d49f3224b00d5e00f4)
图1-168 逆透视序列
各部门所有姓名同列显示,然后删除属性列,如图1-169和图1-170所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_81_1.jpg?sign=1739028572-MKqkRYe3Cgovf0Q0WW1HDH6D6WWpOcgw-0-c9b9fbf217e9196f5e39684ccebdf8c0)
图1-169 各部门姓名同列显示
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_81_2.jpg?sign=1739028572-UBGVysPwDnCE0oSSPNEKPs0uNlOIZbmc-0-83ecf9b3d40e9ead859b7b56de27a5e7)
图1-170 删除属性列
(4)关闭并上载。选择“开始”→“关闭并上载”,姓名出现在同列,并以“表格”的形式显示,如图1-171和图1-172所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_81_3.jpg?sign=1739028572-KfPBJLLaOfdSxTJ5Rb9zJ6QRh3IvWl3F-0-64ea6607622ac991dbfab22f4e9ef518)
图1-171 关闭并上载
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_81_4.jpg?sign=1739028572-azDsNtpqe3lgG3eWeo0rXzDjEFDhlbeP-0-6cbbedf0e5b98154102626e7acbc57b8)
图1-172 表格形式同列显示姓名
将光标放在表格内,选择“设计”→“转换为区域”,可变为普通工作表数据,即得样表所示的结果,如图1-173所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_81_5.jpg?sign=1739028572-wSZuTcFtosDjnMixzrhYU8H1UKwiNwDm-0-f31b1f16b097221d0b4665712c83fcdd)
图1-173 转换为普通工作表区域