Excel 行列转置 解决竖向拉,字母跟着递增的问题

Posted RemiHoston

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel 行列转置 解决竖向拉,字母跟着递增的问题相关的知识,希望对你有一定的参考价值。

今天工作中遇到需要将Excel行列转置涉及到的数据单元格一共几千个

查询网上说可以通过复制粘贴单元格,粘贴选项中转置一项实现,但是所涉及的sheet页中,数据格式和单元格格式各不一样,转置失败!

怎么做呢? 

先看看查询Excel函数的结果:

首先看看INDERECT函数的定义:返回字符串所指定的索引

比如:

 

有了这个函数,解决当前问题的思路就是在竖向拖动的时候,能对应到INDIRECT("A1"),INDIRECT("B1"),INDIRECT("C1")所涉及到转置的问题,

就解决了

所以接下来的问题,就是要解决在竖向拖动的时候,单元格怎么对应生成"A1","B1","C1"的问题

查询之后看到,列名不就是A,B,C,D...这样排列的吗?所以用Address函数取列名

 

现在的问题就是对K$4进行处理,只保留列部分("K",不能写死就取一位"K",因为还有"AB","AZ"这种列)

所以用动态截取:

所以,最后的转置公式为:

=INDIRECT("Sheet1!"&LEFT(ADDRESS(1,ROW(),2),FIND("$",ADDRESS(1,ROW(),2))-1)&"1")

但是这样解决了竖着拉列名跟着变化的问题,没有解决横着拉原Sheet页行编号的问题,因为公式最后&"1"是死的在转第二行数据的时候不得不写成

 =INDIRECT("Sheet1!"&LEFT(ADDRESS(1,ROW(),2),FIND("$",ADDRESS(1,ROW(),2))-1)&"2")

所以最后改进为:

=INDIRECT("Sheet1!"&LEFT(ADDRESS(1,ROW(),2),FIND("$",ADDRESS(1,ROW(),2))-1)&COLUMN())

刚开始学习Excel 希望各位指正!

 

以上是关于Excel 行列转置 解决竖向拉,字母跟着递增的问题的主要内容,如果未能解决你的问题,请参考以下文章

Excel或SQL Sserver中数据行列转置/转换?

Excel-怎样实现行列转置

excel 横向拖动时怎样使字母不变数字改变呢?

Excel里怎么将行和列进行互换?

SPSS软件中如何对数据进行转置

R语言数据集行列互换技巧