wps中PMC處理單條件與多條件篩選查詢技巧

在PMC的工作環(huán)境中,數(shù)據(jù)分析是一項(xiàng)頻繁進(jìn)行的任務(wù)。為了在不影響原始表格數(shù)據(jù)的前提下,一個常用的方法是在新表格中利用篩選函數(shù)進(jìn)行單條件或多條件的數(shù)據(jù)篩選。針對各異的數(shù)據(jù)集,所需篩選的條件亦存在差異。有的情形僅涉及一至兩個篩選條件,而在一些復(fù)雜度較高的場景中,篩選條件的數(shù)量可能遠(yuǎn)超五個,呈現(xiàn)出多維度、多層次的特點(diǎn)。
今日,古老師將以具體案例剖析,在面對各類篩選條件時,如何選取最為適宜的方法以實(shí)現(xiàn)最優(yōu)數(shù)據(jù)篩選。特別是對于多條件篩選場景,他將重點(diǎn)解讀一種效率極高的篩選思路。
單條件篩選
單條件篩選是FILTER函數(shù)的基礎(chǔ)應(yīng)用之一。借助該函數(shù)及其參數(shù)設(shè)定,可迅速篩選出滿足特定條件的數(shù)據(jù)子集。以下為此函數(shù)的具體應(yīng)用示例:
=FILTER(B5:E16,C5:C16=G2)
解釋如下:
數(shù)組:指明待篩選并最終顯示的范圍,此處為B5:E16,涵蓋“日期”、“訂單”、“產(chǎn)品”及“數(shù)量”四列數(shù)據(jù)。
包括:定義篩選依據(jù)的判斷條件。在本例中,條件區(qū)域?yàn)镃5:C16(即“訂單”列),判斷邏輯為“=G2”。這意味著僅保留訂單列中與G2單元格內(nèi)容(即“PO-1”)相等的行。
執(zhí)行上述函數(shù)后,得到的篩選結(jié)果如附圖所示。
多條件篩選
單條件篩選與多條件篩選在使用FILTER函數(shù)時的主要差異體現(xiàn)在第二個參數(shù),即“包括”部分。進(jìn)行多條件篩選時,各篩選條件間采用特定格式連接,具體如下:
或多條件:
=FILTER(數(shù)組,(條件1區(qū)域=條件1) + (條件2區(qū)域=條件2) * ……)
此處,各篩選條件以“條件區(qū)域=條件值”的形式表示,并通過符號“+”(邏輯加)連接。這意味著只要滿足其中任何一個條件,相關(guān)數(shù)據(jù)行即會被篩選出來。
=FILTER(B5:E16,(C5:C16=G2)+(C5:C16=H2))
此公式旨在篩選出B5:E16范圍內(nèi),滿足以下條件的數(shù)據(jù)行:
C列訂單列中訂單等于G2(PO-1) 或者訂單等于H2(PO-1)
通過在“包括”部分使用邏輯加(“+”)連接兩個單條件篩選表達(dá)式 (C5:C16=G2) 和 (C5:C16=H2),實(shí)現(xiàn)對訂單列中訂單為“PO-1”(由G2單元格提供)或“PO-1”(由H2單元格提供)的數(shù)據(jù)行進(jìn)行篩選。
效果如下圖所示:
并多條件:
=FILTER(數(shù)組,(條件1區(qū)域=條件1) * (條件2區(qū)域=條件2) * ……)
各篩選條件同樣以“條件區(qū)域=條件值”的形式表述,但各條件間采用符號“*”(邏輯乘)連接。在這種情況下,只有當(dāng)所有條件均得到滿足時,對應(yīng)數(shù)據(jù)行才會被篩選出來。
=FILTER(B5:E16,(C5:C16=G2)*(E5:E16<H2))
此公式旨在篩選出B5:E16范圍內(nèi),滿足以下條件的數(shù)據(jù)行:
C列訂單列中訂單等于G2(PO-3) 并且E列數(shù)量列小于H2(50)的數(shù)量
通過在“包括”部分使用邏輯乘(“*”)連接兩個單條件篩選表達(dá)式 (C5:C16=G2) 和 (E5:E16<H2),實(shí)現(xiàn)了對訂單列中訂單為“PO-3”且數(shù)量列中小于50的數(shù)據(jù)行進(jìn)行篩選。最終篩選結(jié)果將只包含訂單列中訂單為“PO-3”且數(shù)量小于50的數(shù)據(jù)記錄。
效果如下圖所示:
說明如下:
數(shù)組:同前,指定待篩選的數(shù)據(jù)范圍。
包括:在多條件篩選中,根據(jù)實(shí)際需求選用上述兩種邏輯組合方式之一,構(gòu)建相應(yīng)的條件表達(dá)式。第一種表達(dá)式適用于“或關(guān)系”篩選(滿足任一條件即可),第二種表達(dá)式適用于“與關(guān)系”篩選(需同時滿足所有條件)。
超多條件篩選
當(dāng)篩選條件數(shù)目超過五個時,繼續(xù)沿用上述FILTER函數(shù)的條件表達(dá)式格式,即:
=FILTER(數(shù)組,(條件1區(qū)域=條件1) * (條件2區(qū)域=條件2) * ……);
無論采用“或”邏輯還是“并”邏輯,都會導(dǎo)致“包括”部分的條件列表變得極為冗長,不利于閱讀與維護(hù)。因此,在處理超多條件篩選問題時,有必要調(diào)整“包括”條件的編寫方式,以實(shí)現(xiàn)更簡潔、高效的篩選表達(dá)。
以下為對5個條件進(jìn)行“或”篩選的過程,目標(biāo)是篩選出訂單列中訂單為“PO-7”、“PO-2”、“PO-3”、“PO-4”或“PO-5”的結(jié)果。為便于理解,我們將分步展示運(yùn)算步驟:
構(gòu)建對比矩陣:
訂單列:取自C2:C16,確保在垂直維度上排列。
條件列:取自C2:G2,確保在水平維度上列出所有待篩選訂單(“PO-7”、“PO-2”、“PO-3”、“PO-4”、“PO-5”)。
對比公式:=C5:C16=C2:G2,此公式將訂單列與條件列進(jìn)行逐元素比較,生成一個二維邏輯數(shù)組,其中元素值為TRUE或FALSE,表示對應(yīng)訂單是否符合指定條件。TRUE代表滿足;
在得到上述邏輯值數(shù)組之后,確實(shí)不能直接用于某些數(shù)學(xué)或統(tǒng)計運(yùn)算。為實(shí)現(xiàn)邏輯值到數(shù)值的轉(zhuǎn)換,可以使用WPS中的N函數(shù):
=N(C5:C16=C2:G2)
此函數(shù)將把先前得到的邏輯值數(shù)組(TRUE/FALSE)轉(zhuǎn)化為對應(yīng)的數(shù)字值(1/0)。具體來說,對于邏輯數(shù)組中的每個元素,若為TRUE,則轉(zhuǎn)換為1;若為FALSE,則轉(zhuǎn)換為0。這樣,我們就得到了一個同樣大小的數(shù)值數(shù)組,效果如下圖所示:
在使用篩選函數(shù)時,確實(shí)無法直接將一個二維邏輯數(shù)組作為“包括”參數(shù)。為解決這一問題,可以將二維數(shù)組轉(zhuǎn)換為一維數(shù)組,以便于后續(xù)與FILTER函數(shù)配合使用。這里推薦使用WPS中的BYROW函數(shù)結(jié)合LAMBDA匿名函數(shù)實(shí)現(xiàn)數(shù)組求和:
=BYROW(N(C5:C16=C2:G2),LAMBDA(X,SUM(X)))
或者直接簡寫:
=BYROW(N(C5:C16=C2:G2),SUM)
效果如下:
至此,我們已成功將二維邏輯數(shù)組轉(zhuǎn)換為一維數(shù)組,便于后續(xù)與FILTER函數(shù)配合,進(jìn)行訂單篩選。接下來,只需將該一維數(shù)組作為FILTER函數(shù)的“包括”參數(shù)。
錄入以下函數(shù):
=FILTER(B5:E16,BYROW(N(C5:C16=C2:G2),SUM))
即可得到一個基于“或”邏輯的五條件篩選結(jié)果。該函數(shù)將篩選出B5:E16范圍內(nèi),訂單列(C列)中訂單至少符合“PO-7”、“PO-2”、“PO-3”、“PO-4”或“PO-5”中任意一個條件的行。
思路總結(jié):
N(C5:C16=C2:G2):將訂單列與條件列進(jìn)行逐元素比較,生成一個二維邏輯數(shù)組,并通過N函數(shù)將其轉(zhuǎn)化為數(shù)值形式(1代表TRUE,0代表FALSE)。
BYROW(N(C5:C16=C2:G2), LAMBDA(X, SUM(X))):對上述二維數(shù)組逐行求和,生成一個一維數(shù)組。數(shù)組中的每個元素值表示對應(yīng)訂單行是否至少符合一個篩選條件(非零值表示至少符合一個條件,0表示不符合任何條件)。
FILTER(B5:E16, BYROW(N(C5:C16=C2:G2), LAMBDA(X, SUM(X)))):利用FILTER函數(shù)篩選B5:E16范圍內(nèi),訂單列中訂單符合一維數(shù)組中非零元素所對應(yīng)條件的行,即至少符合一個篩選條件的訂單數(shù)據(jù)。
效果如下圖所示:
以上就是PMC中的單條件與多條件篩選技巧與案例剖析,希望大家喜歡,請繼續(xù)關(guān)注腳本之家。
相關(guān)推薦:
牛! wps中index+Match函數(shù)組合查找數(shù)據(jù)的技巧
WPS函數(shù)VSTACK和HSTACK怎么用 wps實(shí)現(xiàn)表格的一鍵變形轉(zhuǎn)換的技巧
相關(guān)文章
numberstring函數(shù)怎么用? WPS隱藏函數(shù)numberstring使用攻略
WPS是優(yōu)秀的國產(chǎn)辦公軟件,其中的表格類似Excel用于數(shù)據(jù)處理,包含了大量函數(shù),今天來介紹下WPS表格中獨(dú)有的Numberstring函數(shù)的用法2024-02-28WPS新函數(shù)TEXTSPLIT到底有多強(qiáng)大 苦等10年Textsplit函數(shù)終于來了
有不少小伙伴覺得Excel vlookup函數(shù)是最強(qiáng)大的函數(shù),但是其實(shí)在新版的Excel和WPS中,都更新了不少新函數(shù),功能比vlookup強(qiáng)大不少,用法更簡單,性能也更強(qiáng),比如今天要分享2024-01-30WPS新增的11個數(shù)組函數(shù)怎么用 wps數(shù)組函數(shù)的使用方法
wps最近更新后,新增了一些數(shù)組函數(shù),該怎么使用這些函數(shù)提高工作效率呢?這篇文章帶大家簡單的了解下這11個新函數(shù)的使用方法2024-01-30wps二進(jìn)制數(shù)怎么轉(zhuǎn)換成十六進(jìn)制? wps函數(shù)實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換的技巧
wps二進(jìn)制數(shù)怎么轉(zhuǎn)換成十六進(jìn)制?wps表格中的數(shù)據(jù)想要進(jìn)行二進(jìn)制和十六進(jìn)制之間進(jìn)行轉(zhuǎn)換,該怎么實(shí)現(xiàn)呢?下面我們就來看看wps函數(shù)實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換的技巧2021-10-13WPS表格實(shí)時動態(tài)排名怎么用函數(shù)實(shí)現(xiàn)?
WPS表格實(shí)時動態(tài)排名怎么用函數(shù)實(shí)現(xiàn)?WPS中想要制作讓排名自動實(shí)時排名,該怎么實(shí)現(xiàn)呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下2021-02-18wps中excel表格如何使用函數(shù)獲得前幾位字符?
wps中excel表格如何使用函數(shù)獲得前幾位字符?wps是我們常用的辦公軟件,我們在表格中想要獲取前幾位字符該怎么操作呢,下面小編就帶領(lǐng)大家一起學(xué)習(xí)一下2021-01-08wps表格怎么用GCD函數(shù)? wps函數(shù)GCD的用法
wps表格怎么用GCD函數(shù)? wps匯總想要使用GCD函數(shù),該怎么使用呢?下面我們就來看看wps函數(shù)GCD的用法,需要的朋友可以參考下2020-12-07- WPS是非常好用的辦公軟件,怎么利用函數(shù)REPT制作身份證小格子呢,下面給大家?guī)碓敿?xì)的操作步驟,一起看看吧2020-11-24
- WPS是常用的辦公軟件,那么在表格中如何利用EVA函數(shù)進(jìn)行計算呢,下面給大家?guī)碓敿?xì)操作步驟,一起看看吧2020-11-16
WPS怎么利用函數(shù)計算兩組數(shù)據(jù)的平方差之和?
WPS怎么利用函數(shù)計算兩組數(shù)據(jù)的平方差之和?wps表格中的兩組數(shù)據(jù)想要求平方差之和,該怎么求呢?小魔王們就來看看詳細(xì)的教程,需要的朋友可以參考下2019-04-23