咨询:SQL Server导入Excel的客户表数据行转列展示实现方法
如何在Excel中将行排列的客户数据转为列形式展示
完全可以实现,下面提供两种高效的内置方法:
方法一:使用INDEX公式手动映射
假设原数据位于Sheet1的A2:C21区域(A列=客户编码,B列=客户名称,C列=客户简称),目标展示区域从当前工作表的A1开始:
- 在A1、A2、A3分别输入
code、name、short name作为新表头 - 在B1单元格输入公式:
=INDEX(Sheet1!$A:$C, COLUMN(), ROW())- 逻辑解析:
COLUMN()返回当前列号(B列是2,对应原数据第2行),ROW()返回当前行号(第1行对应原数据A列),精准定位原数据的对应单元格
- 逻辑解析:
- 选中B1单元格,下拉填充到B3,此时B1:B3会自动填充第一条客户记录的三个字段
- 选中B1:B3区域,向右拉填充到V列(共20列,对应20条客户记录),所有数据会自动对应到位
方法二:使用Power Query一键转置(更便捷)
这个方法无需写公式,适合批量操作:
- 选中原数据的整个区域(包含原表头
Customer Code、Customer Name、Customer Short Name) - 点击顶部菜单栏的「数据」选项卡,选择「从表格/区域」(若弹出确认框,勾选「我的表格有标题」后确认)
- 进入Power Query编辑器后,选中所有列,点击「转换」选项卡的「转置」按钮
- 转置完成后,点击「关闭并上载」,选择将数据加载到指定位置(比如当前工作表的A1单元格)
- 最后手动修改A列的三个表头为
code、name、short name即可
内容的提问来源于stack exchange,提问作者Komail Noori
相关产品推荐
相关产品推荐

