如何在Excel中将长格式表转换为宽格式表? - 回答不工作

时间:2015-12-11 13:54:38

标签: excel vba excel-vba

我在这里有完全相同的问题:

How to convert a long form table to wide form table in Excel?

但唯一的答案是https://stackoverflow.com/a/24424637/3581372)is无效.VBA和公式部分(我至少需要一个工作解决方案)。

使用VBA:

Range("G1:K99").Clear
For Each xx In Range("A:A")
    If xx.Value = "" Then Exit Sub
    Range("G1").Offset(xx.Value, 0) = xx.Value
    For e = 1 To 99
        If Range("G1").Offset(xx.Value, e) = "" Then
            Range("G1").Offset(xx.Value, e) = xx.Offset(0, 1).Value
            Exit For
        End If
    Next
Next

从“G”栏

创建的表格

没有VBA ,遵循以下方案:

添加公式:

M2 - > =IFERROR(MATCH(L2;$A$1:$A$8;);"")
N2 - > =IFERROR(MATCH(L2;INDIRECT("$A" & (M2+1) & ":$A$8");)+M2;"")
O2 - > =IFERROR(MATCH(L2;INDIRECT("$A" & (N2+1) & ":$A$8");)+N2;"")
P2 - > =IFERROR(INDEX($B$1:$B$8;M2);"")

自动完成列到R

和自动填充...

我正在使用Excel 2010.任何人都可以检查解决方案吗?

1 个答案:

答案 0 :(得分:0)

你可以使用它(测试过):

With

来源:

see MSDN

输出:

enter image description here