我想过滤数据集,考虑几个可以根据可能值列表动态更改的过滤条件。我有过滤条件team其具有以下值:Team A
, Team B
, ALL
,其中 ALL 是代表所有团队的通配符。对于第二个标准release,如果我想在过滤器中包含多个版本,则值之间用逗号分隔,例如:Release:A
, B
, A,B
,其中最后一个意味着同时包含版本 A 和 B。除了版本值为A,B
.
我想我应该使用:TRANSPOSE(TEXTSPLIT(B4,", "))
获取列中的值列表,然后以某种方式获取(也许使用MMULT
)能够为每行添加过滤条件,但我无法做到这一点(在 Excel 中,因为使用 Google 电子表格我能够使用查询函数来做到这一点)
以下单一释放值公式适用于这两个标准:
FILTER(D3:H8, (IF(B3="ALL", D3:D8<>"*",D3:D8=B3)) * (E3:E8=B4))
但它不适用于释放值大于 1 的一般情况。
我正在寻找不需要 VBA 脚本的解决方案
Here is the sample file:
以下是示例 Excel 文件的链接:https://1drv.ms/x/s!AlZxw2GG3C7IhyhTnBFbln1G8fOj?e=C8OUxn https://1drv.ms/x/s!AlZxw2GG3C7IhyhTnBFbln1G8fOj?e=C8OUxn
这似乎有效:
=FILTER(D3:H9, (IF(B3="ALL", D3:D9<>"*",D3:D9=B3)) * (ISNUMBER(XMATCH(E3:E9,FILTERXML("<c><e>"&SUBSTITUTE(B4,", ","</e><e>")&"</e></c>","//e"),0))))
(if you decide to have multiple releases delimited by a comma without the space then the SUBSTITUTE()
function will require to be updated accordingly)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)