全文約1700 字; 閱讀時(shí)間:約5分鐘; 聽(tīng)完時(shí)間:約10分鐘; 在處理數(shù)據(jù)時(shí),多條件查找引用是一項(xiàng)常見(jiàn)且關(guān)鍵的需求。當(dāng)查找引用的目標(biāo)結(jié)果為數(shù)值類(lèi)型時(shí),使用SUMIFS函數(shù)來(lái)進(jìn)行多條件匯總求和無(wú)疑是最優(yōu)解。無(wú)論查找引用關(guān)系是一對(duì)一還是多對(duì)一,SUMIFS函數(shù)都能遵循設(shè)定的規(guī)則精準(zhǔn)地完成數(shù)值匯總。 然而,對(duì)于非數(shù)值型數(shù)據(jù)的多條件查找引用——即那些不能直接進(jìn)行數(shù)值求和的情況,傳統(tǒng)的XLOOKUP函數(shù)可能表現(xiàn)得不夠高效或靈活。在這種情況下,考慮采用篩選函數(shù)或是WPS提供的其他高級(jí)功能作為替代方案將更為適宜。例如,可以使用FILTER函數(shù)結(jié)合LAMBDA進(jìn)行復(fù)雜條件下的數(shù)據(jù)篩選,如BYROW配合數(shù)組公式,以實(shí)現(xiàn)更復(fù)雜的邏輯處理。這些方法能提供更強(qiáng)大的數(shù)據(jù)管理能力,尤其在面對(duì)非數(shù)字型數(shù)據(jù)時(shí),能夠更加游刃有余地完成任務(wù)。 兩個(gè)條件為了實(shí)現(xiàn)基于兩個(gè)條件的查找與引用,如下圖所示,在單元格H3中需輸入一個(gè)公式。該公式的目的在于根據(jù)“部門(mén)”(條件1)和“地區(qū)”(條件2),在《銷(xiāo)售部區(qū)域?qū)?yīng)責(zé)任人》明細(xì)表的B列至C列中查找并返回相應(yīng)的負(fù)責(zé)人?,F(xiàn)在,我們將通過(guò)兩種不同的方法來(lái)滿(mǎn)足這一需求: 方法一:使用XLOOKUP函數(shù) = XLOOKUP(F3 & G3, B3:B7 & C3:C7, D3:D7) 公式解釋?zhuān)?/span> 此公式將F3單元格中的“部門(mén)”值和G3單元格中的“地區(qū)”值組合成一個(gè)復(fù)合鍵,然后在由B3:B7和C3:C7組成的復(fù)合數(shù)組中搜索這個(gè)鍵。如果找到匹配項(xiàng),則返回D3:D7列中相對(duì)應(yīng)的責(zé)任人名稱(chēng)。 方法二:使用FILTER函數(shù) = FILTER(D3:D7, (B3:B7 = F3) * (C3:C7 = G3)) 公式解釋?zhuān)?/span> FILTER函數(shù)通過(guò)應(yīng)用兩個(gè)條件(B3:B7等于F3以及C3:C7等于G3)來(lái)篩選D3:D7列中的條目。這里,“*”符號(hào)表示邏輯AND操作,確保只有同時(shí)滿(mǎn)足兩個(gè)條件的條目才會(huì)被保留,最終返回符合條件的責(zé)任人名稱(chēng)。 綜上所述,盡管兩種公式均能達(dá)成目標(biāo),F(xiàn)ILTER函數(shù)相較于XLOOKUP函數(shù)提供了更為直觀的邏輯表達(dá)方式,使得公式的可讀性和維護(hù)性得到了提升 三個(gè)條件針對(duì)涉及三個(gè)條件的查找引用,其邏輯構(gòu)建本質(zhì)上與處理兩個(gè)條件時(shí)相同,只需在原有公式基礎(chǔ)上加入第三個(gè)條件即可。以下示例使用FILTER函數(shù)實(shí)現(xiàn)這一需求: J4=FILTER(E3:E7,(B3:B7=G3)*(C3:C7=H3)*(D3:D7=I3)) 公式解釋?zhuān)?/span> 此公式旨在根據(jù)“部門(mén)”、“地區(qū)”以及新增的“產(chǎn)品”這三個(gè)條件,從E3:E7列中篩選出對(duì)應(yīng)的負(fù)責(zé)人。其中,(B3:B7 = G3)、(C3:C7 = H3) 和 (D3:D7 = I3) 分別代表三個(gè)獨(dú)立的條件,通過(guò)邏輯乘法“*”連接,確保所有條件同時(shí)滿(mǎn)足時(shí)才返回E列中的相應(yīng)責(zé)任人信息。這樣,我們就能準(zhǔn)確地找出同時(shí)符合部門(mén)、地區(qū)及產(chǎn)品要求的負(fù)責(zé)人。 超過(guò)三個(gè)條件對(duì)于涉及四個(gè)或更多條件的查找引用場(chǎng)景,原理上僅需在公式中繼續(xù)添加邏輯乘法“*”來(lái)連接每個(gè)條件。例如,假設(shè)我們需要找出滿(mǎn)足“部門(mén)、地區(qū)、產(chǎn)品、類(lèi)別”這四個(gè)條件,分別等于《銷(xiāo)售部區(qū)域?qū)?yīng)責(zé)任人》明細(xì)表中“2部、華北、C、中”的負(fù)責(zé)人,原始公式可以更新為: L4=FILTER(F3:F6,(B3:B6=H3)*(C3:C6=I3)*(D3:D6=J3)*(E3:E6=K3)) 函數(shù)解釋?zhuān)?/span> 此公式能夠準(zhǔn)確返回滿(mǎn)足所有指定條件的負(fù)責(zé)人。然而,隨著條件數(shù)量的增長(zhǎng),公式的復(fù)雜度和長(zhǎng)度也會(huì)顯著增加,這可能導(dǎo)致閱讀和維護(hù)上的不便。 這時(shí),引入BYROW函數(shù)配合LAMBDA表達(dá)式,可以提供一種更簡(jiǎn)潔高效的解決方案。 錄入以下公式: L3=FILTER(F3:F6,BYROW(B3:E6=H3:K3,AND)) 公式解釋?zhuān)?/span> B3:E6=H3:K3,對(duì)比源數(shù)據(jù)范圍與給定條件,生成一個(gè)邏輯數(shù)組,表示每一項(xiàng)是否滿(mǎn)足對(duì)應(yīng)的條件。 BYROW(B3:E6=H3:K3,AND):AND為省略寫(xiě)法;標(biāo)準(zhǔn)的寫(xiě)法為:對(duì)上述邏輯數(shù)組的每一行應(yīng)用LAMBDA函數(shù),使用AND函數(shù)檢查每一行的所有條件是否全部為真(TRUE)。這意味著,只有當(dāng)一行中的所有條件都滿(mǎn)足時(shí),整個(gè)行才返回TRUE。 FILTER(F3:F6,..),基于BYROW函數(shù)返回的TRUE/FALSE結(jié)果,F(xiàn)ILTER函數(shù)篩選出F3:F6列中符合條件的部門(mén)負(fù)責(zé)人。 這種寫(xiě)法的優(yōu)點(diǎn)在于,即便條件數(shù)目增加,也僅需調(diào)整B3:E6=H3:K3部分的范圍,保持了公式的靈活性和可擴(kuò)展性,同時(shí)也簡(jiǎn)化了復(fù)雜條件的處理過(guò)程。 最后總結(jié)總之,無(wú)論是面對(duì)兩個(gè)、三個(gè)乃至更多的條件,靈活運(yùn)用WPS表格中的函數(shù),如XLOOKUP、FILTER、BYROW結(jié)合LAMBDA,都能夠高效解決多條件查找引用的問(wèn)題。XLOOKUP適用于簡(jiǎn)單或復(fù)合鍵的查找,而FILTER函數(shù)則在處理邏輯復(fù)雜的條件時(shí)展現(xiàn)出色的性能,尤其是通過(guò)BYROW與LAMBDA的協(xié)同作用,能夠以更加直觀和可維護(hù)的方式處理多條件篩選,避免了傳統(tǒng)方法中因條件增加而導(dǎo)致的公式膨脹問(wèn)題。 這種方法不僅提升了公式的執(zhí)行效率,還優(yōu)化了代碼的可讀性和維護(hù)性,是現(xiàn)代數(shù)據(jù)分析師和業(yè)務(wù)用戶(hù)處理復(fù)雜數(shù)據(jù)集的理想選擇。掌握這些高級(jí)技巧,意味著在數(shù)據(jù)分析領(lǐng)域擁有了更加強(qiáng)大的工具箱,能夠輕松應(yīng)對(duì)各種數(shù)據(jù)挑戰(zhàn)。 |
|
來(lái)自: 堅(jiān)定前行 > 《古哥計(jì)劃》