您的位置:首頁>正文

Excel|細說自動篩選和高級篩選&通過VBA快速文本篩選

使用篩選可以將不滿足條件的資料暫時隱藏起來, 只顯示符合條件的資料。 在篩選時, 如果同時對兩個或兩個以上的欄位進行篩選, 篩選結果將同時滿足所有篩選條件的記錄。

對於應用資料篩選的資料區域(資料清單), 規範的資料格式是:第一行是欄位名, 其它行儘量不要有空行。

1 自動篩選

1.1 自動篩選的操作步驟

I 切換到“資料”選項卡→按一下“排序和篩選”選項群組中的“篩選”按鈕。 可以看到, 此時資料區域的第一行的每一個欄位的右下角增加了一個下拉箭頭;

II 想要篩選資料, 只需要按一下相應的下拉箭頭,

然後進行設置即可。

III 設置完後, 按一下“確定”按鈕, 即可得到篩選結果。

自動篩選根據某一列的單元格格式的數位類型可以區分為:日期篩選、文本篩選、數位篩選。

1.2 日期篩選

1.3 文本篩選

1.4 數字篩選

1.5 自訂篩選

以上三種類型都可以進行自訂篩選。

進行自訂篩選時, 會彈出一個對話方塊, 如下圖所示:

在設置篩選條件時, 一定要根據需要的結果選擇合適的邏輯關係, 以保證篩選的正確執行。 通常情況下, “與”關係, 表示並列關係, 也就是表示兩個條件要全部滿足才能被篩選出來;而“或”關係, 表示選擇關係, 即所設置的兩個條件中有一個滿足就可以了。

在文本篩選中, 篩選條件中可以使用萬用字元“?”和“*”, 萬用字元“?”在其所在位置代表一個任意字元,

如“張?", 可以代表“張海”、“張洋”或“張強”等。 而“*”可以在其所在位置代表多個任意字元, 如“張*"除了可以代表“張海”、“張洋”或“張強”等外, 還可以代表“張平東”、“張澤一”等。

1.6 日期篩選轉變成文本篩選

需要添加輔助列, 並應用公式:=TEXT(A2,"yyyymmdd")

1.7 數位篩選轉變成文本篩選

需要添加輔助列, 並應用公式:=LEFT(C2,LEN(C2))

1.8 相關細節

I 資料應用篩選後, 如果繼續在篩選區域後添加資料, 應用篩選時不一定能正確進行篩選, 最好的做法是, 取消篩選, 再重新應用篩選;

II 有篩選的列的箭頭符號與沒有篩選的箭頭符號會有所區別, 前者會多一個漏斗的符號;同時, 一個表格如果有篩選, 除了看箭頭了符號外, 還可以看行號的顏色是否有改變, 如下所示:

III 如果想要看到全部資料,可以在“資料”選項卡中,按一下“清除”按鈕,或取消篩選,或在篩選設置中選擇“全選”。

2 高級篩選

利用自動篩選一次只能針對一列、一列只能設置一到兩個篩選條件,如果要同時對多列、每一列設置兩個以上的篩選條件,可以使用高級篩選。

使用高級篩選時,首先在需要篩選的目的地區域以外的區域的儲存格中建立條件區域,條件區域的第一行為列欄位,其下行對應為欄位的條件運算式。

2.1 高級篩選的具體操作步驟

I 創建條件區域。在需要篩選的目的地區域以外的區域的儲存格中輸入篩選條件中的列標誌,在列標誌的下方行中輸入篩選條件;

II 選中資料清單中的任意儲存格,切換到“資料”選項卡,按一下“高級”按鈕,彈出“高級篩選”對話方塊;

III 選擇“清單區域”和“條件區域”;

IV 按一下“確定”按鈕,即可獲得篩選結果。

2.2 設置高級篩選條件

利用高級篩選時,可以定義多個條件,然後一次篩選出所需要的記錄。設置的“條件區域”的某些儲存格可以空出,形成“邏輯與”或“邏輯或”的條件組合。

