簡體   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