将多个excel列拆分为行
Posted
技术标签:
【中文标题】将多个excel列拆分为行【英文标题】:Split multiple excel columns into rows 【发布时间】:2014-06-06 20:50:49 【问题描述】:我有一个包含如下数据的电子表格:
98929 11.38 3.39 9.10
98930 15.24 2.86 7.05
每个值都在单独的列中。我需要它像这样显示:
98929 11.38
3.39
9.10
98930 15.24
2.86
7.05
这可能吗?
【问题讨论】:
***.com/a/10922351/293078 【参考方案1】:有一个 TRANSPOSE 数组函数可以用来转置数据,但是对于大多数情况我发现使用 copy->paste-special->transpose 更容易。
http://www.techrepublic.com/blog/microsoft-office/transpose-excel-data-from-rows-to-columns-or-vice-versa/
编辑: 根据您想要的数据结构,使用数据透视表可能是重塑数据的一种相对简单的方法。假设如下数据结构
Key a b c
98929 11.38 3.39 9.1
98930 12.38 4.39 10.1
98931 13.38 5.39 11.1
根据您的数据添加数据透视表并
-
将“键”添加到行部分
将“a”、“b”、“c”(等)添加到值部分
将“值”条目(即求和符号)移动到行部分
关闭小计、总计,并使用“表格”布局
这是一张图片,如果上面的文字不清楚。
这将取决于您的 Excel 版本,但在功能区中,单击“设计”选项卡并选择数据透视表,然后在上方的小计和总计选项下选择“不显示”左上角,然后选择报表布局下的“表格”选项。
【讨论】:
谢谢,我确实试过了,但是我有几百行,而且要花很长时间才能一一完成。它似乎不允许我一次做一个以上的事情。另外,我需要维护第一列中的数据。【参考方案2】:这是一种解决方案,假设您的“Key”值大于 9000,而其他列值不是(更一般地说,假设“Key”和其他列之间没有交集)。
使用文本编辑器 NotePad++ 将所有列合并到一个唯一的行中。见here,怎么做。
然后,将这一独特的行转换为一个独特的列。例如,在 B 列上转置,从单元格 B3 开始。然后,在单元格 A3 上输入:
=IF(B3>9000,"Delete This Row",IF(OFFSET(A3,-1,1)>9000,OFFSET(A3,-1,1),""))
将公式向下拖动到 A 列中 B 列有数据的所有行。
它应该产生类似这样的结果:
好的,现在按“删除此行”值过滤列 A,并删除所有过滤后的行。
【讨论】:
以上是关于将多个excel列拆分为行的主要内容,如果未能解决你的问题,请参考以下文章