列標誌的下方行中同行的儲存格值是“邏輯與”的關係;

列標誌的下方行中不同行的儲存格值是“邏輯或”的關係;

I 在單列上設置多個條件

客戶名稱物料名稱公式結存潔士寶
郎頓

這樣設置的條件,使Excel執行的是“邏輯或”的判斷,只要滿足兩個條件之一,就會被篩選出來。其邏輯條件相當於:

客戶名稱=潔士寶 或 客戶名稱=郎頓

II 列上具有不同行的條件

客戶名稱物料名稱公式結存潔士寶彩盒
郎頓
>3000

其其邏輯條件相當於:

(客戶名稱=潔士寶 與 物料名稱=彩盒) 或 公式結存>3000

III 兩列上具有兩組條件

客戶名稱物料名稱公式結存潔士寶彩盒1000
郎頓
>3000

其其邏輯條件相當於:

(客戶名稱=潔士寶 與 物料名稱=彩盒 與 公式結存=1000) 或 (客戶名稱=郎頓 與 公式結存>3000)

3 用VBA快速篩選

3.1 構造條件區域

3.2 編寫巨集並關聯到命令按鈕,如下圖所示:

Sub 包含字元篩選()

Range("明細!A1:P532").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _

Range("包含字元篩選!B1:B2"), Unique:=False

End Sub

III 如果想要看到全部資料,可以在“資料”選項卡中,按一下“清除”按鈕,或取消篩選,或在篩選設置中選擇“全選”。

2 高級篩選

利用自動篩選一次只能針對一列、一列只能設置一到兩個篩選條件,如果要同時對多列、每一列設置兩個以上的篩選條件,可以使用高級篩選。

使用高級篩選時,首先在需要篩選的目的地區域以外的區域的儲存格中建立條件區域,條件區域的第一行為列欄位,其下行對應為欄位的條件運算式。

2.1 高級篩選的具體操作步驟

I 創建條件區域。在需要篩選的目的地區域以外的區域的儲存格中輸入篩選條件中的列標誌,在列標誌的下方行中輸入篩選條件;

II 選中資料清單中的任意儲存格,切換到“資料”選項卡,按一下“高級”按鈕,彈出“高級篩選”對話方塊;

III 選擇“清單區域”和“條件區域”;

IV 按一下“確定”按鈕,即可獲得篩選結果。

2.2 設置高級篩選條件

利用高級篩選時,可以定義多個條件,然後一次篩選出所需要的記錄。設置的“條件區域”的某些儲存格可以空出,形成“邏輯與”或“邏輯或”的條件組合。

列標誌的下方行中同行的儲存格值是“邏輯與”的關係;

列標誌的下方行中不同行的儲存格值是“邏輯或”的關係;

I 在單列上設置多個條件

客戶名稱物料名稱公式結存潔士寶
郎頓

這樣設置的條件,使Excel執行的是“邏輯或”的判斷,只要滿足兩個條件之一,就會被篩選出來。其邏輯條件相當於:

客戶名稱=潔士寶 或 客戶名稱=郎頓

II 列上具有不同行的條件

客戶名稱物料名稱公式結存潔士寶彩盒
郎頓
>3000

其其邏輯條件相當於:

(客戶名稱=潔士寶 與 物料名稱=彩盒) 或 公式結存>3000

III 兩列上具有兩組條件

客戶名稱物料名稱公式結存潔士寶彩盒1000
郎頓
>3000

其其邏輯條件相當於:

(客戶名稱=潔士寶 與 物料名稱=彩盒 與 公式結存=1000) 或 (客戶名稱=郎頓 與 公式結存>3000)

3 用VBA快速篩選

3.1 構造條件區域

3.2 編寫巨集並關聯到命令按鈕,如下圖所示:

Sub 包含字元篩選()

Range("明細!A1:P532").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _

Range("包含字元篩選!B1:B2"), Unique:=False

End Sub

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示