如何利用Excel的Power Query快速转换数据

  在管理学生成绩的实践当中,成绩原始数据往往按学生条目记录(图1)。若需要转换为以学号、姓名、学科、成绩、等第进行分列的表式效果,数据量大,逐一复制、粘贴操作显然相当繁琐。利用Excel的Microsoft Power Query加载项可实现快速转换(Excel 2016已经包含Microsoft Power Query组件,可以在“数据”选项卡直接调用,其他版本需在微软官方http://dwz.cn/2J93Jh 复制网址 下载安装)。



  1. 数据转换为表

  打开数据表,切换到“数据”选项卡,在“获取和转换”功能组单击“从表格”按钮,在随后弹出的对话框根据提示选择数据源,Excel会自动将选定区域转换为表,并打开查询编辑器界面。

  2. 提取学科数据

  在“表1-查询编辑器”窗口选择学号、姓名两列的列标,切换到“转换”选项卡,在“任意列”功能组依次选择“逆透视列→逆透视其他列”,执行后可以将当前选定列转换为“属性/值”对,并与每行中的剩余值相结合,显示效果如图2所示(图2)。



  可以看到“属性”列包含了语文、数学、英语等多门学科的名称,我们首先需要将这些学科的名称从“属性”列提取出来。选择“属性”列的列表,右击选择“拆分列→按分隔符”,此时会打开“按分隔符拆分列”对话框,在“选择或输入分隔符”列表框选择“自定义”,输入“|”进行分隔,这里不需要更改其他选项,执行之后的效果如图3所示(图3)。可以看到原来的“属性”列已经被分隔为属性1、属性2两列,“属性1”是各门学科的名称,“属性2”则是成绩、等第。



  由于“属性2”列仍然混合了成绩、等第这两个内容,因此还需要将这些内容区分开来。选择“属性2”列,切换到“转换”选项卡,在“任意列”功能组单击“透视列”按钮,这一操作是为了使用当前选中列中的名称创建新列,此时会弹出“透视列”对话框,在“值列”下拉列表框选择“值”,点击“高级选项”前面的按钮,在下拉列表框选择“不要聚合”,最终设置如图所示(图4)。



  完成上述设置之后,原有的“属性2”列已经被转换为成绩、等第两个新的列。如果觉得默认的“属性1”不太合适,可以右击重命名为“学科”。关闭查询编辑器,此时会提示是否保留更改(图5),确认之后会返回Excel主界面,此时就可看到最终效果(图6)。接下来可以根据对各个项目进行适当的筛选,感兴趣的朋友可以一试。



  扩展阅读:利用Power Query快速分离混合文本

  如图所示的“DATA”列都是字母、数字的混合文本(图7)。现在要求依次提取纯文本、纯数值、不重复数值。手工提取显然是相当麻烦,而且也容易出错,利用Power Query内置的函数可以轻松实现。



  在源数据选择“DATA”列的数据区域,切换到“数据”选项卡,在“获取和转换”功能组单击“从表格”按钮,此时会打开查询编辑器,切换到“添加列”选项卡,单击“常规”功能组的“添加自定义列”按钮,此时会弹出“添加自定义列”对话框,首先将默认的列名“Custom”修改为“纯文本”,接下来在下面的“自定义列公式”窗格输入“= Text.Trim(Text.Remove([DATA],{"0".."9"})," ")”,检查无误之后单击“确定”按钮,很快就可以在新添加的自定义列显示从“DATA”列提取出来的纯文本内容,按照同样的方法继续添加“纯数值”、“不重复数值”两个自定义列,公式分别为“=Text.Remove(Text.Trim(Text.Remove([DATA],{"A".."z"})," ")," ")”和“=Text.Combine(List.Distinct(Text.ToList([纯数值])))”,请注意后一个公式的“纯数值”必须与上一个自定义列的名称保持一致,否则会提示“Error”。

  关闭查询编辑器,在提示是否保留更改时,请选择“保留”,返回Excel主界面之后,就可以看到分离效果(图8)。

(0)

相关推荐

  • Excel使用power query追加数据查询

    今天要和大家分享的是:Excel使用power  query追加数据查询详见下图动态演示和步骤分解. 操作方法 01 打开数据源表格 02 看到文件里有3个工作表数据源 03 新建一个工作簿打开,选择 ...

  • 在Excel表格中怎么快速核对数据呢?

    当两张表的数据有出入时,如果按照一个数据一个数据来逐项核对,就会花费很长的时间.下面为大家介绍用Excel快速核对数据的方法,一起来看看吧. 步骤 1.如下图所示为两张成绩单,可以发现成绩单1和成绩单 ...

  • 怎样使用excel或POWER QUERY对多张表追加合并

    当有数据量较大,且字段一致的的多张数据表时,对其进行追加/合并处理更加方便.POWER QUERY是一款excel的应用插件,office 2016版本自带该插件,office2013版本以前都需要安 ...

  • Excel表格中怎么快速找到数据的重复项

    今天,小编给大家介绍Excel表格中快速找到数据的重复项的方法,希望对大家有所帮助.具体如下:1. 第一步,请大家在自己的电脑中找到目标[Excel]表格,点击将其打开.2. 第二步,请大家选择B列和 ...

  • excel怎样用图标快速给数据分组

    我们都知道考试成绩分为:不及格.及格和优秀,怎么样将这三种分类表现在数据表中呢?我们可以给不同的分数不同的图标,这样每个不及格的成绩有一个图标,及格的成绩有另一个图标,优秀的成绩还有一个图标,这样一来 ...

  • 在Excel单元格中快速创建数据小图标

    枯燥的数字后如果能有个小数据图,对数据的感受能更直观。点击“插入”功能选项卡,在“迷你图”组中,单击一种迷你图表类型(拆线图、柱线图、盈亏图),打开“创建迷你图”对话框。选择数据范围并确定迷你图的所在 ...

  • 电脑excel表格内怎么快速处理###符号

    当我们在使用电脑的时候,可以利用excel表格软件来处理表格数据,那么如果在表格内存在大量的###符号的话,应如何进行快速处理呢?接下来就由小编来告诉大家.普通去除 方法/步骤1. 第一步,打开一个e ...

  • excel中,怎样快速批量合并多个工作表?

    本文所分享的内容是:在EXCEL工作薄,有多个工作表,如何批量一次性的把这多个工作表合并在一起. 希望通过本文可以帮到一些朋友. 操作方法 01 工作表少,可以复制再粘贴:但,如果工作表数量很多,如果 ...

  • 怎样用Excel快速填充数据?

    在数据录入工作中,如果依次单个输入,会比较耗费时间.Excel的数据功能很强大,我们可以利用Excel对相关有规律的数据进行快速填充. 操作方法 01 1.打开Excel. 选择Excel进行数据录入 ...