根据一个Excel表格筛选另一个Excel表格的内容

[email protected]
任务描述:

从论文列表中筛选其中属于ESI GeoScience分类的论文。论文列表是一个Excel文件,ESI Geoscience是另一个Excel文件,需要通过匹配两个文件的期刊名进行筛选。

材料:

  • my-papers.xls,论文列表excel,自Noteexpress中导出,其中期刊名为Journal列
  • ESI-GEOnew.xlsx,ESI Geoscience类别的期刊列表,其中期刊名为Full title列

环境:Windows 10, MS Excel 2016

流程:

  1. 新建一个Excel文件,名为 papers-filtered.xls
  2. 打开 papers-filtered.xlsx,在Data > New Query > from file >from workbook,选择my-papers.xls
  3. 选择弹出的Navigator里的 Sheet1(即有数据的那个sheet),然后Load,将生成Sheet2,内容是my-papers里的全部信息。
  4. 选择Query > Edit,打开编辑器
  5. 选择Home > New Source > File > Excel,选择ESI-GEOnew.xlsx,在弹出的Navigator里选择 Sheet1,然后Load
  6. 在编辑器界面左侧的面板上可以看到我们建立了两个Query,第一个Sheet1是来自my-papers,第二个Sheet1 (2) 是来自ESI-GEOnew 。
  7. 由于my-papers 里的 Journal 列和 ESI-GEOnew里的 full title 存在大小写问题,并不匹配,我们在继续下面步骤之前,各自添加一列,将两者全部大写。选择左侧的Sheet1,选择Journal列,点击Add Column > Format > UPPERCASE,将可以看到一个新列名为 UPPERCASE,内容是Journal 列的大写转换;同理,点击左侧面板的Sheet1 (2),选择Full title列,点击UPPERCASE添加新列。
  8. 选择 Sheet1 (即my-papers 对应的query),Home > Merge Queries
  9. 在弹出Merge窗口,选择Sheet1 (2) 作为待合并的Query,并选择上下两个Query 的UPPERCASE列作为连接项。选择Inner 作为Join Kind。
  10. 点击Close & Load,关闭Power Query Editor。
  11. 在papers-filtered 的sheet2里可以看到筛选出来的记录。刚才的操作也新生成了Sheet3 (对应于ESI-GEOnew),可以不用管。
  12. 保存papers-filtered.xlsx即可。

注意:

  1. 步骤7是对Query进行必要的处理(新增列),每个Query在Editor右侧都可以看到Applied steps,可以对这个Query的每个处理步骤进行编辑或者新增操作,或者删除操作。
  2. Query 并不保存实际的数据,数据仍然存在my-papers 和 ESI-GEOnew两个excel表里,如果对这两个表格里的数据进行修改,那么papers-filtered.xlsx里的内容也将自动发生变更。
  3. 在papers-filtered.xlsx里点击到生成的内容,Tab里出出现Design 和Query,就可以继续打开Query Editor。右侧面板可以看到该workbook下包括的全部Query。
  4. Query Editor 还有很多功能,感兴趣可以进一步挖掘。

示例数据见附件。

Leave a Reply

Your email address will not be published. Required fields are marked *