![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=1739273828-5wH5i7nj6U2bs8ytNOuKFiBIZ6AylNdr-0-2a49d939aab5e64cf8aae820df4a18a8)
图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=1739273828-81R3B5zClqXhnyWMjsktfcbLPujr0Dmc-0-d16fe0f05baefaca4f5ee44fbc977d48)
图1-134 添加辅助列
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_67_2.jpg?sign=1739273828-GFwvyBvEBqlIltMWvfhmPCV5mRZtL3U8-0-d242a42b35a3a8c27fdf3330461b5932)
图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=1739273828-Cm0sObQo5fTAXWvfmZJyMBdMwT2seJmw-0-11bf0f03e816fbce76e76a6ce88f119d)
图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=1739273828-2h7ydq4owKpthByYlnurtjrBCmrkIhSf-0-d901f93a24d63c8b047a0a30eae5c973)
图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=1739273828-N1gTmgoBvEPJzxQUewMhnB7bp0JIc49U-0-2f1bce2d2fffc8264505a76370fe3c98)
图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=1739273828-bZOyjIPDl5godSw3URmtR73LuEFFcBRT-0-c063caa12289e23258d0bb4086cdc426)
图1-139 样表数据
【实现方法】
(1)选择性粘贴,数据转置的使用。
选择表格1全部数据,右击,在弹出的快捷菜单中选择“复制”命令,然后选中A17单元格,右击,在弹出的快捷菜单中选择“选择性粘贴”命令,在打开的“选择性粘贴”对话框中勾选“转置”项,单击“确定”按钮,即可得到表格3,如图1-140~图1-143所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_69_2.jpg?sign=1739273828-tHI8nE3pzLMA40HRuNR7I5IIJzswvLZr-0-315ca14f839430c2a995e932e7fac44a)
图1-140 复制表格1数据
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_70_3.jpg?sign=1739273828-dQo879i2WXbIY95MPmguX3nEk1MH1df8-0-143b4caf5e5747f7806044c57b1d33e0)
图1-143 行、列转置成表格3
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_70_1.jpg?sign=1739273828-RyfNXd6HoyciU1VEYtLO0n35BRWdIkLk-0-c762b61668d25699b19baebe3421e543)
图1-141 选择“选择性粘贴”
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_70_2.jpg?sign=1739273828-mtcaSBQIrZJXLPD4CxzRcEpTbqnP0tRB-0-6b5119864495d5510d9cc70d9488b831)
图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=1739273828-a693H4IigS6HZ7zW5GcIZz901cdChCxK-0-d86644c3a8873e919252fed4766000bc)
图1-144 选择数据列
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_70_5.jpg?sign=1739273828-kbBfTkdu4Kz4Grt6k3jVHJThqsqQlzQ6-0-a90b7549bc0e615206a2741686869e01)
图1-145 插入空白列
选择M3:S12数据区域,右击,在弹出的快捷菜单中选择“复制”命令,如图1-146所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_71_1.jpg?sign=1739273828-2xNhy8WJNtEsILmmLdERGNc28NyXvIf8-0-d7d3d61c7ad65be32c4c9f4930b7d212)
图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=1739273828-9qX5EtatFmMFbJUsDT915I9aywYQZAP4-0-66d2eaa6ff3950d603edb323f8ba7bea)
图1-147 “选择性粘贴”命令
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_71_4.jpg?sign=1739273828-8thLWleDdyl5zE5FgBB8MmFiyle1ilIh-0-2f30bf87313c098ef5501ebabdd7db0e)
图1-149 复制结果
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_71_3.jpg?sign=1739273828-eSDGgudr6rVhnZhT8FJyejr6uzsrzo25-0-d4cc41df0e8853f6a186b73fd7e79f47)
图1-148 勾选“跳过空单元”
选中表格3的C17单元格,右击,在弹出的快捷菜单中选择“选择性粘贴”命令,在打开的“选择性粘贴”对话框中勾选“跳过空单元”“转置”两项,单击“确定”按钮,即可将表格2的所有红色斜体数字复制到表格3中,如图1-150和图1-151所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_72_1.jpg?sign=1739273828-RhZ6Ub5NLq3KAhSxeUEkLD4XuymMfffb-0-0bc05681ccaf3a404d06715bc5308f8b)
图1-150 勾选“跳过空单元”“转置”
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_72_2.jpg?sign=1739273828-UJL2fhWScq8SIqTsKWih2mxsGkON6qjY-0-df59992507a82401c233724a1eec7a2a)
图1-151 表格3的数据
1.4.4 最快捷的一列转多列方式
【问题】
数据如图1-152所示,如何将左侧A列数据快速转为右侧多行多列呢?
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_72_3.jpg?sign=1739273828-SLKzBVX2WagzgCr78Qsuzw214smAyNhi-0-3593bfc3cfb851e9699be07bdb981049)
图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=1739273828-q9rZbBQ7oytj42ZMGimDvPUyIoylqlRX-0-a37bc7dac9e343dbaa060b32484503b0)
图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=1739273828-vouMhaRS4BvI7QBbcY8feL601zn1zjw5-0-4f5bffd6e27b6c64bc0dfe87c2fdd3fb)
图1-154 数据呈现多列分布,并删除多余数据
1.4.5 聚光灯效果(阅读模式)改变当前行和列的颜色
【问题】
阅读模式,即通过鼠标单击到哪个单元格,该单元格对应的行和列都同时变成一种颜色。这种阅读模式,又叫聚光灯效果,能快速准确定位和修改相应数据,如图1-155所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_74_1.jpg?sign=1739273828-xnXAuOb8KMituDTXxT3EGT4LxWPUUDLt-0-8144658b33f9ceb282ad93d332a17312)
图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=1739273828-enBBGOHOa2pm8thJlbwbXRo3yvv2xe2b-0-e5529891ceba4a80f012d3b7eb76b515)
图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=1739273828-vTitWBc7ZmEZF2rms7sCj1AjsXKWHwgX-0-bdbe6864855c328bbd5b21f529463db3)
图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=1739273828-cwQPppTuSHofYE0ceDQmLXbHE8VkpvQH-0-5749f9a0bffa479bff5450ccbc402669)
图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=1739273828-lXsbA1WR6kWOOli2OgzUPzdxZIdFK4XN-0-f37440446641f0c1a67a8f00895f4d14)
图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=1739273828-TJNhsr8jmaW1uUQLCm1GJ9NHfMn4ByVE-0-6a0e2d42bc6d5fa6c8c3e1fb41c43ccb)
图1-160 添加编号
(5)筛选出“编号”不是1的各行,然后删除,即得结果,如图1-161所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_77_2.jpg?sign=1739273828-YTgjDNX4NpMYNdDNmy9uIxcx3AGMYpLp-0-cb2eec68a14b39f69afb20012b473283)
图1-161 删除编号不是1的行
1.4.7 将同一单元格的同部门员工姓名分行显示
【问题】
如图1-162所示,怎样把写在同一单元格中的员工姓名进行分行显示呢?
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_78_1.jpg?sign=1739273828-kYHf0wwnI2IG3mgCoRQeogXBmiYm7qwv-0-e159897de8178c7c551b71ef555a4b74)
图1-162 分行显示同部门的员工姓名
【实现方法】
(1)打开查询编辑器。
将光标放在数据区的任意位置,选择“数据”→“自表格/区域”,弹出“创建表”对话框,如图1-163所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_78_2.jpg?sign=1739273828-RpzTS45OS3BePVL9e5KuquyRyzsyISwN-0-66917432f45166d4cc5fd8545d8ba836)
图1-163 选择从表格
选择A1:B5区域后,单击“确定”按钮,打开查询编辑器,如图1-164所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_79_1.jpg?sign=1739273828-msEeJtEbUoQUdAZBsJICiNk0TDrSitPD-0-aa3549024247bc5b14727a9141d1385e)
图1-164 查询编辑器
(2)姓名的分列显示。单击“各部门所有人员”列标签,选择“转换”→“拆分列”→“按分隔符”,如图1-165所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_79_2.jpg?sign=1739273828-ereGPa0SdPcceeb9cBaS8Tdf01wOttFj-0-d75700a09e3bf8b78ade63c3658dc8db)
图1-165 姓名分列显示
原数据区姓名之间是由“,”隔开的,所以“选择或输入分隔符”内,选择“逗号”命令,单击“确定”按钮,如图1-166所示。实现了姓名的分列显示,如图1-167所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_80_1.jpg?sign=1739273828-qMUj2q6O9qJITulmg9lNU45tLLXEaGHn-0-00f5d454f419b34509ea0837d12b2ba4)
图1-166 输入分隔符
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_80_2.jpg?sign=1739273828-o0orLvb0P8r76q2665r0PA1FYIu1UtmA-0-d412e240d990f607cdd264827a39b6e6)
图1-167 姓名分列显示结果
(3)逆透视列。按住Ctrl键,选中所有的姓名列,然后选择“转换”→“逆透视列”,如图1-168所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_80_3.jpg?sign=1739273828-AJpM6vLMIlst1LwQ1037VD79jSV8VovI-0-6d7cfff0611073d25990f1d08f36d3a6)
图1-168 逆透视序列
各部门所有姓名同列显示,然后删除属性列,如图1-169和图1-170所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_81_1.jpg?sign=1739273828-YP2ayWMIthxb8v0HZ3HFNws8N8WLhwzq-0-f35b42220d6e642a4c6ee213d407ce61)
图1-169 各部门姓名同列显示
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_81_2.jpg?sign=1739273828-dgVvGMPuo2FyCzcDKfosFcMGQHUHByO3-0-01b1bf2e793694fbd298d76a4027b4ab)
图1-170 删除属性列
(4)关闭并上载。选择“开始”→“关闭并上载”,姓名出现在同列,并以“表格”的形式显示,如图1-171和图1-172所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_81_3.jpg?sign=1739273828-G4oZc3qVR7Eo75fAyovRxVRst4rrTSZ1-0-147fa97651cfe83685a8cd61e39ed0b0)
图1-171 关闭并上载
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_81_4.jpg?sign=1739273828-1af1kJ8XIhGG0AfocqkRAFoDIUYAq1Bi-0-138f32a9ef7baefd31cb3fb7e550b3f7)
图1-172 表格形式同列显示姓名
将光标放在表格内,选择“设计”→“转换为区域”,可变为普通工作表数据,即得样表所示的结果,如图1-173所示。
![](https://epubservercos.yuewen.com/DF300B/16793576905322306/epubprivate/OEBPS/Images/36890_81_5.jpg?sign=1739273828-7wLDnTIJl7R9P1uXOy49zlWX1Hkoqtrr-0-1e0fb3808b85fbd29386b8655cbd2fbe)
图1-173 转换为普通工作表区域