按匹配的行合并多个工作表

按匹配的行合并多个工作表

我有四张来自世界银行的工作表,其中包含 217、198、136、204 个国家的 GDP、人均护士比例、人均医生比例和医疗费用信息。以下是部分数据的截图:

在此处输入图片描述

是否可以通过仅保留具有所有四项指标数据的国家(在本例中为 136 个国家)来合并工作表。

答案1

我假设所有四张表都是相同的,并且在 Range 中都有数据A2:B13

在此处输入图片描述

怎么运行的:

  • 要复制国家名称,请在A1主表的单元格中输入此公式并向下填写。

     =INDEX(Sheet1!A1:A1,1,1)
    
  • 在相应的行中创建适当的标题。

  • 将此公式写入主表的单元格B2并向下填充。

=IFERROR(VLOOKUP(A2,Sheet1!A2:B13,2,FALSE),"")

单元格中的公式C2

=IFERROR(VLOOKUP(A2,Sheet2!A2:B13,2,FALSE),"")

注意:

  • 对来自不同工作表的其他数据使用相同的公式。
  • 工作表名称是可编辑的。
  • 根据需要调整公式中的单元格引用。

編輯:

为了以更快的方式完成同样的工作,我想建议一些方便的 VBA 技巧。

  • 创建新工作表并命名MASTER
  • 按下ALT+F11打开 VB 编辑器。
  • VIEW菜单中查找并单击Immediate Window

按照显示的顺序写入以下 VBA 代码行。

Sheets("Sheet1").Range("A1:A13").Copy Destination:=Sheets("Master").Range("A1")

笔记,

上述代码将复制国家名称Col A

Sheets("Sheet1").Range("B1:B13").Copy Destination:=Sheets("Master").Range("B1")

Sheets("Sheet2").Range("B1:B13").Copy Destination:=Sheets("Master").Range("C1")

Sheets("Sheet3").Range("B1:B13").Copy Destination:=Sheets("Master").Range("D1")

笔记,

  • 上述代码将从中复制列GDP, Physician & Hexp并创建一个类似表格的结构,如屏幕截图所示。Source SheetsMaster

注意:

  • 工作表名称是可编辑的。

  • 根据需要调整代码中的单元格引用。

相关内容