多语言展示
当前在线:650今日阅读:60今日分享:41

横向排列的数据转换为纵向排列的几种方法

在Excel中,将横向排列的数据转换为纵向排列,首先想到的就是复制,选择性粘贴,转置,但对于比较复杂的转换,这种方法难以解决,有没有通用的又没有局限的方法进行转换?答案是肯定的。
工具/原料
1

电脑

2

excel

方法/步骤
1

如图所示,需要把商品名称对应的型号和数量按行统计,使用转置解决不了。

2

可以用公式解决,在I2输入公式=OFFSET(A$1,SMALL(IF(B$2:G$9='',4^7,ROW(B$1:G$8)),ROW(A1)),)&'',按ctrl+shift+回车,然后下拉到出现空行为止。

3

接着在J2输入公式=OFFSET(A$1,,SMALL(IF(OFFSET(B$1,MATCH(I2,A$2:A$9,),,,6)<>'',COLUMN($A:$F)),COUNTIF(I$2:I2,I2))),按ctrl+shift+回车,然后下拉到与I列对齐。

4

接着在K2单元格输入公式=OFFSET(A$1,MATCH(I2,A$2:A$9,),SMALL(IF(OFFSET(B$1,MATCH(I2,A$2:A$9,),,,6)<>'',COLUMN($A:$F)),COUNTIF(I$2:I2,I2))),按ctrl+shift+回车,然后下拉。

5

上面是用公式把行转换成列,也可用数据透视表解决,先打开数据透视表向导,选择多重合并计算数据区域,点下一步。

6

选择创建单页字段,下一步,接着选择数据区域A1:G9,单添加按钮,再点下一步。

7

在步骤3中选择数据透视表显示位置,如果不新建工作表,就选择一个存放透视表的起始单元格。

8

单击完成,最终结果如图所示,但这并不是我们想要的结果。

9

右键点击最右下角的单元格,在列表中选择显示详细信息,会自动新建一个工作表。

10

这时,想要的结果已经显示出来了,接下来要做的就是删除不需要的内容和空白行就可以了。

注意事项

当然,精通VBA编程的也可以用代码解决。

推荐信息