如何根据匹配条件将数据从一个工作表复制到另一个工作表

时间:2017-08-04 14:22:35

标签: excel vba excel-vba

来源数据: Source Data

目标: Target

我不确定这是否可行,但我需要根据目标文件中的列与源文件中的列完全匹配,将数据从源文件复制到目标文件。

根据附件图像,两个文件中都存在Coverage Pattern Name。我需要复制覆盖期限数据,但问题是相同类型的覆盖模式名称可能有多个覆盖期限值。我需要引入所有独特的覆盖条款。

基本上,如果来自(目标文件)的覆盖描述作为覆盖模式名称(来自源文件)存在,那么我需要从coverageterm(来自源文件)填充covtermpattern(在目标文件中)。

这可能吗?

1 个答案:

答案 0 :(得分:0)

您正在寻找vlookup功能。 如果我找到你并且假设:

  1. 两张图纸都在同一个文件中;
  2. 目标是名为"目标"的工作表,而Source是名为&#34的工作表;来源&#34 ;;
  3. 那"覆盖范围描述"列是列源!A,然后是
  4. 在目标!covtermpattern的单元格中写下如下内容:

    =ifna(vlookup(A2,source!K:K,1,FALSE), "---")
    

    解释

    = ifna()将返回第一条指令的值,除非是错误。即,来自Target的Source不匹配。在这种情况下,它将返回字符" ---"。您可以稍后过滤它们。

    vlookup()是在给定两个值匹配的情况下导入特定行的值的函数。 A2指向我们在下一条指令中指定的列(或子集)中垂直查找的值。

    来源!K:K 代表上述搜索空间:来自工作表"来源"的整列K.

    1 表示匹配右侧的空格数是我们要查找的值。 1表示指定的列(K)。 2会引导您进入N. 3到M [...]

    FALSE 可让您检索近似值。但它只适用于数字匹配。

    希望它有所帮助!