极简Excel教程 (下)——文字处理
本教程从Excel的数据录入、数据处理、文字处理三大应用场景入手,让Excel小白通过45分钟的学习,满足90%以上的日常Excel使用需求。本篇为该Excel教程的最后一篇,文字处理部分,文末附上了Excel原始文件的获取方法。
在阅读本文之前,不要忘了完成上篇和中篇的学习。
四、文字处理
1、粘贴文字处理
有时候粘贴网页上的表格时,明明是表格,粘出来却变成了一段文字。例如粘贴一个pdf网页中的表格(见下图)。
粘出来的效果却是这样
这就很让人崩溃了,接下来怎么办,一个一个粘出来吗?
这时候有两种方法,一种是手动换行+分列;一种是先分列,再用公式或者其他方法处理;
(1)手动换行+分列
这种方法适用于行数比较少的时候,如果只是四五行,自己手动去换行就行了。如下图
然后将在word处理完的行,粘贴至Excel里,再分列。
如下图,首先选择已经分好行的数据,然后点击“数据-分列-分隔符号-下一步”
而后点击“空格-完成”。
即得到分割好的数据。再调整至合适列宽,呈现下图结果。
(2)分列+offset公式
如果上面的表格有80行的话,一行一行地手动换行就太累了,可以采用先分列,再用offset公式的形式,可以极大地提高效率。这里为了显示方便,仍以6行表格示例。
a) 分列
首先分列,和上面的方法一样,选中需要分列的单元格,点击“数据-分列-分隔符号-下一步-空格-完成”,得到分列好的数据。
b) 转置数据
复制分列完成的数据,选中要粘贴区域的第一个单元格,点击“粘贴-转置”,或者右键“选择性粘贴-转置”,将之前横向分列的数据变为竖着的一列。
c) 使用offset公式
offset是指定一个初始单元格或区域,根据指定的行数和列数,进行位移,得到目标单元格或区域。
[注意,如果offset公式结果所表示的最终区域是一个单元格,则显示最终单元格的值;但如果最终显示结果是一个区域,则没有办法正确显示出来,会出现“#VALUE!”报错。]
[offset的结果是一个区域的话,可以作为其他公式中的区域部分,例如offset定位出的新区域可以用作vlookup函数中的查找区域, VLOOKUP(L3,C2:J27,3,FALSE) 等同于VLOOKUP(L3, OFFSET(C2:J2,0,0,26,8),3,FALSE)]
公式作用用法及实例
offset根据初始单元格或区域,进行相应的位移,得到最终的单元格或区域=offset (原始区域,移动行数,移动列数,最终区域高度,最终区域宽度)
= OFFSET(C2:J2,0,0,26,8) → C2:J27
[即以C2:J2开始,不进行行和列的偏移,重新选择一个26列单元格高、8个单元格宽的区域,最终区域为C2:J27]
如果不填写最终区域高度、最终区域宽度,则默认为与引用区域相同的高度和宽度。
例如 OFFSET(A1,3,2,1,1) = OFFSET(A1,3,2)→ C4
利用offset公式,推断出每一个单元格根据相应的行号应移动的数值,得出第0行的推导公式,随后就可以自动填充第0行后面的数据。
[这里的行号可自行填充,一般以“0,1,2,…”开始,如下图中的E40:E45区域里的值。行号的作用是将该行后面的数据与行号联系起来。例如F40:I40中的数据就是以E40中的值“0”来进行定位的。
熟练以后,可以不填充行号,直接以row()函数来构造。row()函数可以显示单元格所在的行号。例如E40单元格中的0,等同于公式[ = sum(row(),-40) ]]
offset公式与行号的推导逻辑如下。从C16单元格开始,向下移动0个、1个、2个、3个单元格,将这些值依次放在第0行,然后再移动4个、5个、6个、7个,将之放在第1行,依次类推。
[注意:这里的第0行不是Excel的行号,而是我们自己命名的行号。我们自己命名的第0行,等同于上图表格该sheet中的第40行。]
最终我们将第0行的数据与0(E40单元格的值)联系起来,将第1行的数据与1(E41单元格的值)联系起来,……。
最终呈现结果如下。
这一方法在开始的时候最费事,但在数据量很大时却是最省事的方法。如果利用得当,公式可以反复利用,能节省很多时间。
(3)分列+辅助列+排序/筛选
如果嫌公式麻烦,同时列数据较少的话,还可采用辅助列进行排序或者筛选粘贴。
前面分类转置的方法不再赘叙。我们在原始数据前增加一列,列标题为“辅助列”,根据最终表格的列数在辅助列里依次输入字母,例如这里最终表格有4列,我们就输入A、B、C、D,然后拖动填充。
方法1:排序后手动粘贴
首先选择要排序的区域,注意这里选择了D14:E38。在排序过程中,Excel识别到D14:E14是标题行,于是将标题行排除在排序选项之外。
点击“数据-排序”,选择以“辅助列”、按“升序”排序,得到右边的排序结果。根据这个结果,可以手动将原始列的内容粘贴出去,实现最终结果。
方法2:筛选后手动粘贴
或者不排序,直接通过筛选,将数据结果逐一粘贴出去。
选择包括数据标题的数据D14:E38,点击“数据-筛选”,选择辅助列里包含A的单元格。
最终呈现辅助列值为A的数据如下▼,将之粘贴到一个空白sheet的指定区域。再依次,单独筛选辅助列值为B的数据,粘贴出去,辅助列值为C的数据、辅助列值为D的数据也同样操作方法,即得到最终想要的结果。
2、字段提取及整理
有些时候,我们需要从文字中提取一些字段,从而形成新的列,以方便进一步的数据处理。这时候就需要我们观察数据形式,用一些简便方式批量处理数据后,对于没有办法批量处理的部分,再手动处理数据,以提高工作效率。
例如,在下图中,有一批企业名单和地址,需要提取其中的省份及城市。
当然这个省份、城市可以自己一行一行录入。
但是也可以通过分列的方式做预处理,减少录入的工作量。
分列原理:首先观察数据,基本上这一字段的前两个字都是省份或者直辖市名字,第四个第五个字基本能对应城市名字。那么我们可以在这个字段上采取固定分列的形式,先将省份及城市名字大概提取出来。
[在对地址这一列处理时,应注意复制新的一列来处理,以避免改变了原始信息。]
(1)替换无用词组“中国”
在做分列前,我们发现地址里以“中国”二字开头的数据,“中国”二字既不是我们所需要的信息,同时还会影响我们分列的准确性,所以可以将“中国”这一字段替换掉。
替换方法如下:选择“复制原始地址”列数据,通过“Ctr+H”键打开查找和替换对话框,在查找内容里输入“中国”,替换框里不用输入,点击“全部替换”,这样就将地址列的“中国”一词都去掉了。
(2)对地址进行固定分列
这里的分列原则就是,将第一、第二个字单独提取出来,将第四、第五个字单独提取出来
选择需要分列的区域,点击“数据-分列”,打开“分列”对话框,点击“固定宽度”分列,选择“下一步”,按照之前的分列原则,点击出相应的分列线,点击“完成”。
就得到如下分列结果。可以看出下图中的I列就是我们需要的省份结果,K列就是我们所需要的城市结果。有些数据输入不规范,所以还需要进一步手动处理。
(3)对省份、城市进行排序
首先将数据进行排序。排序的好处是相同的省份、城市放在一块,比如说将“北京”的企业都放一块,复制、粘贴处理比较快。
排序方法如下,选择需要排序的区域,点击“数据-排序”,然后在主要关键字上,选择以“省份”的“数值”,“升序”排列。随后点击“添加条件”,再对次要关键字进行排序,同理,选择以“城市”的“数值”,“升序”排列。最后点击“确定”,即完成排序。
排序结果如M列和N列所示。再在M列和N列的结果进行整理,即得到最终图示上的“省份1”、“城市1”。
写在后面
至此,沧海蝴蝶的极简Excel教程就结束了,希望能对您有所帮助。
Excel数据原始文件,请搜索微信公众号“好饿的蝴蝶”或者“hungrybutterfly”,在微信公众号对话框中输入“Excel数据”,提取下载地址。