Excel有两个sheet,想把第一个sheet中的数据提取到第二个表上

如图,将第一个图中C列第4行开始的所有数据,提取到如图二的sheet中,即将原来横着的数据竖过来,用什么公式可以解决这个问题呢

几位提供的公式或复制再转置粘贴大都是可行的,下面提供一个更简单快捷的公式供参考。先在Sheet1中某一行横向拖动鼠标选择该行数据,状态栏中查看下计数,心中记下这个数字,也就是Sheet2中的行数,并查看下数据的行数,也就是Sheet2中的列数。

转到,Sheet2中,选择A1往右拖动鼠标,使选择的列数=Sheet1的行数,再向下拖动鼠标,使选择的行数=Sheet1的列数,如图,Sheet1有11行13列,Sheet2中就选择A1:K13,然后输入:

=TRANSPOSE(

点Sheet1后选择数据区域(A2:M12)

再输入公式右括号:)

公式编辑栏中显示为:

=TRANSPOSE(Sheet1!A2:M12)

同时按Ctrl+Shift+Enter三键输入数组公式

即可得到结果

追答

还可用Offset公式,用offset的优点,不用考虑Sheet1中的数据多少。如图:

A1=OFFSET(Sheet1!$A$1,COLUMN(A:A),ROW(1:1)-1)&""

右拉到出现空白单元格,一起下拉到出到空白行。

如果Excel版本较高,如2013以上,用Power Query(简称PQ)最简单,且与数据源的变化(增加、减少数据,修改数据)关联。如果 是2010版本,则需要单独下载Power Qurey数据工具。

用PQ简直是逆天了!轻点几下鼠标即可得到结果,任你数据源怎么变化,只要对得到的结果进行刷新即可得到更新。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-04
在sheet2的b2中输入如下公式
=index(sheet1!$a$1:$z$100,match(b$1,sheet1!$b:$b,),match($a2,sheet1!$1:$1,))
下拉填充,右拉填充
第2个回答  2019-06-04
我能想到的最简单的就是复制粘贴,选择性粘贴,转置
第3个回答  2019-06-04

如图所示,I2输入=INDEX($A$1:$E$7,MATCH(I$1,$A$1:$A$7,0),MATCH($H2,$A$1:$E$1,0)),公式再粘贴即可

追问

想弄到第二个sheet上

追答

如果表格分别叫sheet1和sheet2的话,sheet2中可以改成=INDEX(sheet1!$A$1:$E$7,MATCH(I$1,sheet1!$A$1:$A$7,0),MATCH($H2,sheet1!$A$1:$E$1,0))

第4个回答  2019-06-04
复制,选择性粘贴——转置,试试。
相似回答