王志軍
某學(xué)生進(jìn)行物理實驗時遇到一個實際問題,每一個編號的器材都對應(yīng)3行記錄,分別是這個設(shè)備的A相、B相、C相的電流值(圖1),現(xiàn)在希望將每個編號和對應(yīng)的最大電流值篩選出來,并填充到一個新建的工作表中。數(shù)據(jù)較多,需要尋求高效的實現(xiàn)方法。
切換到Sheet1工作表,選擇需要操作的源數(shù)據(jù)區(qū)域,即A1:A7990單元格區(qū)域,在列表字母A名稱框輸入“名稱”,將選區(qū)定義為“名稱”(也可定義為其他的名稱)。
點擊狀態(tài)欄的“+”按鈕,新建工作表Sheet2,切換到“數(shù)據(jù)”選項卡,在“排序和篩選”功能組選擇“高級”按鈕,打開“高級篩選”對話框,設(shè)置篩選方式為“將篩選結(jié)果復(fù)制到其他位置”,在列表區(qū)域文本框輸入“名稱”,條件區(qū)域不需要設(shè)置。點擊“復(fù)制到”右側(cè)的瀏覽按鈕,在Sheet2工作表選擇A1單元格,勾選“選擇不重復(fù)的記錄”復(fù)選框。檢查無誤之后點擊“確定”按鈕(圖2),很快會將不重復(fù)的篩選記錄復(fù)制過來(圖3第一列)。
選擇B2單元格,在編輯欄輸入公式“=MAX(IF(Sheet1!$A$2:$A$7990=A2,Sheet1!$D$2:$D$7990))”,這里使用IF、MAX兩個函數(shù)進(jìn)行嵌套。首先利用IF函數(shù)判斷Sheet1!$A$2:$A$7990是否存在與當(dāng)前單元格編號一致的編號,如果一致則返回Sheet1!$D$2:$D$7990區(qū)域內(nèi)的數(shù)據(jù),也就是滿足A2編號的電流值。最后使用MAX函數(shù)在符合當(dāng)前編號條件的數(shù)據(jù)中找出最大值,按下“Ctrl+Shift+Enter”組合鍵轉(zhuǎn)換為數(shù)組公式,公式執(zhí)行之后向下拖拽填充柄,很快得到如圖3第二列所示的效果,最后對標(biāo)題欄進(jìn)行適當(dāng)設(shè)置即可。讀者可以分別執(zhí)行“{=IF(Sheet1!$A$2:$A$7990=A2,Sheet1!$D$2:$D$7990)}”查看公式運行的效果進(jìn)行研究。
IF函數(shù)的語法為IF(logical_test,value_if_true,value_if_false),Logical_test表示計算結(jié)果為TRUE或FALSE的任意值或表達(dá)式,本文示例為Sheet1!$A$2:$A$7990=A2;Value_if_true logical_test為TRUE時返回的值,本文示例為Sheet1!$D$2:$D$7990,表示返回同一編號的數(shù)據(jù);Value_if_false logical_test為FALSE時返回的值,省略時則返回邏輯值。
小提示
本文雖以電流值為例講述,但對于其他方面的數(shù)據(jù)統(tǒng)計,只要符合上述形式,均可套用此方法。