EXCEL表格横版数据如何对应转为竖列并对应相应值?

原表1格式是 店铺 货品 规格(横向)对应数量,需要做一个表2 店铺 货品 规格(竖向)对应数量,如何能用公式或者数据透视等手段集中实现?

假设两表的表头在第2行,表2中A3单元格输入公式=IF(OR(A$2={"店铺名称","货品"}),OFFSET(表1!A$2,INT(ROW(4:4)/4), ),OFFSET(表1!$C$2,IF(A$2="规格",0,INT(ROW(4:4)/4)),MOD(ROW(4:4),4)))

右拉再下拉公式。
温馨提示:答案为网友推荐,仅供参考
第1个回答   2022-01-22

'1.按ALT+F11打开VBA宏编辑器
'2.插入模块
'3.粘贴代码
'4.将表格另存为启用宏的格式
'5.注:如果软件版本为WPS,需要安装VBA插件或购买会员
'6.需要免费的VBA插件可私信给油箱
Sub a数据转换()
Dim arr(1 To 1000, 1 To 6)
For I = 3 To 1000
If Cells(I, 2) = "" Then Exit For
For j = 3 To 6
n = n + 1
arr(n, 1) = Cells(I, 1)
arr(n, 2) = Cells(I, 2)
arr(n, 3) = Cells(2, j)
arr(n, 4) = Cells(I, j)
Next
Next
[h3].Resize(n, 6) = arr
End Sub