簡體   English   中英

Excel - 如何根據另一個部分值列表過濾列表

[英]Excel - how to filter a list based on another list of partial values

如何根據帶有部分字符串的查找列表(在 F2:F3 范圍內)提取/過濾庫存列表(在 B3:C7 范圍內)?

在此處輸入圖像描述

我知道如果過濾字符串是完整的(不是部分的),那么公式將是=FILTER(B3:C7, COUNTIF(F2:F3, B3:B7))

對於單個部分字符串(例如在單元格 F2 中),公式將為=FILTER(B3:C7,ISNUMBER(SEARCH(F2,B3:B7)))

但是如何將兩者結合起來,即有部分和多個過濾字符串?

一種選擇是:

在此處輸入圖像描述

E7中的公式:

=FILTER(B3:C7,BYROW(B3:B7&"-",LAMBDA(a,SUM(--(IFERROR(FIND(F2:F3&"-",a),0)=1)))))

雖然JvdV Sir 已經為您的查詢提供了適當的解決方案,但是這里有一些其他選擇,您也可以嘗試一下

公式_解決方案

• 單元格E7中使用的公式

=FILTER(B3:C7,MMULT(--ISNUMBER(SEARCH(TRANSPOSE(F2:F3),B3:B7)),ROW(F2:F3)^0)=1)

• 單元格H7中使用的公式

=LET(list,B3:C7,
c,B3:B7,
i,F2:F3,
x,--BYROW(c,
LAMBDA(a,(SUM(COUNTIF(a,"*"&i&"*"))>0))),
FILTER(list,x=1))

• 單元格K7中使用的公式

=LET(list,B3:C7,
p,B3:B7,
q,F2:F3,
x,MAP(p,LAMBDA(a,IF(SUM(COUNTIF(a,"*"&q&"*"))>0,a,""))),
FILTER(list,x<>""))

你也可以參考這個查詢已經在StackOverflow早些時候解決了這里是你也可以參考的鏈接,

如何從一個范圍內搜索多個名稱並在excel中返回多條記錄?


編輯

在此處輸入圖像描述

• 單元格E7中使用的公式

=FILTER(B3:C7,MMULT(--ISNUMBER(SEARCH("*"&TRANSPOSE(F2:F3)&"*",B3:B7)),ROW(F2:F3)^0))

但是,我分享的其他兩個替代方案沒有任何改變,請注意!


當查找值是部分的,例如法國Fr德國Ge時,再進行一次編輯以顯示公式有效,

FORMULA_解決方案


暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM