将横向排列的数据转换为纵向排列的几种方法
导读:在Excel中将横向排列的数据转换为纵向排列,通常用的方法是复制数据后进行选择性粘贴,同时选择转置。但有时无法使用转置的功能,例如下图A1:G17区域为某网店部分商品的库存数量,商品尺寸是横向排列的,现在需要将这些数据按纵向排列,即将商品尺寸及其对应的货号、数量排列到三列中,如图J至L列所示。 本文介绍用数据透视、数组公式和VBA等三种方法来实现这种转换,
在Excel中将横向排列的数据转换为纵向排列,通常用的方法是复制数据后进行选择性粘贴,同时选择“转置”。但有时无法使用“转置”的功能,例如下图A1:G17区域为某网店部分商品的库存数量,“商品尺寸”是横向排列的,现在需要将这些数据按纵向排列,即将“商品尺寸”及其对应的“货号”、“数量”排列到三列中,如图J至L列所示。
本文介绍用数据透视、数组公式和VBA等三种方法来实现这种转换,以Excel 2010为例。
方法一、用数据透视表
1.利用原始数据建立数据透视表。
按组合键“Alt+D”,再按“P”键,打开“数据透视表和数据透视图向导”对话框,选择“多重合并计算数据区域”,单击“下一步”。
在弹出的对话框中再次单击“下一步”,弹出““数据透视表和数据透视图向导--步骤2b”,选择工作表中的A1:G17区域,单击“添加”按钮。
单击“完成”按钮,Excel会在新工作表中建立数据透视表。
2.通过数据透视表获取明细数据。
右击数据透视表行总计和列总计交叉的单元格,本例为H21,在弹出的快捷菜单中选择“显示详细信息”(也可双击该单元格右下角的填充柄)。
Excel会自动在新工作表中显示该数据透视表数据源的明细数据,如图所示。
3.筛选C列中的非空数据,将A至C列数据复制到所需位置即可。
方法二、用数组公式
假如将转换后的数据放在J至L列,在J2单元格输入数组公式:
=OFFSET(A$1,SMALL(IF(B$2:G$17="",4^7,ROW(B$1:G$16)),ROW(A1)),)&""
公式输入完毕按Ctrl+Shift+Enter结束,下同。然后拖动填充柄向下填充公式,直到公式返回空为止。
在K2输入数组公式:
=OFFSET(A$1,,SMALL(IF(OFFSET(B$1,MATCH(J2,A$2:A$17,),,,6)"",COLUMN($A:$F)),COUNTIF(J$2:J2,J2)))
在L2输入数组公式:
=OFFSET(A$1,MATCH(J2,A$2:A$17,),SMALL(IF(OFFSET(B$1,MATCH(J2,A$2:A$17,),,,6)"",COLUMN($A:$F)),COUNTIF(J$2:J2,J2)))
然后选择K2:L2,双击填充柄将公式填充到这两列的其余单元格。
方法三、用VBA
用下面的VBA代码也可实现上述转换,方法是按Alt+F11,打开VBA编辑器,在代码窗口中粘贴下列代码并运行。
Sub 转换()
Dim Arr1, Arr2()
Dim Rnum As Integer, Cnum As Integer, Tnum As Integer
Dim i As Integer, j As Integer, k As Integer
Application.ScreenUpdating = False
Rnum = [A65536].End(xlUp).Row
Cnum = 7
Tnum = Rnum * Cnum
Range("J2:L" & Tnum).ClearContents
Arr1 = Range("A1:G" & Rnum)
ReDim Arr2(1 To Tnum, 1 To 3)
For i = 2 To Rnum
For j = 2 To Cnum
If Arr1(i, j) "" Then
k = k + 1:
Arr2(k, 1) = Arr1(i, 1)
Arr2(k, 2) = Arr1(1, j)
Arr2(k, 3) = Arr1(i, j)
End If
Next
Next
Range("J2").Resize(k, UBound(Arr2, 2)) = Arr2
Application.ScreenUpdating = True
End Sub

- 摄像头属于固定资产哪一类 2025-12-28
- 预收账款转应收账款会计分录 2026-01-18
- 酒店过完夜审怎么冲账 2026-02-17
- 已经申报的财务报表怎么作废? 2026-01-01
- 资产负债表期末余额是什么 2026-02-22
- 养老院的会计账务处理方法 2026-02-17
- 用友如何计提固定资产减值准备 2026-01-17
- 签发现金支票提取备用金的会计分录 2025-12-18
- 成本加成率的计算公式 2026-02-18
- 个税作废记录怎么删除 2026-02-22
- 甲公司进行资产清查时发现短缺一台笔记本电脑,原价为4500元,已计提累计折旧2000元,购入时增值税税额为720元。经查明属于管理人员的责任,管理人员需赔偿1000元。假定不考虑其他因素,则该事项影响甲公司当期损益的金额为( )元。 A800 B1500 C1900 D2265 购买时的税款已经给出是720,为什么还要重新计算 2026-01-03
- 老师,我们需要支付给个人几十户每户四千的费用,是贷款利息,但是以工资的形式发,能用现金发吗? 2026-04-03
- 文化事业建设费申报表的申报品目 申报上是灰色的 怎么填 2026-02-26
- 老师,我想问一下,我单位法人自己居住的房子开单位租赁费,那单位真的租房子也开开租赁费这样可以吗? 2026-01-25
- 老师好,8月5日借了一个公司100万,计提利息是从哪个月开始,直接在8月份计提利息借财务费用贷其他应付款?我本金记入了应付账款,利息计入其他应付款还是应付账款 2026-01-15
- 老师,会计交接相关事项都有哪些?有模板吗? 2025-12-19
- 老师 拍摄节目给嘉宾买的意外险计入哪个科目?@答疑-宋老师(1002967304) 2026-02-08
- 昨天财务管理考试有题和答案出来不,我想看看答案 2026-03-25
- 请问为什么有些公司要银行代发工资,不是直接在自己公司的对公账户中就能发放人员工资吗 2026-01-21
- 建安业所得税的预征率是多少 2026-01-24