今天|excel多列数据合并为一维表的三种方法,你pick哪一个

今天 , 我们的分享跟数据结构有关 。
数据结构的优化 , 是数据分析处理的基础性工作 。
有时 , 我们拿到的表格 , 它的数据结构 , 并不利于后续的数据处理工作 。
这时候 , 我们就需要对数据结构 , 进行适当的调整、优化 。
比如 , 我们有时候会遇到下图左侧所示的数据结构 , 这样的结构 , 适合阅读 , 但后续分析工作会很不方便 。
所以 , 我们就需要将其转换为右侧所示的结构 。
今天|excel多列数据合并为一维表的三种方法,你pick哪一个
文章图片
那么 , 我们要如何完成这种数据结构的转换呢?
复制粘贴?这可是要加班的节奏啊!
不过不用急 , 解决的方法还是不少的 。
今天|excel多列数据合并为一维表的三种方法,你pick哪一个
文章图片
函数法
我们可以通过IF、SMALL、RIGHT、TEXT、ROW、COLUMN、INDIRECT等函数的组合 , 来实现我们想要的效果:
我们先解决姓名列 , 在G2单元格输入公式:=INDIRECT(TEXT(RIGHT(SMALL(IF($A$2:$D$6<>"",ROW($2:$6)*10+COLUMN($A:$D)*10001),ROW(A1)),3),"r0c0"),FALSE)
▲左右滑动查看
注意:这个是数组公式 , 需要同时按【Ctrl+Shift+回车键】来完成输入 。
今天|excel多列数据合并为一维表的三种方法,你pick哪一个
文章图片
部门列在F2单元格输入公式:=INDEX($A$1:$D$1,1,MATCH(1,MMULT(TRANSPOSE(--($A$2:$D$6=G2)),ROW($A$1:$A$5)^0),0))
▲左右滑动查看
注意:这也是数组公式 , 需要同时按【Ctrl+Shift+回车键】来完成输入 。
今天|excel多列数据合并为一维表的三种方法,你pick哪一个
文章图片
这样 , 我们就达到了想要的效果 。
这种方法 , 所用的函数比较多且公式复杂 , 特别是在数据量较多的情况下 , 由于是数组公式 , 运算量会很大 , 会有卡顿现象 。
对于这两个公式 , 我们今天就不展开讲解了 , 因为会占用大量的篇幅 。
下面 , 是更好的方法!
今天|excel多列数据合并为一维表的三种方法,你pick哪一个
文章图片
错位引用法
?在A7单元格输入公式 , 然后向右、向下拖拽;=B2
?将A2:A21的数据复制到G2:G21中 , 注意 , 在粘贴的时候要使用选择性粘贴-数值来进行 。
?这时候 , 姓名并不是首尾相连的 , 中间还夹杂着很多0 , 我们按下【Ctrl+G】组合键 , 打开定位功能 , 单击定位条件 , 选择「常量」 , 将数字以外选项的勾都去了 , 单击确定 。
?这时候 , 内容为0的单元格 , 已经全部被选中 , 鼠标移动到任意一个0值的单元格上 , 依次单击:
鼠标右键-删除-下方单元格上移-确定 , 完成删除0值单元格的操作 , 并作适当的格式调整 。
对于部门列 , 依旧使用上述公式来完成 , 即:=INDEX($A$1:$D$1,1,MATCH(1,MMULT(TRANSPOSE(--($A$2:$D$6=G2)),ROW($A$1:$A$5)^0),0))
▲左右滑动查看
注意:这个是数组公式 , 需要同时按【Ctrl+Shift+回车键】来完成输入 。
今天|excel多列数据合并为一维表的三种方法,你pick哪一个
文章图片
数据中夹杂0值的原因 , 是因为 , 我们的原始数据源中 , 有空单元格存在:
今天|excel多列数据合并为一维表的三种方法,你pick哪一个
文章图片
这种方法 , 相较于公式法来说已经简单了很多 , 但依旧不适用于处理大量的数据 。
那么有没有一种快捷、高效又能从容应对大量数据的方法呢?
今天|excel多列数据合并为一维表的三种方法,你pick哪一个】答案是肯定的 , 那就是我们的PowerQuery 。