一、问题的提出 我们在使用EXCEL过程中,有时需要将一个表中数据的“列”变为“行”,如图1、图2所示,需要将表2中引用表1的数据,将“列”转换为“行”,即大家通常所说的引用EXCEL表,并将横向转换成纵向。 图1 图2 二、解决思路 经过网上查阅,应用TRANSPOSE函数是比较简便可行的办法。根据EXCEL提供的TRANSPOSE函数帮助,TRANSPOSE函数的功能是:返回转置单元格区域,即将一行单元格区域转置成一列单元格区域,反之亦然。使用 TRANSPOSE 可在工作表中转置数组的垂直和水平方向。 并且提示,在行列数分别与数组(1)的行列数相同的区域中,必须将 TRANSPOSE 输入为数组公式(2)。 TRANSPOSE函数的语法:TRANSPOSE(array)。 Array为需要进行转置的数组或工作表中的单元格区域。所谓数组的转置就是,将数组的第一行作为新数组的第一列,数组的第二行作为新数组的第二列,以此类推。 注:(1)数组:用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量。 (2)数组公式:数组公式对一组或多组值执行多重计算,并返回一个或多个结果。数组公式括于大括号 ({ }) 中。按 Ctrl+Shift+Enter 可以输入数组公式。 三、操作方法 问题很清楚,EXCEL提供的解决思路也很明确,可是操作起来却不太容易。以下通过实例操作,演示操作方法。 1、选中表2需要转置的数据区域(B2:I9)左上角的单元格(B2),选择插入函数菜单,弹出如图3所示窗口,在函数类别中选择“查找与引用”,找到TRANSPOSE函数,选中并确定后见图4。 图3 2、设置TRANSPOSE函数转置数据区域,即指表1中的数据范围(表1!B2:I9),可以直接输入,也可以点击图4中填写框右侧的选择按钮直接到表1个拖选(如图5)。 图4 图5 3、设置好转换数据区域后,将表2中B2单元格的内容横向复制到C2、D2……I2(见图6)。再将B2:I2纵向复制至B9:I9(见图7),并保持B2:I9被选中的状态。 图6 图7 4、到图7这一步,均是按常规函数设置和数据复制的办法进行,可以发现表2数据并未横向纵向转置。这里需要将表2中B2:I9各单位元格的函数设为数组公式,方法如下: (1)在表2!B2:I9被选情况下按 F2键,表2会发生如图8的变化。 (2)接着再按 Ctrl+Shift+Enter,数组公式设置成功,如图9,表2引用表1,横向与纵向数据实现转置。 注:单行单列的转置,使用选择性粘贴里:转置,貌似更方便。 |