excel自动将纵向列表变成横向列表,即由表一变成表二的样式

表一:

表二:
TRANSPOSE函数针对这个例子怎么用

在表二

B2=VLOOKUP(A2,表一!A2:B11,2,FALSE)

C2=VLOOKUP(A2,表一!A2:C11,3,FALSE)

选定B2:C2下拉

D2数组公式(Shift+Ctrl+Enter输入)

=INDIRECT("表一!D"&SMALL(IF(表一!$A$2:$A$11=$A2,ROW(表一!$A$2:$A$11),65535),MID(D$1,5,1)))

E2数组公式(Shift+Ctrl+Enter输入)

=INDIRECT("表一!E"&SMALL(IF(表一!$A$2:$A$11=$A2,ROW(表一!$A$2:$A$11),65535),MID(E$1,5,1)))

选定D2:E2右拉至M2

选定D2:M2下拉

把0值设置成空格。

 

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-10
假定上表的表名是sheet1,(实际不是,请自行替换),那么在下表的d2输入:
=if(column(a1)>countif(sheet1!$a:$a,$a2)*2,"",offset(indirect("sheet1!a"&match($a2,sheet1!$a:$a,0)),int((column(a1)-1)/2),3+mod(column(b1),2),1,1))
下拉,右拉。
注意:先下拉,后右拉。
上述公式是建立在下表的abc三列已具备的基础上。若该三列没有,先在sheet1的右边空白列第二行输入: =if(countif(a$2:a2,a2)=1,1,"") 下拉。再对该列筛选“1 ”,在筛选状态下,复制abc三列,粘贴到下表。
第2个回答  2012-07-10
(先将纵向列表变成横向列表要转换)复制——(在需要转换的地方)选择性粘贴——置换即可
第3个回答  2012-07-10
一个TRANSPOSE()就搞定了。括号内输入你想要转置的区域就行了。
第4个回答  2012-07-10
选中所有数据,复制,选择性粘贴,转置
相似回答