Excel操作:如何将列中值添加至拆分的双层表头列
Excel实现按销售区域拆分表头并转换数据格式
原数据格式
Product ID Sales Organization Price Wholesale Price 1 Europe 100 50 2 Asia 75 37,5 3 Asia 125 62,5 4 US 30 65 5 US 80 40
目标格式
Product ID Europe Asia US Price Wholesale Price Price Wholesale Price Price Wholesale Price 1 100 50 2 75 37,5 3 125 62,5 4 30 65 5 80 40
方法一:手动操作(适合小数据量)
1. 构建双层表头
- 在新工作表(或原表上方插入两行空白行),第一行(上层表头)依次输入:
Product ID、Europe、Asia、US;选中Europe对应的两个单元格(对应下方Price和Wholesale Price列)右键选择「合并单元格」,同理合并Asia、US对应的单元格。 - 第二行(下层表头)对应输入:
Price、Wholesale Price、Price、Wholesale Price、Price、Wholesale Price,与上层合并后的单元格一一对应。
2. 公式填充数据
假设原数据在Sheet1的A1:D6区域,新表头在Sheet2的A1:G2:
Sheet2的B3单元格(Europe-Price)输入:=IF(Sheet1!$B3="Europe",Sheet1!$C3,""),回车后下拉填充所有行。Sheet2的C3单元格(Europe-Wholesale Price)输入:=IF(Sheet1!$B3="Europe",Sheet1!$D3,""),下拉填充。Sheet2的D3单元格(Asia-Price)输入:=IF(Sheet1!$B3="Asia",Sheet1!$C3,""),下拉填充。Sheet2的E3单元格(Asia-Wholesale Price)输入:=IF(Sheet1!$B3="Asia",Sheet1!$D3,""),下拉填充。Sheet2的F3单元格(US-Price)输入:=IF(Sheet1!$B3="US",Sheet1!$C3,""),下拉填充。Sheet2的G3单元格(US-Wholesale Price)输入:=IF(Sheet1!$B3="US",Sheet1!$D3,""),下拉填充。
最后调整单元格对齐方式,让数据与表头匹配即可。
方法二:Power Query批量转换(适合大数据量)
1. 导入数据到Power Query
选中原数据区域,点击「数据」选项卡→「从表格/区域」,勾选「我的表格有标题」,进入Power Query编辑器。
2. 转换数据结构
- 选中
Price和Wholesale Price两列,点击「转换」选项卡→「逆透视列」→「逆透视仅选中的列」,生成「属性」(存储Price/Wholesale Price)和「值」(对应数值)两列。 - 选中
Sales Organization和「属性」两列,点击「转换」→「透视列」,值列选择「值」,高级选项选「不要聚合」,生成Europe_Price、Europe_Wholesale Price等组合列。 - 选中所有组合列名,点击「转换」→「拆分列」→「按分隔符」,选择下划线(
_),拆分为两列:第一列是区域名称,第二列是价格类型。
3. 设置双层表头并加载回Excel
- 点击「关闭并上载」,将转换后的数据加载到新工作表。
- 把拆分后的第一行作为上层表头,第二行作为下层表头,选中对应区域的上层表头单元格合并,调整对齐方式后即可得到目标格式。
内容的提问来源于stack exchange,提问作者Kirsten
相关产品推荐
相关产品推荐

