跳转至

TRANSPOSE 函数

函数概述

TRANSPOSE 用于将数组或区域的行列互换:把“横向数据”变成“纵向数据”,或把“纵向数据”变成“横向数据”。常见场景包括:调整报表展示方向、把行字段转成列字段、为后续统计(如透视或图表)准备合适的数据布局。

在支持动态数组的新版 Excel 中,TRANSPOSE 会溢出返回一片结果区域;在旧版 Excel 中,它通常需要以数组方式输入(不同版本操作略有差异,但函数本身一致)。


基础语法

=TRANSPOSE(array)

参数说明

参数 类型 必填 说明
array 区域/数组 要进行行列互换的源数据,可为单元格区域、数组常量、或由其他公式产生的数组

基础用法示范

示例1 基础转置

数据源(原始区域)

姓名 语文 数学
张三 88 92
李四 90 85

假设上表为 A1:C3,要把它转成“列字段变行字段”:

=TRANSPOSE(A1:C3)

结果要点:输出会变为 3 行 × 3 列互换,即原来的行标题会变成列标题,原来的列标题会变成行标题。


示例2 转置单行或单列

数据源(单行):A1:E1 为 5 个值 将单行转为单列:

=TRANSPOSE(A1:E1)

同理,单列 A1:A10 也可转为单行:

=TRANSPOSE(A1:A10)

示例3 搭配筛选结果

当数据源来自筛选/提取类公式时,TRANSPOSE 可把“提取结果”改成另一种方向展示。

例如先用 FILTER 得到一列结果,再把它横向摆放(示意):

=TRANSPOSE(FILTER(A2:A100, B2:B100="通过"))

适用场景:把“通过名单(纵向)”变成“横向名单”,用于打印或汇总展示。


示例4 转置数组常量

无需引用单元格,也可以直接转置数组常量:

=TRANSPOSE({1,2,3;4,5,6})

这里 {} 中用逗号分隔列、用分号分隔行;转置后会把 2 行×3 列变为 3 行×2 列。


总结

TRANSPOSE 是一个非常实用的“布局转换”函数,用来快速交换行与列。掌握它的关键在于:明确源数据是一个区域或数组,然后让结果在目标位置正确展开。日常报表整理中,TRANSPOSE 常与 FILTER、UNIQUE、SORT 等动态数组函数配合,把“数据处理”和“展示排版”衔接起来更高效。