Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.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 将一张图纸上的3列数据转换为一行_Excel - Fatal编程技术网

Excel 将一张图纸上的3列数据转换为一行

Excel 将一张图纸上的3列数据转换为一行,excel,Excel,我在第1页的3列中有100个联系人 A1=名字, B1=姓氏和 C1=Ph值编号 我希望能够在另一张图纸(图纸2)上拖出一行,该图纸引用这三列,并且每三列拖出一行 'SHEET2'!A1 = 'SHEET1'!A1 'SHEET2'!B1 = 'SHEET1'!B1 'SHEET2'!C1 = 'SHEET1'!C1 'SHEET2'!D1 = 'SHEET1'!A2 'SHEET2'!E1 = 'SHEET1'!B2 'SHEET2'!F1 = 'SHEET1'!C2 'SHEET2'!G1

我在第1页的3列中有100个联系人

A1=名字,
B1=姓氏和
C1=Ph值编号

我希望能够在另一张图纸(图纸2)上拖出一行,该图纸引用这三列,并且每三列拖出一行

'SHEET2'!A1 = 'SHEET1'!A1
'SHEET2'!B1 = 'SHEET1'!B1
'SHEET2'!C1 = 'SHEET1'!C1
'SHEET2'!D1 = 'SHEET1'!A2
'SHEET2'!E1 = 'SHEET1'!B2
'SHEET2'!F1 = 'SHEET1'!C2
'SHEET2'!G1 = 'SHEET1'!A3
'SHEET2'!H1 = 'SHEET1'!B3
'SHEET2'!I1 = 'SHEET1'!C3

有什么想法吗?

把这个公式放在
表格2中!A1
并拖动

=INDEX(Sheet1!$A:$C,INT((COLUMN()-1)/3)+1,MOD(COLUMN()-1,3)+1)
还是作为一个UDF

Function TransposeBy3(Src As Range) As Variant
    Dim rw As Long, cl As Long
    rw = (Application.ThisCell.Column - 1) \ 3 + 1
    cl = (Application.ThisCell.Column - 1) Mod 3 + 1
    TransposeBy3 = Src.Cells(rw, cl).Value
End Function

将umula
=TransposeBy3(表1!$A:$C)
放入
表2中!A1
并拖动

完美!非常感谢克里斯!:-)欢迎来到堆栈溢出。我通过分隔列并使用前导>,标记了您的列描述。
=INDEX(Sheet1!$A:$C,INT((COLUMN()-1)/3)+1,MOD(COLUMN()-1,3)+1)