Excel中的資料篩選和高階篩選
阿新 • • 發佈:2019-01-11
轉載自 https://blog.csdn.net/playkid123/article/details/44562013
篩選過的資料僅顯示那些滿足指定條件的行,並隱藏那些不希望顯示的行。
使用自動篩選可以建立三種篩選型別:按列表值、按格式或按條件。對於每個單元格區域或列表來說,這三種篩選型別是互斥的。不能既按單元格顏色又按數字列表進行篩選,只能在兩者中任選其一;也不能既按圖示又按自定義條件進行篩選,只能在兩者中任選其一。
Excel中資料常用三大型別:數值型、日期型、文字型。 在自定義篩選中,篩選範圍時,萬用字元(? 和 *)只能配合「文字型」資料使用;如果資料是日期型和數值型,則需要設定限定範圍( > = 或 < )等來實現。
合併單元格的自動篩選 ①取消標題行單元格合併,而後進行自動篩選,然後重新合併原單元格區域。 ②標題行下所屬資料是合併的單元格時,先複製備份單元格列的合併格式到其它列,取消原單元格合併~F5定位~定位條件~空值~第一個活動單元格輸入=再向上鍵~Ctrl+Enter,複製轉換過的區域~選擇性貼上~數值~確定,再將備份的單元格列的合併格式複製貼上到原列,最後才能進行自動篩選。
——Excel高階篩選
自動篩選與高階篩選 自動篩選一般用於條件簡單的普通篩選操作,且只能在當前操作區進行,符合條件的記錄顯示在原來的資料表格中。 高階篩選也稱多條件篩選,用於條件較複雜的篩選操作,其篩選的結果可顯示在原資料表格中,不符合條件的記錄被隱藏起來;也可以在新的位置顯示篩選結果,不符合的條件的記錄同時保留在資料表中而不會被隱藏起來,這樣便於進行資料比對。 例如我們要篩選出「基本工資」或「職務工資」超過500且「實發」工資超過800的符合條件的記錄,用「自動篩選」就無能為力了,而「高階篩選」可方便地實現這一操作。
高階篩選 ①方式:在原有區域顯示篩選結果,將篩選結果複製到其他位置; ②列表區域:原工作表中需要篩選的表格區域; 條件區域:用來篩選的條件表達區域; 複製到:如果(方式)選中將篩選結果複製到其他位置,可以選擇篩選結果放在哪個地方; 選擇不重複的記錄:指的是去除原資料列的重複值所產生的篩選結果(篩選不重複記錄要求資料區帶有標題行)。
上圖是在Excel工作簿中的兩張Sheet表,Sheet1表標籤叫「資料來源表」,A1:J24是資料來源表當前的資料區域;Sheet2表標籤叫「條件區域和篩選結果」,我們將在Sheet2表中進行操作。
下一張圖是我們要進行操作的Sheet2表。其中A1:F5可以稱做條件區域。目前條件區域的內容,只列了一行,也就代表這個條件區域,實際上只是A1:F2 區域(做為條件的標題一定要和資料來源表的標題一致)。
條件區域 高階篩選需要在資料區外設定一個條件區域,由標題行和條件行組成。篩選條件行允許使用帶運算子的表示式,還可以同時設定多列條件,或多行條件的表示式。
①要在條件區域的第一行寫上條件中用到的欄位名(標題),比如要篩選資料清單中「年齡」在30歲以上,「學歷」為本科的職員,其中「年齡」和「學歷」是資料清單中對應列的列名,稱作欄位名,那麼在條件區域的第一行一定是寫這兩個列的名稱(欄位名),即「年齡」和「學歷」,而且欄位名的一定要寫在同一行。
②在欄位名行的下方書寫篩選條件,條件的資料要和相應的欄位在同一列,比如上例中年齡為30歲,則「30」這個資料要寫在條件區域中「年齡」所在列,同時「本科」要寫在條件區域中「學歷」所在的列。
③條件種類涵蓋自動篩選中所有定製格式的條件,包括等於=、不等於<>、大於>、小於<、大於等於>=、小於等於<=等。如果是等於關係,則直接寫值,不需加符號。 另外要注意的是,這些符號必須是英文半形符號,不可以是全形符號,最好在英文狀態下輸入。
條件行-篩選條件的種類
一)不包含單元格引用的篩選條件 此類表示式的特點不能以等號開頭,允許以>=或<=開始的表示式; 條件區域標題的填寫,必須填寫與資料區標題相同名稱。
①不帶萬用字元的篩選條件: >500:表示篩選出大於500的記錄; <3:表示篩選出小於3的記錄; 0:表示篩選出等於0的記錄(如果該單元格設定的是文字格式,則篩選出的為所有包含0的記錄) >=2012/12/26:表示大於等於2012年12月26日的記錄; ②帶萬用字元的條件設定 「*」代表多個字元;「?」代表單個字元; 「~*」代表篩選「*」;「~?」代表篩選「?」。 ③文字型條件的設定 「張」表示以張開始的任何字串;「=張」表示篩選只有一個字元張的記錄; 「*德」表示人名中,只要包含德的都篩選出來;「=*德」表示姓名以德結尾; 「>M」表示所有打頭字母在M到Z; 二)包含單元格引用的篩選條件,如: 「=C2<>D2」表示篩選出同行次的C列與D列值不相等的記錄 「=D2>800」表示篩選出D列數值中大於800的記錄。 「=ISNUMBER(FIND("8",C2))」表示篩選C列資料中包含8的記錄。 「C2=""」表示篩選出C列資料中為空的記錄。
①查詢空白:在圖號中查詢為空白的記錄。在H2中錄入“=C6= ""”,H1中不用錄入任何資料,然後再進行列表區域和條件區域選擇,最後會顯示出我們所要的結果來。(如下圖)
②查詢數字:例如:在圖號中查詢與“8”有關的記錄。在H2中錄入公式“=ISNUMBER(FIND("8",C6))”,H1中還是不用錄入資料,然後再進行列表區域和條件區域選擇,最後會顯示出我們所要的結果來。(如下圖) 此類表示式的特點是必須以等號開頭,表示式中可以包含各類函式,單元格引用是資料記錄的第一條單元格地址,並且是相對引用; 條件區域標題不能使用資料區域中的標題,可任填其它或不填(與「不包含單元格引用的篩選條件」的規則剛好好相反)。
三)多條件篩選 在寫條件時,一般都同時有多個條件,這些條件是個什麼關係,又怎麼在條件區域中分佈呢? 我們平時所用的邏輯條件,如果有多個,它們之間總是會存在兩種關係,一種是「或」關係,一種是「與」關係。多條件篩選分為「條件與」、「條件或」和「條件與、或」的綜合使用。
①同時滿足多個條件資料的篩選(條件與) 要求:在「員工基本情況登記表」中,把「職稱」為「高階工程師」,並且「學歷」為「大學」的人員挑選出來。
②並列滿足多個條件資料的篩選(條件或) 要求:在「員工基本情況登記表」中,把「職稱」為「高階工程師」,「學歷」為「大學」的人員都挑選出來。
在具體寫條件時,如果是與關係,這些條件要寫到同一行中;如是是或關係,這些條件要寫到不同的行中。也就是說不同行的條件表示或關係,同行的條件表示與關係。
下面幾個具體例項,看一下篩選條件的寫法:
①選擇出語文、數學、英語三門成績中至有少一門不及格的學生。 語文 數學 英語 <60 <60 <60
②篩選出語文、數學、英語三門課程都及格的學生。 語文 數學 英語 >=60 >=60 >=60
③篩選出語文、數學、英語三門課程中只有一門不及格的學生。 語文 數學 英語 <60 >=60 >=60 >=60 <60 >=60 >=60 >=60 <60
④篩選出「系別」為英語系、中文系,「年齡」在20歲以上,「籍貫」是北京、天津的學生。 系別 年齡 籍貫 英語系 20 北京 英語系 20 天津 中文系 20 北京 中文系 20 天津
查詢篩選並刪除重複資料
篩選過的資料僅顯示那些滿足指定條件的行,並隱藏那些不希望顯示的行。
使用自動篩選可以建立三種篩選型別:按列表值、按格式或按條件。對於每個單元格區域或列表來說,這三種篩選型別是互斥的。不能既按單元格顏色又按數字列表進行篩選,只能在兩者中任選其一;也不能既按圖示又按自定義條件進行篩選,只能在兩者中任選其一。
Excel中資料常用三大型別:數值型、日期型、文字型。 在自定義篩選中,篩選範圍時,萬用字元(? 和 *)只能配合「文字型」資料使用;如果資料是日期型和數值型,則需要設定限定範圍( > = 或 < )等來實現。
合併單元格的自動篩選 ①取消標題行單元格合併,而後進行自動篩選,然後重新合併原單元格區域。 ②標題行下所屬資料是合併的單元格時,先複製備份單元格列的合併格式到其它列,取消原單元格合併~F5定位~定位條件~空值~第一個活動單元格輸入=再向上鍵~Ctrl+Enter,複製轉換過的區域~選擇性貼上~數值~確定,再將備份的單元格列的合併格式複製貼上到原列,最後才能進行自動篩選。
——Excel高階篩選
自動篩選與高階篩選 自動篩選一般用於條件簡單的普通篩選操作,且只能在當前操作區進行,符合條件的記錄顯示在原來的資料表格中。 高階篩選也稱多條件篩選,用於條件較複雜的篩選操作,其篩選的結果可顯示在原資料表格中,不符合條件的記錄被隱藏起來;也可以在新的位置顯示篩選結果,不符合的條件的記錄同時保留在資料表中而不會被隱藏起來,這樣便於進行資料比對。 例如我們要篩選出「基本工資」或「職務工資」超過500且「實發」工資超過800的符合條件的記錄,用「自動篩選」就無能為力了,而「高階篩選」可方便地實現這一操作。
高階篩選 ①方式:在原有區域顯示篩選結果,將篩選結果複製到其他位置; ②列表區域:原工作表中需要篩選的表格區域; 條件區域:用來篩選的條件表達區域; 複製到:如果(方式)選中將篩選結果複製到其他位置,可以選擇篩選結果放在哪個地方; 選擇不重複的記錄:指的是去除原資料列的重複值所產生的篩選結果(篩選不重複記錄要求資料區帶有標題行)。
上圖是在Excel工作簿中的兩張Sheet表,Sheet1表標籤叫「資料來源表」,A1:J24是資料來源表當前的資料區域;Sheet2表標籤叫「條件區域和篩選結果」,我們將在Sheet2表中進行操作。
下一張圖是我們要進行操作的Sheet2表。其中A1:F5可以稱做條件區域。目前條件區域的內容,只列了一行,也就代表這個條件區域,實際上只是A1:F2 區域(做為條件的標題一定要和資料來源表的標題一致)。
條件區域 高階篩選需要在資料區外設定一個條件區域,由標題行和條件行組成。篩選條件行允許使用帶運算子的表示式,還可以同時設定多列條件,或多行條件的表示式。
①要在條件區域的第一行寫上條件中用到的欄位名(標題),比如要篩選資料清單中「年齡」在30歲以上,「學歷」為本科的職員,其中「年齡」和「學歷」是資料清單中對應列的列名,稱作欄位名,那麼在條件區域的第一行一定是寫這兩個列的名稱(欄位名),即「年齡」和「學歷」,而且欄位名的一定要寫在同一行。
②在欄位名行的下方書寫篩選條件,條件的資料要和相應的欄位在同一列,比如上例中年齡為30歲,則「30」這個資料要寫在條件區域中「年齡」所在列,同時「本科」要寫在條件區域中「學歷」所在的列。
③條件種類涵蓋自動篩選中所有定製格式的條件,包括等於=、不等於<>、大於>、小於<、大於等於>=、小於等於<=等。如果是等於關係,則直接寫值,不需加符號。 另外要注意的是,這些符號必須是英文半形符號,不可以是全形符號,最好在英文狀態下輸入。
條件行-篩選條件的種類
一)不包含單元格引用的篩選條件 此類表示式的特點不能以等號開頭,允許以>=或<=開始的表示式; 條件區域標題的填寫,必須填寫與資料區標題相同名稱。
①不帶萬用字元的篩選條件: >500:表示篩選出大於500的記錄; <3:表示篩選出小於3的記錄; 0:表示篩選出等於0的記錄(如果該單元格設定的是文字格式,則篩選出的為所有包含0的記錄) >=2012/12/26:表示大於等於2012年12月26日的記錄; ②帶萬用字元的條件設定 「*」代表多個字元;「?」代表單個字元; 「~*」代表篩選「*」;「~?」代表篩選「?」。 ③文字型條件的設定 「張」表示以張開始的任何字串;「=張」表示篩選只有一個字元張的記錄; 「*德」表示人名中,只要包含德的都篩選出來;「=*德」表示姓名以德結尾; 「>M」表示所有打頭字母在M到Z; 二)包含單元格引用的篩選條件,如: 「=C2<>D2」表示篩選出同行次的C列與D列值不相等的記錄 「=D2>800」表示篩選出D列數值中大於800的記錄。 「=ISNUMBER(FIND("8",C2))」表示篩選C列資料中包含8的記錄。 「C2=""」表示篩選出C列資料中為空的記錄。
①查詢空白:在圖號中查詢為空白的記錄。在H2中錄入“=C6= ""”,H1中不用錄入任何資料,然後再進行列表區域和條件區域選擇,最後會顯示出我們所要的結果來。(如下圖)
②查詢數字:例如:在圖號中查詢與“8”有關的記錄。在H2中錄入公式“=ISNUMBER(FIND("8",C6))”,H1中還是不用錄入資料,然後再進行列表區域和條件區域選擇,最後會顯示出我們所要的結果來。(如下圖) 此類表示式的特點是必須以等號開頭,表示式中可以包含各類函式,單元格引用是資料記錄的第一條單元格地址,並且是相對引用; 條件區域標題不能使用資料區域中的標題,可任填其它或不填(與「不包含單元格引用的篩選條件」的規則剛好好相反)。
三)多條件篩選 在寫條件時,一般都同時有多個條件,這些條件是個什麼關係,又怎麼在條件區域中分佈呢? 我們平時所用的邏輯條件,如果有多個,它們之間總是會存在兩種關係,一種是「或」關係,一種是「與」關係。多條件篩選分為「條件與」、「條件或」和「條件與、或」的綜合使用。
①同時滿足多個條件資料的篩選(條件與) 要求:在「員工基本情況登記表」中,把「職稱」為「高階工程師」,並且「學歷」為「大學」的人員挑選出來。
②並列滿足多個條件資料的篩選(條件或) 要求:在「員工基本情況登記表」中,把「職稱」為「高階工程師」,「學歷」為「大學」的人員都挑選出來。
在具體寫條件時,如果是與關係,這些條件要寫到同一行中;如是是或關係,這些條件要寫到不同的行中。也就是說不同行的條件表示或關係,同行的條件表示與關係。
下面幾個具體例項,看一下篩選條件的寫法:
①選擇出語文、數學、英語三門成績中至有少一門不及格的學生。 語文 數學 英語 <60 <60 <60
②篩選出語文、數學、英語三門課程都及格的學生。 語文 數學 英語 >=60 >=60 >=60
③篩選出語文、數學、英語三門課程中只有一門不及格的學生。 語文 數學 英語 <60 >=60 >=60 >=60 <60 >=60 >=60 >=60 <60
④篩選出「系別」為英語系、中文系,「年齡」在20歲以上,「籍貫」是北京、天津的學生。 系別 年齡 籍貫 英語系 20 北京 英語系 20 天津 中文系 20 北京 中文系 20 天津
查詢篩選並刪除重複資料