你是不是也遇到过这种情况:从某个奇葩系统里导出来一张表,或者从哪个古早的网页上复制了一段数据,结果,本该是清清爽爽好几行的数据,硬生生被“压缩”成了一行。张三的姓名、电话、地址,紧挨着李四的姓名、电话、地址,所有信息像挤在一节严重超载的地铁车厢里,密密麻麻,肩并着肩,看得人眼花缭乱,太阳穴突突直跳。
想把它们拆开?最原始的本能告诉你,一个一个地手动复制粘贴。
没错,就是那种最笨、最直接,也最能让你体会到什么叫“数字民工”的办法。选中张三的名字,Ctrl+C,到新的一行,Ctrl+V;再回去选中他的电话,Ctrl+C,到新行的第二格,Ctrl+V……这个过程,你的指尖在键盘上机械地跳跃,大脑逐渐放空,灵魂仿佛出窍,开始怀疑人生的意义。如果只有三五条数据,行,忍了,就当是活动手指了。可要是成百上千条呢?我敢打赌,不用半个小时,你的眼神就会变得和桌上的绿萝一样呆滞,心里只有一个念头:毁灭吧,赶紧的。
这种体力活,恕我直言,简直是对我们宝贵生命和智慧的极大浪费。我们是来驾驭Excel的,不是来给Excel当牛做马的。所以,把这个念头从你的脑子里扔出去,永远别再捡回来。
那怎么办?别急,我们来点高级的。
玩法一:函数公式的魔法盛宴
当你需要处理的数据量不大不小,几十上百行,又不想动用“重武器”时,用函数公式来解决,简直就像是给你的表格施展了一场精妙的魔法。它需要你动点脑子,但那种解开谜题后的成就感,爽!
假设你的数据是这样的,从A1单元格开始,横向铺开:
A1: 姓名1 B1: 电话1 C1: 地址1 D1: 姓名2 E1: 电话2 F1: 地址2 ...
我们想要把它变成这样整齐的列表:
A3: 姓名1 B3: 电话1 C3: 地址1
A4: 姓名2 B4: 电话2 C4: 地址2
...
看明白了吗?我们要把横着的数据,像玩俄罗斯方块一样,一块一块地“抓”下来,再整整齐齐地码好。这里的核心,就是定位和抓取。
我们需要一个公式,它能智能地知道在新的第一行应该去抓原始数据的第一、二、三格;在新的第二行,应该去抓第四、五、六格。这个规律,你发现了吗?
这里,我们就需要请出几位函数大神了:INDEX、ROW 和 COLUMN。
简单粗暴上公式,你在A3单元格里输入这个:
=INDEX($A$1:$IV$1, (ROW(A1)-1)*3 + COLUMN(A1))
先别被这串鬼画符吓到。我们把它拆开,像庖丁解牛一样,看看里面到底是什么乾坤。
-
$A$1:$IV$1:这是什么?这是我们原始数据的范围。$A$1好理解,就是A1单元格。$IV$1呢?这是Excel 2003版时代的最大列数,代表着“足够远”,基本上就是告诉Excel:“嘿,哥们,我的数据就在第一行,你尽管往右找,别怕找不到头。” 当然,你也可以根据你的实际数据范围来写,比如$A$1:$Z$1,只要能框住你所有的数据就行。前面的$符号是绝对引用,意思是,等下我们拖动公式的时候,这个范围你可别给我乱动,给我锁死了! -
ROW(A1):这个函数是获取当前单元格的行号。ROW(A1)就是1。当我们把公式往下拖到A4单元格时,它就变成了ROW(A2),结果就是2。看到了吗?这是一个动态的计数器,我们每往下走一行,它就自动帮我们+1。 -
COLUMN(A1):同理,这是获取列号。COLUMN(A1)是1。当我们把公式往右拖到B3单元格时,它就变成了COLUMN(B1),结果就是2。这是另一个方向的计数器。 -
(ROW(A1)-1)*3 + COLUMN(A1):这才是整个公式的灵魂!这是在计算我们到底要去原始数据里抓第几个单元格。- 在A3单元格,
ROW(A1)是1,COLUMN(A1)是1。公式变成(1-1)*3 + 1,结果是1。意思就是:去抓第1个数据(姓名1)。 - 把公式往右拖到B3,
ROW(A1)还是1,COLUMN(B1)变成了2。公式变成(1-1)*3 + 2,结果是2。意思就是:去抓第2个数据(电话1)。 - 把公式从A3往下拖到A4,
ROW(A2)变成了2,COLUMN(A1)还是1。公式变成(2-1)*3 + 1,结果是4。意思就是:去抓第4个数据(姓名2)。
- 在A3单元格,
看懂了吗?这个公式就像一个精准的导航仪,通过行号和列号的变化,自动计算出要去原始数据“仓库”的哪个货架上取货。那个数字3,就是你每个“信息组”包含的单元格数量(姓名、电话、地址,一共3个)。如果你的信息组是4个,那就把3改成4。
最后,INDEX 函数就是那个勤劳的搬运工。它接收了我们计算出的位置编号(比如1, 2, 4),然后就跑到$A$1:$IV$1这个大仓库里,把对应位置的数据给搬了过来。
写好第一个公式后,选中这个单元格,鼠标放在右下角,变成黑色十字,先往右拖动两格,再一起往下拉。哗啦一下,所有数据瞬间归位。那一刻,你就是办公室里最亮的仔。
玩法二:Power Query,数据处理的降维打击
如果说函数公式是精妙的魔法,那Power Query(简称PQ)就是数据处理领域的“高达”或者“歼星舰”。它是一种思维的彻底转变,是从“我该怎么写公式计算”到“我想要数据变成什么样”的升华。
特别是当你处理的数据量巨大,来源复杂,而且这个“一行变两行”的活儿需要反复做的时候,PQ就是你的不二之选。别问我怎么知道的,问就是泪,曾经每个月都要手动整理一次报表的泪。
用PQ来解决这个问题,过程就像在玩乐高,一步步搭建,每一步都清晰可见,而且随时可以返回修改。
来,跟我一起进入这个数据处理的“里世界”:
-
把数据“吸”进来:首先,选中你那乱七八糟的一行数据,然后在Excel的“数据”选项卡里,找到“从表格/区域”。Excel会很智能地问你数据范围,确认后,你就被传送到了一个全新的界面——Power Query编辑器。这里,就是你的专属数据炼金室。
-
转置,乾坤大挪移:你的数据现在还是横躺着的。在PQ编辑器的“转换”选项卡里,有一个神奇的按钮,叫做“转置”。点一下它,你会看到惊人的一幕:你的一整行数据,“唰”地一下,全都竖起来了,变成了一列。姓名1、电话1、地址1、姓名2……它们现在排着队,很乖。
-
分组,给他们打上标记:现在数据是竖着的一长条,但我们还不知道谁和谁是一家的。我们需要给它们分组。这里需要一点小技巧。
- 在“添加列”选项卡里,找到“索引列”,从0或者1开始都行。这样,每一行数据就有了一个独一无二的编号(0, 1, 2, 3, 4, 5...)。
- 再添加一个“自定义列”。我们需要用这个编号来做点文章。比如,用整数除法。假设我们的信息是3个一组,我们可以新建一列,公式写成
Number.IntegerDivide([索引], 3)。这里的[索引]就是你刚刚创建的索引列的名字。这个公式会干什么呢?0、1、2除以3的整数部分都是0;3、4、5除以3的整数部分都是1。看,我们成功地给每三条数据打上了一个相同的“组号”!
-
再次转置,重塑金身:有了组号,事情就好办了。我们选中刚刚创建的“组号”列,然后去“转换”选项卡,找到“透视列”。
- 在弹出的对话框里,它会问你,“值列”是哪一列?你就选包含着“姓名1、电话1...”的那一列。
- 在高级选项里,聚合函数选择“不要聚合”。
- 点击确定。奇迹发生了!PQ会根据你的“组号”,把属于同一组的数据重新横向排列。姓名、电话、地址,又重新肩并肩站在一起,但这一次,是以我们想要的、整齐的多行形式!
-
收尾与加载:最后,你可以把自动生成的列名改成“姓名”、“电话”、“地址”,删除掉多余的辅助列。然后点击左上角的“关闭并上载”,PQ就会把处理得漂漂亮亮的结果,以一个全新的、智能的表格形式,放回你的Excel工作表里。
用PQ最大的好处是什么?一劳永逸。
下次,你的原始数据更新了,多了几十个人的信息。你不需要再重复上面的任何一步。只需要在结果表上点一下右键,选择“刷新”。嗖的一下,所有新数据都会被自动处理好,追加到你的结果表里。
这已经不是技巧了,这是工作流的革命。它把你从重复的、枯燥的劳动中彻底解放出来。
所以,下次再有人问你“Excel怎么把一行变成两行”,你就可以云淡风轻地看着他,然后根据他的痛苦程度,选择是传授他精妙的函数魔法,还是直接带他登上Power Query这艘无坚不摧的战舰。
【excel怎么把一行变成两行】相关文章:
标题:excel菜单栏被隐藏了怎么办12-05
excel发送错误报告怎么办12-05
心脏骤停的感觉,莫过于此。12-05
怎么让excel只打印第一页12-05
excel 几又几分之几怎么打出来12-05
excel表全部显示出来怎么办12-05
excel怎么把一行变成两行12-05
怎么把pdf中表格复制到excel表格12-05
怎么把excel隐藏的列显示出来12-05
我敢打赌,你一定有过这种体验。12-05
excel2007 怎么设置数据有效性12-05
excel怎么把一个单元格拆分12-05
这事儿,说起来就来气。12-05