如何在Excel 2010中转置
我有一个以下格式的Excel表格
a 2 3 4 0 0 0 0 0 a 2 5 6 7 0 0 0 0 a 4 5 9 0 0 0 0 0 b 5 5 9 0 0 0 0 0 b 1 1 1 1 1 1 1 1
我想结束这样的事情
a 2 a 3 a 4 a 2 a 5 a 6 a 7 a 4 ..... b 1 b 1 b 1 ....
看看我的unpivot加载项 (只需添加一个标题行,你可以删除之后)。 它将以您需要的格式返回数据。
尝试这个
Sub move() Dim cell As Range, _ found As Range Dim letter As String Set cell = Range("B1") Set found = Range("A:A").Find("*", Range("A1"), searchdirection:=xlPrevious).Offset(2, 0) Do While (cell.Value <> "") letter = cell.Offset(0, -1).Value Do While (cell.Value <> 0) found.Value = letter found.Offset(0, 1).Value = cell.Value Set cell = cell.Offset(0, 1) Set found = found.Offset(1, 0) Loop Set cell = Cells(cell.Row + 1, 2) Loop End Sub
我能够很快地做到这一点,结合使用串联和反串联以及http://www.cpearson.com/excel/TableToColumn.aspx公式
=$A1&","&B1
=OFFSET($K$1:$R$5,TRUNC((ROW()-ROW($U$1))/COLUMNS($K$1:$R$5),0),MOD(ROW()-ROW($U$1),COLUMNS($K$1:$R$5)),1,1)
=LEFT(U1,FIND(",",U1,1)-1)
=RIGHT(U1,FIND(",",U1,1)-1)
祝你好运。