📜  如何在 Excel 中将数据从宽格式转换为长格式?(1)

📅  最后修改于: 2023-12-03 14:52:17.244000             🧑  作者: Mango

如何在 Excel 中将数据从宽格式转换为长格式?

背景介绍

在数据分析方面,经常会遇到需要将数据从宽格式转换为长格式的情况。通俗地说,就是将一行中的多个变量转换为多行,每行只包含一个变量的值。这种数据格式更加利于后续的分析和可视化处理。

例如,下图所示的宽格式表格:

| 姓名 | 语文 | 数学 | 英语 | | ---- | ---- | ---- | ---- | | 张三 | 80 | 90 | 85 | | 李四 | 70 | 85 | 80 | | 王五 | 90 | 95 | 90 |

将其转换为长格式表格如下:

| 姓名 | 科目 | 分数 | | ---- | ---- | ---- | | 张三 | 语文 | 80 | | 张三 | 数学 | 90 | | 张三 | 英语 | 85 | | 李四 | 语文 | 70 | | 李四 | 数学 | 85 | | 李四 | 英语 | 80 | | 王五 | 语文 | 90 | | 王五 | 数学 | 95 | | 王五 | 英语 | 90 |

本文将介绍如何在 Excel 中实现宽格式数据的转换。

解决方案

在 Excel 中,可以使用“数据透视表”或“公式”实现宽格式数据的转换。

方法一:使用数据透视表
  1. 选中整个宽格式表格,包括表头和数据。
  2. 点击“插入”选项卡中的“数据透视表”按钮,打开“数据透视表创建向导”对话框。
  3. 在第一步中,确认所选数据范围,并指定数据透视表放置在新工作表中或现有工作表中。如果想要在现有工作表中创建数据透视表,需要指定一个单元格作为数据透视表的左上角单元格。
  4. 在第二步中,将“姓名”字段拖动到“行”区域中,将“语文”、“数学”和“英语”字段分别拖动到“值”区域中。然后,单击“值”区域右侧的“语文”、“数学”和“英语”下拉箭头,选择“值字段设置”命令,打开“值字段设置”对话框,将“汇总值”函数设置为“平均值”。
  5. 单击“下一步”按钮,确认要创建数据透视表的位置,并单击“完成”按钮。此时,将会在指定位置生成一个长格式表格。
方法二:使用公式
  1. 在新的工作表中,输入下列列名:

    | 姓名 | 科目 | 分数 |

  2. 将“姓名”列的第一行填充为数据源表格中的姓名列表;

  3. 将“科目”列的第一行填充为数据源表格中的科目列表;

  4. 使用公式将分数填充到分数列中。例如,在第二行分数单元格中输入以下公式,然后按回车键:

    =INDEX($B$2:$D$4,MATCH($F2,$A$2:$A$4,0),MATCH(G$1,$B$1:$D$1,0))
    

    其中,“$B$2:$D$4”是数据源表格的范围,“$F2”是当前行的姓名单元格,“G$1”是当前列的科目单元格。

  5. 拖动公式填充某一列或某一行的所有单元格,直到完整填充分数列。

结论

本文介绍了两种将 Excel 中宽格式数据转换为长格式数据的方法:使用数据透视表和使用公式。这两种方法各有优缺点,可以根据实际情况选取。在数据分析和可视化处理方面,长格式数据更加利于数据处理和分析。