Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel vba中多列转置为单行的范围数据_Excel_Vba_Transpose - Fatal编程技术网

Excel vba中多列转置为单行的范围数据

Excel vba中多列转置为单行的范围数据,excel,vba,transpose,Excel,Vba,Transpose,我试图在新工作表中将多列中的多个数据转换为一行。我的原始数据如下所示 以前 Col1 | Col2 | Col3 1 | 2 | 3 1 | 2 | 3 1 | 2 | 3 Col1 | Col2 | Col3 1 | 2 | 3 1 | 2 | 3 1 | 2 | 3 之后 第1排1 | 1 | 1 | 2 | 2 | 3 | 3 有人可以帮我用vba代码,可以从原来的工作表转换到新的工作表。谢谢 这假设您的数据位于名为d

我试图在新工作表中将多列中的多个数据转换为一行。我的原始数据如下所示

以前

Col1 | Col2 | Col3 1 | 2 | 3 1 | 2 | 3 1 | 2 | 3 Col1 | Col2 | Col3 1 | 2 | 3 1 | 2 | 3 1 | 2 | 3 之后

第1排1 | 1 | 1 | 2 | 2 | 3 | 3
有人可以帮我用vba代码,可以从原来的工作表转换到新的工作表。谢谢

这假设您的数据位于名为
data
的工作表中的A:C中。将其放入第一个单元格:

=IFERROR(IFERROR(INDEX(data!$A$1:INDEX(data!$A:$A,MATCH(1E+99,data!$A:$A)),COLUMN(A:A)),IFERROR(INDEX(data!$B$1:INDEX(data!$B:$B,MATCH(1E+99,data!$A:$A)),COLUMN(A:A)-COUNT(data!$A:$A)),INDEX(data!$C$1:INDEX(data!$C:$C,MATCH(1E+99,data!$A:$A)),COLUMN(A:A)-COUNT(data!$A:$B)))),"")
然后复制到右边


请发布您已经尝试过的内容。这不是一个“自由职业者”类型的网站。
=IFERROR(IFERROR(INDEX(data!$A$1:INDEX(data!$A:$A,MATCH(1E+99,data!$A:$A)),COLUMN(A:A)),IFERROR(INDEX(data!$B$1:INDEX(data!$B:$B,MATCH(1E+99,data!$A:$A)),COLUMN(A:A)-COUNT(data!$A:$A)),INDEX(data!$C$1:INDEX(data!$C:$C,MATCH(1E+99,data!$A:$A)),COLUMN(A:A)-COUNT(data!$A:$B)))),"")