行标题和列标题都是唯一的,但是表格整体的列数是变化的,行数是500(不含标题行)
追答就是说 每一行不一定有多少列 有数据?每一行 在所有列中 中间有没有 断列的?(就是说 是否中间列有空数据的?
如果你觉得 用公式 麻烦的话 可以使用VBA代码 但是 最好具体说说 你的数据具体情况 这样有利于解决问题……
给你一个附件 里边有代码 和公式 不愿用公式 就删掉那个 sheet1 代码固定把处理完的数据 存放在 sheet3 中了 ……拷贝你的数据到某个表中 然后运行 宏 处理……即可把结果放在sheet3中……
同一行中 如果 各列数据有空的话 结果中自动跳过……
可以用数据透视表的多区域合并,再去除零值。仔细考虑过,要靠公式去零值不太可行。只能用offset函数把包含零值的都写出来,再筛去零值的行,公式网友都写了,就不重复了。我考虑的另外一种写法是一列一列地处理的,根据“题意”好像还是根据行处理更好。
能详细些吗?
追答Sub Macro1()
For i = 2 To Range("a1212").End(xlUp).Row + 3
a = "B" & i
b = "D" & i
Range(a & " :" & b).Select
For Each cc In Selection
If cc > 0 Then
e = Range("e12121").End(xlUp).Row + 1
f = Range("f12121").End(xlUp).Row + 1
g = Range("g12121").End(xlUp).Row + 1
Cells(e, 5) = Cells(i, 1)
Cells(f, 6) = Cells(1, cc.Column)
Cells(g, 7) = cc.Value
End If
Next
Next
End Sub