【发布时间】:2022-09-27 20:57:26
【问题描述】:
我发布了一个类似的问题:Filter an excel range based on multiple dynamic filter conditions。现在我正在考虑一种更一般的情况,即对于过滤器列之一(Releases,列E),它可能有几个用逗号分隔的值。预期结果应按具有发布值的行过滤:A 或 B,但发布列可以带有多个值,并且对于团队过滤器按特定的一个或全部(ALL 通配符)。
这是示例(当我们的发布列最多有两个值时):
我能够根据过滤条件获得所需的结果,但它需要辅助列(列:J,K,L),通过N3 中的公式:
=FILTER(D3:H15, (IF(B3=\"ALL\", D3:D15<>\"*\",D3:D15=B3)) * (L3:L15))
和列L 神奇地识别具有所需释放值的行:
=LET(result, ISNUMBER(MATCH(J3:K15,TEXTSPLIT(B4,\", \"),0)), IF((FILTER(result, {1,0})
+ FILTER(result, {0,1}))>0, TRUE, FALSE))
我正在寻找一个解决方案不需要辅助列也为Release 列可以有两个以上值的一般情况,例如:A, C, G, F... 如果可能的话。
这是我的示例文件的链接:
https://1drv.ms/x/s!AlZxw2GG3C7Ihyyx8_AM5ylbZWaI?e=F3WUep
笔记:
- 我不能在单个调用中使用
TEXTSPLIT来获取列J,K,因为当文本输入参数是一个数组(范围)时,没有办法用空字符串分隔,所以TEXTSPLIT(E3:E15,\",\")不会返回两列(它适用于单个单元格,但不适用于范围),所以我必须使用TEXTAFTER(E3:E15,\",\")来获取列K中逗号后的信息
-
为什么没有
C, A在您的结果列表中,因为它有A? -
真的@Harun24hr 它应该是其中的一部分。我会审查它。谢谢
-
我已经纠正了@Harun24hr
标签: excel excel-formula