2013-06-26 46 views
3

有誰知道我如何快速隱藏/刪除sheet1中包含sheet2中的任何行信息的所有行嗎?Excel中包含超過2個值的篩選器

它將需要包含過濾器,因爲它不會是確切匹配。

例如

Sheet 1中:

http://www.google.com/something/else 
http://www.yahoo.com/whatever 
www.microsoft.com/hahha 

Sheet 2中:

google.com 

所以最終結果將是Sheet 1中第一行會被隱藏

實際上,我正在使用Sheet1中的數千行以及Sheet2中的數個行。爲了澄清,我基本上試圖做一個包含超過2個值的包含過濾器 - 默認過濾器只允許2個值。

而且我在使用Excel時爲Mac 2011

+0

什麼是工作表名稱和您的數據使用哪些列? – 2013-07-02 14:47:48

回答

4

你可以用一個簡單的輔助柱迅速做到這一點沒有大範圍的循環。

爲了簡化作爲樣品:

  • 假設你的表1列表是A1:A1000
  • 您的表2部分列表是C1:C5(在同一張紙上爲下面的圖片)
  • 然後在範圍B1:B1000進入此陣列式, =MAX(IF(ISERROR(FIND($C$1:$C$5,A1)),0,1))=1

  • 然後自動篩選的TRUE行(按Ctrl鍵 + + 輸入輸入作爲陣列式)(它標誌的任何匹配)和隱藏它們

enter image description here

+0

由於某種原因,所有這些對我來說都是正確的,它說公式指的是空單元格。我的設置與你使用這個公式一樣。 = MAX(IF(ISERROR(FIND($ C $ 1:$ C $ 579,A1)),0,1))= 1我確保按住shift + shift + enter,這是一個數組公式。 (它顯示大括號)。 這是一個Mac Excel,所以會有所作爲? – zen

+0

新信息:)我沒有使用Mac Excel的經驗 - 我不會認爲這會有所作爲,特別是如果你的數組似乎已經工作(命令鍵或Ctrl鍵?),但我會通過這個由Mac專家。 – brettdj

+0

當公式拷貝下來時,A行增加到第1行之後?即B2 = = MAX(IF(ISERROR(FIND($ C $ 1:$ C $ 5,A2)),0,1))= 1' etc – brettdj

2

因爲我正在閱讀@brettdj發佈的解決方案,我認爲它應該適用於您的問題。

從您的評論看來,您使用他的解決方案似乎有一個空的單元格問題。你確定你用正確的值代替$C$1 : $c$5嗎?

在你的情況,你應該先參考右側紙(Sheet2,如果你沒有將其重命名),然後右列(假設你有它在Sheet2中的A列)。你應該寫=MAX(IF(ISERROR(FIND(sheet2!$A$1:$A$5,sheet1!A1)),0,1))=1

+1

啊剛剛發現一個問題。我確實在這700個左右的單元中間隱藏了一個空單元。一旦我刪除這些,它就像一個魅力! – zen

+0

+ 1是這是問題。對不起,沒有看到你的帖子:) –