实务中,经常碰到需要将横向数据转换为竖式排列的问题,如图所示: 常见的方法有选择性粘贴-转置、TRANSPOSE数组公式,但都有相应的缺点。如选择性粘贴-转置不能实时更新,TRANSPOSE数组公式不能在转置后数据上修改。下面将依次讲解选择性粘贴-转置、TRANSPOSE数组公式转置的方法,并重点讲解如何利用index函数克服以上两种方法的缺陷,对行列数据进行转置。 一、选择性粘贴-转置 1、操作方法: (1)选择需转置区域,复制(ctrl C); (2)选择放置位置,右键-选择性粘贴-转置 (3)完整动图如下 2、缺点 不能保持实时更新,需要每次更新时转置一次。 二、数组公式 1、操作方法: (1)选中需转置区域, 在公式栏输入=transpose($A$2:$F$8) (2)同时按下ctrl shift enter三键,数组运算得出结果。 2、缺点 无法更改部分数组 三、利用index函数实时更新行列转置数据 1、操作方法: (1)选择放置区域首个单元格, 在公式栏输入=INDEX($A$2:$F$8,COLUMN(A1),ROW(A1)) (2)向右向下拖动公式即可。 2、延伸讲解: index函数: index(array,row_num,column_num) ,其中array表示我们要引用的区域,row_num表示要引用的行数,column_num表示要引用的列数,最终结果就是区域内行列交叉处的内容。 COLUMN函数:COLUMN(reference), 得到Reference所在列。 ROW函数:ROW(reference), 得到Reference所在行。 运用: COLUMN(B3)=2,ROW(B3)=3 由于需要将数据转置,所以将取得的列数作为index函数中的行,将取得的行数作为index函数中的列。 $A$2:$F$8为需要转置区域所在位置。 INDEX($A$2:$F$8,COLUMN(B3),ROW(B3))函数结合起来就表示定位到$A$2:$F$8区域中第2行第3列。 文中所用表格下载: https://pan.baidu.com/s/16DpZkshxQP3Q2kYmuXi_6A |
|