如何在Excel過濾器中建立新的選項框並對Excel中的多列套用單一篩選器?

如何在Excel過濾器中建立新的選項框並對Excel中的多列套用單一篩選器?

我有一個 Excel 工作表。在 A 列中,有一個物件清單(約 50 個);其他列中列出的是這些物件的特徵。 E、F、G 欄對我來說特別重要。它們包含諸如1、等數值,諸如、7等數字字母值,並且還存在包含至少幾個數字和/或數字字母值(例如或 )的逗號分隔值。這些列中還有一些空白單元格。這是一個列印螢幕16B17C24, 13B, 15G17A, 20B, 16工作表

我想在 E、F、G 列上使用過濾器。

這就是我希望過濾器的方式

這就是他們目前的方式

例如,我想透過數字字母值(例如“17C”)過濾列 F。理想情況下,剩下的將是包含「17C」的儲存格,例如17C17C, 24A16B, 17B, 17C, 24A, 24F等。

另外,我想用「6」之類的數值過濾 F 列。理想情況下,剩下的單元格將包含“6”,例如1, 2, 3, 6, 12, 13, 15, 20,,,6但不包含6E, 7C, 13C,nor 6A,nor 16B, 17A, 19C

我希望能夠過濾列中使用的所有可能的值,即1, 1B, 2, 2D, 2E, … , 20, 24A,24F等。

我想對 E、F 和 G 列套用此類過濾。

如果我可以不用輔助列,那就太好了。但如果沒有它們就不可能做到這一點,那麼我會很樂意使用它們。

我希望我能夠清楚地表達我的掙扎。

答案1

選擇所有三列,然後選擇功能區中的篩選器按鈕。您可以取消選擇全部,然後在每列中選擇 13。

現在我已閱讀您更新的詳細信息,請嘗試選擇所有三列:條件格式、突出顯示單元格規則、包含“13”的文字。

答案2

我從未聽說過 Excel 本身有任何此類功能。然而,我建立了一個解決方案,我相信它可以提供您想要的結果。

假設您在問題中顯示的列佈局是準確的:

  • 在儲存格中I2輸入公式=OR(AND(E2=$H$1,E2<>""), LEFT(E2, LEN($H$1)+1)=($H$1&","), RIGHT(E2, LEN($H$1)+1)=(" "&$H$1), NOT(ISERROR(SEARCH(" "&$H$1&",", E2)))) =OR(AND(E2=$H$1,E2<>""), LEFT(E2, LEN($H$1)+1)=($H$1&","), RIGHT(E2, LEN($H$1)+1)=(" "&$H$1), NOT(ISERROR(SEARCH(" "&$H$1&",", E2))))

    這將是一個輔助列。稍後我將詳細討論這個公式。現在,請注意它引用了E2多次。這是測試 中的值 E2;即 Column  E

  • I2將單元格拖到右側/填充到單元格K2。現在中的公式J2正在測試 Column F 並 K2正在測試 Column  G

    輔助列可以放在任何您想要的地方。您可以將上述公式放入 Columns 中 XY如果 Z需要的話 - 或AE,AFAG

  • 在儲存格中H2,輸入=OR(I2:K2).顯然,如果您重新定位了I- J-K輔助列,請調整它以匹配。
  • 選擇輔助列單元格(H2通過K2或您放置它們的任何位置)並向下拖曳/填充以覆蓋所有包含資料的行。
  • 過濾柱H

現在,

  • 在儲存格中輸入字母數字值,例如1B、 17A 或 。24H1
  • 啟動列上的篩選器H以僅顯示真的價值觀。現在您將只看到 Column FG包含H 您在 中輸入的值的 行H1

未過濾:

過濾:

好的;輔助列中的公式(上面描述為IJ和 K)看起來像

=或(表達式1,表達式2,表達式3,表達式4
其中四個表達式是:

  • AND(E2=$H$1,E2<>"")。這測試 Column 中的值是否 E 簡單等於H1(但不為空)中的值。例如,如果 中的值為 ,則該值為E3TRUE 。H224
  • LEFT(E2, LEN($H$1)+1)=($H$1&",")。這測試 Column 中的值是否 E以 中的值開頭 H1。更準確地說,Column 中的值是否 E 以 in 中的值開頭, H1後面跟著逗號。因此,例如,對於 ,F3這將為 TRUE,但對於或 則為16B FALSE 。116
  • RIGHT(E2, LEN($H$1)+1)=(" "&$H$1)。以上的鏡像;這測試 Column 中的值是否 E以 中的值結尾 H1。更準確地說,Column 中的值是否  以前面有空格E的值結尾 。H1因此,例如,對於 ,F3這將為 TRUE, 但對於或 則為 19C FALSE 。9CC

    注意,上面三個測驗是不區分大小寫的,因為 在Excel中是不區分大小寫的。string1=string2

  • NOT(ISERROR(SEARCH(" "&$H$1&",", E2)))。這測試 Column 中的值是否 E包含 中的值 H1。更精確地說,Column 中的值是否 包含 前面有空格、後面有逗號的E值 。H1這是不區分大小寫的,因為SEARCH函數不區分大小寫。

因此 in 中的公式I2測試 in 中的值是否以某種方式E2包含 in 中的值。H1

因此, 中的公式測試第 2 行(Columns或)H2中的任何值是否 包含 中的值。EFGH1


E如果您想在 Columns和F中 產生字母數字值的清單 G (例如,  1B2D2E5C2416B17A19C等),可以這樣做,但我現在不會這樣做。

相關內容