如果列与值匹配,则将单元格从一个工作表复制到另一个工作表

时间:2015-12-01 17:21:43

标签: excel

我尝试使用公式将数据从一个工作表复制到另一个工作表,其中列匹配某个值。

更具体地说,我希望Working!A2:E100包含Data!A2:E100,但仅适用于Data!C2:100包含值"固定"。

的行

这样做留空行很简单,我只需创建公式:

 =IF(Data!$C2="Fixed", Data!A2, "")

将该公式复制到所有单元格中。

但后来我觉得我变得聪明并且没有复制空白行,并且进入了一个不明确的excel教程和模糊错误消息的迷宫。

我已经创建了这个公式:

 =INDEX(Data!A2:Data!A200, MATCH("Fixed", Data!$C$1:Data!$C$200, 0))

使用ctrl shift enter将其作为数组公式输入。

然而,我得到的只是数据!A2的内容在我的电子表格的每个单元格中反复重复。

有没有人需要知道我需要做些什么来使这项工作?

这是我在BruceWayne的回答中的示例后尝试本地原型,结果可见:

Attempt to get it working

正如你所看到的那样&#34;第2行和第34行;只在结果列中重复出现。 Excel似乎没有简单的方法来查看它的版本,但这似乎是一个非常新的版本,它带有文件菜单的功能区,所有菜单标题都大写。< / p>

1 个答案:

答案 0 :(得分:1)

这是您可以使用的公式(注意:将其作为数组输入):

=IFERROR(INDEX(A$1:A$200,SMALL(IF(C$1:C$200="Fixed",ROW(A$1:A$200)-ROW(A$1)+1),ROWS(A$1:A1))),"")

你可能需要调整范围,我想我让它们与你的相匹配,但同样,可能需要调整。然后,您可以向下拖动它,它将填充A列中的值,跳过任何空白。

编辑:这是一个截图(希望)有助于展示我的所作所为: enter image description here

您可以自然地编辑范围超过两张。

为了澄清,A$1:A$200是您想要返回的范围(索引)。 C$1:C$200是保持“固定”的范围。