巧用Excel的“自動篩選”功能
如圖1所示的工作表(假設D列已填入數據)若要上報或打印,還必須對F列和G列做隱藏處理(若直接刪除,填充到D列的數據將全部丟失)。我在實際工作中,摸索出了一種方法,即利用Excel“自動篩選”功能快速實現部門名稱的錄入,下面仍以“學校職工情況表”為例,說明其操作步驟。
1. 按圖1格式輸入表格基本數據(F列、G列不需要錄入)。
2. 單擊“數據”菜單,選中“自動篩選”,則在每個字段右側出現一個下箭頭的按鈕,單擊“部門代碼”右側的按鈕,打開一個下拉列表如圖2所示。
3. 單擊下拉列表中的任意一個“部門代號”,例:單擊“1”,則“部門代碼”為“1”的所有記錄全部顯示在屏幕上(如圖3)。
4. 在圖3中選中“所在部門”列的單元格區域,輸入“教務科”,按下“Ctrl”鍵不松開,再按回車鍵,則“部門代碼”為“1”的記錄的“所在部門”列都填充上了“教務科”(如圖4)。
1、打開登記表,選中數據區域任意一個單元格,執行“數據→篩選→自動篩選”命令,進入“自動篩選”狀態(此時,每個列標題右側出現一個下拉按鈕,參見圖1)。
2、選中J103(此處假定有100名員工)單元格,輸入公式:=SUBTOTAL(9,J3:J102),用于統計基本工資數據。
3、先點擊“性別”列右側的下拉按鈕,在隨后彈出的下拉列表(如圖2)中選擇“男”;再點擊“職稱”列右側的下拉按鈕,在隨后彈出的下拉列表(參見圖2)中選擇“工程師”。
符合條件的數據被篩選出來,工資之和出現的J103單元格中(如圖3)。
打開登記表,選中保存統計結果數值的單元格(如J104),輸入公式:=SUM((C3:C102="男")*(I3:I102="工程師")*(J3:J102)),輸入完成后,按下“Ctrl+Shift+Enter”組合鍵確認公式即可。
注意:這是一個數組公式,輸入完成后,不能直接用“Enter”鍵進行確認,需要用“Ctrl+Shift+Enter”組合鍵進行確認,確認完成后,公式兩端出現一對數組公式標志、一對大括號({},如圖4)。
學 號 姓名 數學 語文 英語 物理
90220002 張成祥 97 94 93 93
90220013 唐來云 80 73 69 87
90213009 張 雷 85 71 67 77
90213022 韓文歧 88 81 73 81
90213003 鄭俊霞 89 62 77 85
90213013 馬云燕 91 90 76 95
90213024 王曉燕 86 79 80 93
90213037 賈莉莉 93 73 78 88
90220023 李廣林 94 84 60 86
90216034 馬麗萍 55 59 98 76
91214065 高云河 50 77 84 56
91214045 王卓然 59 74 77 65
條件為: 在表中篩選出符合“數學、語文、英語、物理四科成績均大于90分”或“數學與物理均小于60分”條件的記錄。
一、用高級篩選完成。
1、下內容輸入到H1至K3單元格:
數學 語文 英語 物理
>90 >90 >90 >90
<60 <60
(注:兩個<60分別在H3和K3單元格)
2、選定原數據范圍(A1:F13),點“數據”->“篩選”->“高級篩選”,“數據區域”已經自動填入內容為“$A$1:$F$13”,選中“將篩選結果復制到其他位置”,條件區域可用鼠標選定或直接輸入“$H$1:$K$3”,“復制到”后面填入內容“$A$21:$F$33”,點“確定”。
二、利用函數完成。
1、在G2單元格輸入公式:
=IF(AND(C2>90,D2>90,E2>90,F2>90),"四科成績均高于90分",IF(AND(C2<60,F2<60),"數學物理均少于60分",""))
將公式向下復制到相應單元格。
2、選定全表按G列遞減排序。
使用高級條件篩選
全部顯示
全部隱藏
在可用作條件 (條件:所指定的限制查詢或篩選的結果集中包含哪些記錄的條件。)區域的區域上方插入至少三個空白行。條件區域必須具有列標簽。請確保在條件值與區域之間至少留了一個空白行。
外觀示例
類型 銷售人員 銷售
類型 銷售人員 銷售
飲料 Suyama 5122
肉類 Davolio 450
農產品 Buchanan 6328
農產品 Davolio 6544
在列標志下面的一行中,鍵入所要匹配的條件。
條件示例
單列上具有多個條件
如果對于某一列具有兩個或多個篩選條件,那么可直接在各行中從上到下依次鍵入各個條件。例如,下面的條件區域顯示"銷售人員"列中包含"Davolio"、"Buchanan"或"Suyama"的行。
銷售人員
Davolio
Buchanan
Suyama
多列上具有單個條件
若要在兩列或多列中查找滿足單個條件的數據,請在條件區域的同一行中輸入所有條件。例如,下面的條件區域將顯示所有在"類型"列中包含"農產品"、在"銷售人員"列中包含"Davolio"且"銷售額"大于 $1,000 的數據行。
類型 銷售人員 銷售
農產品 Davolio >1000
某一列或另一列上具有單個條件
若要找到滿足一列條件或另一列條件的數據,請在條件區域的不同行中輸入條件。例如,下面的條件區域將顯示所有在"類型"列中包含"農產品"、在"銷售人員"列中包含"Davolio"或銷售額大于 $1,000 的行。
類型 銷售人員 銷售
農產品
Davolio
>1000
兩列上具有兩組條件之一
若要找到滿足兩組條件(每一組條件都包含針對多列的條件)之一的數據行,請在各行中鍵入條件。例如,下面的條件區域將顯示所有在"銷售人員"列中包含"Davolio"且銷售額大于 $3,000 的行,同時也顯示"Buchanan"銷售商的銷售額大于 $1,500 的行。
銷售人員 銷售
Davolio >3000
Buchanan >1500
一列有兩組以上條件
若要找到滿足兩組以上條件的行,請用相同的列標包括多列。例如,下面條件區域顯示介于 5,000 和 8,000 之間以及少于 500 的銷售額。
銷售 銷售
>5000 <8000
<500
將公式結果用作條件
可以將公式 (公式:單元格中的一系列值、單元格引用、名稱或運算符的組合,可生成新的值。公式總是以等號 (=) 開始。)的計算結果作為條件使用。用公式創建條件時,不要將列標簽作為條件標簽使用;應該將條件標簽置空,或者使用區域中的非列標簽。例如,下面的條件區域顯示在列 C 中,其值大于單元格區域 C7:C10 平均值的行。
=C7>AVERAGE($C$7:$C$10)
注釋
用作條件的公式必須使用相對引用 (相對單元格引用:在公式中,基于包含公式的單元格與被引用的單元格之間的相對位置的單元格地址。如果復制公式,相對引用將自動調整。相對引用采用 A1 樣式。)來引用列標簽(例如,"銷售"),或者引用第一個記錄的對應字段。公式中的其他所有引用都必須為絕對引用 (絕對單元格引用:公式中單元格的精確地址,與包含公式的單元格的位置無關。絕對引用采用的形式為 $A$1。),并且公式的計算結果必須為 TRUE 或 FALSE。在本公式示例中,"C7"引用區域中第一個記錄(行 7)的字段(列 C)。
可在公式中使用列標簽來代替相對單元格引用或區域名稱。當 Microsoft Excel 在包含條件的單元格中顯示錯誤值 #NAME? 或 #VALUE! 時,可忽略這些錯誤,因為它們不影響區域的篩選。
Microsoft Excel 在計算數據時不區分大小寫。
所有以該文本開始的項都將被篩選。例如,如果您鍵入文本"Dav"作為條件,Microsoft Excel 將查找"Davolio"、"David"和"Davis"。如果只匹配指定的文本,可鍵入下面的公式,其中"text"是需要查找的文本。 =&apos&apos=text&apos&apos
如果要查找某些字符相同但其他字符不一定相同的文本值,則可使用通配符。
通配符
以下通配符可作為篩選以及查找和替換內容時的比較條件 (條件:所指定的限制查詢或篩選的結果集中包含哪些記錄的條件。)。
請使用 若要查找
(問號) 任何單個字符
例如,sm?th 查找"smith"和"smyth"
*(星號) 任何字符數
例如,*east 查找"Northeast"和"Southeast"
~(波形符)后跟 ?、* 或 ~ 問號、星號或波形符
例如,"fy91~?"將會查找"fy91?"
單擊區域中的單元格。
在"數據"菜單上,指向"篩選",再單擊"高級篩選"。
若要通過隱藏不符合條件的數據行來篩選區域,請單擊"在原有區域顯示篩選結果"。
若要通過將符合條件的數據行復制到工作表的其他位置來篩選區域,請單擊"將篩選結果復制到其他位置",然后在"復制到"編輯框中單擊鼠標左鍵,再單擊要在該處粘貼行的區域的左上角。
在"條件區域"編輯框中,輸入條件區域的引用,并包括條件標志。
如果要在選擇條件區域時暫時將"高級篩選"對話框移走,請單擊"壓縮對話框" 。
若要更改篩選數據的方式,可更改條件區域中的值,并再次篩選數據。
提示
您可以將某個區域命名為"Criteria",此時"條件區域"框中就會自動出現對該區域的引用。您也可以將要篩選的數據區域命名為"Database",并將要粘貼行的區域命名為"Extract",這樣,這些區域就會相應地自動出現在"數據區域"和"復制到"框中。
將篩選所得的行復制到其他位置時,可以指定要復制的列。在篩選前,請將所需列的列標復制到粘貼區域的首行。而當篩選時,請在"復制到"框中輸入對被復制列標的引用。這樣,復制的行中將只包含已復制過列標的列。
篩選數據清單可以使我們快速尋找和使用數據清單中的數據子集。篩選功能可以使Excel只顯示出符合我們設定篩選條件的某一值或符合一組條件的行,而隱藏其他行。 在Excel中提供了“自動篩選”和“高級篩選”命令來篩選數據。一般情況下,“自動篩選”就能夠滿足大部分的需要。不過,當我們需要利用復雜的條件來篩選數據清單時,就必須使用“高級篩選”才可以。
對于數據清單,我們可以在條件區域中使用兩類條件。一是:對于單一的列,可以使用多重的比較條件來指定多于兩個的比較條件;例如,顯示欠款大于一萬、十萬或一百萬的客戶。二是:當條件是計算的結果或需要比較時,可以使用計算條件。例如,若只要顯示其銷售額大于單元格 H2 中的季度平均值的行,請鍵入“=銷售額> $H $2”(美元符號表示單元格引用為絕對單元格引用)。
12.4.1 使用“自動篩選”來篩選數據
如果要執行自動篩選操作,在數據清單中必須有列標記。其操作步驟如下:
(1) 在要篩選的數據清單中選定單元格。
(2) 執行“數據”菜單中的“篩選”命令,然后選擇子菜單中的“自動篩選”命令。
(3) 在數據清單中每一個列標記的旁邊插入下拉箭頭,如圖12-9所示。
當你看到某人在浪費寶貴的時間時,是否感覺有些氣惱?但自己不能幫上忙更是痛苦的事。最近這種事就發生在我的一個同事身上,在Excel中有些數據需要分離,本來一個字符串函數就可以很快解決的問題,他卻去一個一個的處理,這里就讓我們來看看其簡單的方法,并希望大家舉一反三,提高工作效率。
首先我們來看看原始數據,這是一組產品代號,其中包括三個部分(如下圖所示)。第一部分是“K+數字”為產品編碼,第二部分是“B+數字”為價格等級,第三部分的三個數字代表顧客。現在為了統計方便,需要將所有代號的三個部分分離出來,置于不同的三列中。
其實使用一個字符串函數就可以簡單地完成這個工作,首先分離前三個字符,在B2單元格中輸入“=Left(A2,3) ”,選中B2單元格,鼠標移至右下角,當光標變成“十”字形狀時,拖動鼠標到最下面的單元格,復制函數到第一列的所有單元格中,這樣結果就顯示出來了(如下圖所示)。
然后分離中間兩個字符,這就需要使用Mid函數,起形式為“=Mid(source_string,start_position,length)”,其意思是比較容易理解的,第一個參數是原始字符串,第二個參數是提取字符的起始位置,最后一個參數是提取字符的的個數。在C2單元格中輸入函數“=Mid(A2,4,2) ”,利用和上面同樣的方法把函數復制到C列的其它單元格中就可以了。
最后提取后面的三個字符,這里就要用到Right函數,其形式為“=Right(source_string,number_of_characters)”,在D2單元格中輸入函數“=Right(A2,3) ”,利用和前面同樣的方法把函數復制到D列的其它單元格中就可以了。
最后我們感覺這其實是比較簡單的操作,但是我們并不能只看到它的表面,應該把這種方法舉一反三,學習更多的簡便方法,在數據處理過程中提高工作效率。