楼主 biaotiger1 |
Q:如何将一行数据转换为一列数据呢? A:行列转换的方法很多。简单分类如下: 一、基本操作法: 1、word与Exel联手 步骤1、选中待转换的EXCEL的数据区域(A1:Z1),复制。打开word,粘贴。选中该表格,单击选项卡中的“布局”→数据→转换为文本→制表符→确定。
步骤2、按快捷键CTRL+F调出“查找替换”对话框,“查找内容”输入“^t”,“替换为”输入“^p”。如下图
步骤3、复制word文档中已经转换好的26行数据,粘贴到EXCEL对应单元格中。完毕。 2、选中待转换的数据区域(A1:Z1),复制。选中要转换的目的区域单元格,鼠标单击“开始”选项卡中的“剪贴板”→“粘贴”→“选择性粘贴”→“转置”→“确定”,如下图。完毕。
3、选中待转换的数据区域(A1:Z1),复制。选中要转换的目的区域第一个单元格后按F2,鼠标单击“开始”选项卡中的“剪贴板”(如下图红框处)→全部粘贴。回车。
按CTRL+F调出“查找替换”对话框,“查找内容”输入“ ”(空格),“替换为”输入为(按下ALT键后)10。调整该单元格列宽使仅显示第一个字符,单击“快速访问工具栏”中的“内容重排”(如何调出“内容重排”按钮此处略),完毕。 二、公式法 1、普通公式- =OFFSET($A$1,,ROW(A1)-1,)
- =INDIRECT(CHAR(64+ROW(A1))&"1")
- =INDIRECT(CHAR(96+ROW(A1))&"1")
- =INDIRECT("r1c"&TEXT(ROW(A1),"00"),)
- =LOOKUP(ROW(A1),COLUMN(A:Z),A$1:Z$1)
- =INDEX(A$1:Z$1,ROW(A1))
- =INDIRECT(ADDRESS(1,ROW(A1),4))
- =INDIRECT(ADDRESS(1,ROW(A1),1))
- =INDIRECT(ADDRESS(1,ROW(A1),2))
- =INDIRECT(ADDRESS(1,ROW(A1),3))
2、数组公式- =VLOOKUP(ROW(A1),IF({1,0},ROW($1:$26),TRANSPOSE(A$1:Z$1)),2,)
- =VLOOKUP(ROW(A1),IF({1,0},ROW($1:$26),TRANSPOSE(A$1:Z$1)),2,1)
- =VLOOKUP(CHAR(96+ROW(A1)),TEXT({1,-1},"!"&CHAR(96+ROW($1:$26))&";!"&TRANSPOSE(A$1:Z$1)),2,)
- =VLOOKUP(CHAR(96+ROW(A1)),TEXT({1,-1},"!"&CHAR(96+ROW($1:$26))&";!"&TRANSPOSE(A$1:Z$1)),2,1)
- =HLOOKUP(ROW(A1),IF({1;0},COLUMN(A:Z),A$1:Z$1),2,)
- =HLOOKUP(ROW(A1),IF({1;0},COLUMN(A:Z),A$1:Z$1),2,1)
- =HLOOKUP(CHAR(96+ROW(A1)),TEXT({1;-1},"!"&CHAR(96+COLUMN(A:Z))&";!"&A$1:Z$1),2,)
- =HLOOKUP(CHAR(96+ROW(A1)),TEXT({1;-1},"!"&CHAR(96+COLUMN(A:Z))&";!"&A$1:Z$1),2,1)
3、多单元格数组公式- =TRANSPOSE(A1:Z1)
三、VBA法- for i=1 to 26
- cells(i+3,2)=cells(1,i)
- next i
行数据转换为列数据.rar |