[英]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.