欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


DEP驱动备份工具怎么用
DiskGenius怎么分区
音速启动怎么添加qq音乐在线听歌功能?
win7系统CRT显示器出现闪屏怎么办?
使用音速启动设置闹钟定时方法
Excel2010条件格式怎么使用
Excel“锅状”对比图表如何制作
win7系统怎么修改当前所在位置?
Beyond Compare输出窗格中显示行号方法
RealPlayer 11与kmplayer冲突的解决方法
如何利用Excel的Power Query快速转换数据
【 来源:网络 】【 点击:2 】 【 发布时间:2017_03_03 08:59:59 】

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

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

  1. 数据转换为表

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

  2. 提取学科数据

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

1605A-SJZH-2

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

1605A-SJZH-3

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

1605A-SJZH-4

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

1605A-SJZH-5
1605A-SJZH-6

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

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

1605A-SJZH-7

  在源数据选择“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)。

1605A-SJZH-8

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站