繁体   English   中英

Excel - 根据没有 VBA 的条件将行从一个工作表复制到另一个工作表

[英]Excel - Copy rows from one sheet to another sheet based in a criteria without VBA

我在第一张表中有一个具有下一个结构的 excel

ID 颜色 尺寸
001 红色的 一个
002 绿色 一个
002 蓝色的 一个
002 蓝色的

我需要将颜色为蓝色的行自动复制到第二张表(包括稍后包含在第一张表中的记录),只有没有 VBA 的公式

用例子

ID 颜色 尺寸
002 蓝色的 一个
002 蓝色的

我尝试在第二张表中使用 nex 公式

=IF('Sheet1'!$B2="blue";'Sheet1'!A2;"")

我得到了以下结果

ID 颜色 尺寸
002 蓝色的 一个
002 蓝色的

但我需要不匹配的行不要出现甚至空白

如果 VBA 有什么方法可以做到这一点?

我使用 Excel 2010

非常感谢大家

如果您在“Sheet1”中使用附加列,例如表格的“D”,也可以不使用 VBA。 在“D1”中写入“Counter”然后在“D2”中写入:

=IF(B2="blue";MAX($D$1:D1)+1;0)

并复制到下面的行。 这是 B2 或 0 中具有蓝色值的行的递增计数器。

然后在新工作表“Sheet2”中将标题行(“ID”、“Color”、“Size”)从“Sheet1”复制到“A1:C1”。

在“A2”中写:

=IFERROR(INDEX(Sheet1!$A$2:$C$100;MATCH(ROW()-1;Sheet1!$D$2:$D$100;COLUMN());"")

将“A2”单元格复制到“C2”,然后将整行“A2:C2”复制到最后一行。

这些函数在“Sheet1”的“D”列中查找 ROW()-1,如果找到则显示整行。 IFERROR 隐藏其他行,因为如果找不到 #N/A 将显示在您范围内的空单元格中。

$A$2:$C$100 - “Sheet1”中的源表。
$D$2:$D$100 - 计数器的范围。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM