如何在Excel中将列转换为行?含Size列转置示例需求
Excel列转行及指定Size列转置方案
一、通用列转成行的两种方法
方法1:粘贴转置(快速搞定)
- 选中要转换的列数据区域,按
Ctrl+C复制 - 右键点击目标单元格,选择「粘贴选项」里的「转置」(带旋转箭头的图标)
- 完成操作后,原列数据会直接转为行排列
方法2:公式动态转置
如果需要原数据更新时,转置后的内容自动同步,用TRANSPOSE函数:
- 在目标单元格输入公式:
=TRANSPOSE(需要转换的列区域) - 按
Enter确认(旧版Excel需按Ctrl+Shift+Enter触发数组公式) - 原列数据修改后,转置后的行数据会自动同步更新
二、将Size列转置为指定横向效果
假设你的原始数据是「Item列+Size列」的结构,要实现每个Item对应的所有Size横向铺开(匹配目标样式),推荐两种实现方式:
方式1:Power Query工具(高效批量处理)
- 选中原始数据区域,点击「数据」选项卡 → 「从表格/区域」(Excel 2016及以后版本),确认数据包含表头
- 在Power Query编辑器中,选中Item列,点击「转换」选项卡 → 「分组依据」:
- 分组列:选择Item
- 新列名:输入「Size集合」
- 操作:选择「所有行」
- 点击「Size集合」列右侧的展开箭头,选择「提取值」,分隔符选逗号(或你需要的符号),点击确定
- 再次选中「Size集合」列,点击「转换」→「拆分列」→「按分隔符」,选择之前用的分隔符,勾选「拆分为列」,确认
- 调整列名为Size1、Size2……,点击「关闭并上载」,即可得到目标效果
方式2:公式组合实现(无需工具)
- 先提取唯一Item列表:在空白单元格输入
=UNIQUE(原始Item列区域),生成所有不重复的Item - 提取每个Item的第N个Size:输入公式
=INDEX(原始Size列区域, SMALL(IF(原始Item列区域=当前Item单元格, ROW(原始Item列区域)-MIN(ROW(原始Item列区域))+1), N))- 按
Ctrl+Shift+Enter触发数组公式,然后横向拖动填充,即可将每个Item对应的Size依次横向排列
- 按
内容的提问来源于stack exchange,提问作者Zen
相关产品推荐
相关产品推荐

