用通配符xMatchxmatch

问题描述 投票:0回答:1

我想使用XMatch过滤数组(一条线),以根据通配符标准返回列。
Array

我能够创建无XMATCH通配符的公式。

用通配符XMATCH(与后来更复杂的示例相比,参数的交换顺序),这有效:

=XMATCH({"*FYE*FYE*","*Budget'*"},INDEX(B1:O1,1,),2,-1)

我想调整公式以与过滤器兼容以返回符合条件的列:

没有通配符,作品:

  • =LET(myArr,B1:O1,output,FILTER(myArr,(ISNUMBER(XMATCH(INDEX(myArr,1,),{"*FYE*FYE*","*Budget'*"},2,-1)))),output)
与通配符,无效:
  • =LET(myArr,B1:O1,output,FILTER(myArr,(ISNUMBER(XMATCH(INDEX(myArr,1,),{"*FYE*FYE*","*Budget'*"},2,-1)))),output)
there mimpler方法在哪里....
porder没关系:
filter excel-formula wildcard index-match
1个回答
0
投票
=XMATCH("(?=.*FYE.*FYE)(?=.*Budget').*",C3:J3,3,-1)


I.E。预算可以出现在“ fye等”中的任何一个之前 /两个之间 order not matter订单很重要 =XMATCH(".*FYE.*FYE.*Budget'.*",C3:J3,3,-1)


I.E。 FYES必须先于预算'

trictcriptlictly通配符: order matters=XMATCH(1,ISNUMBER(BYCOL(C3:J3,LAMBDA(a_,XMATCH("*FYE*FYE*",a_,2))))*ISNUMBER(BYCOL(C3:J3,LAMBDA(a_,XMATCH("*Budget'*",a_,2)))),,-1)


注:

xmatch({},lookup,..)返回ploceup中{}中{}中的项目的匹配。产生相同昏暗的数组。如{}以这种方式。 与通配符Arg。无法通过交换{}和查找(以常规'匹配'的方式进行查找),无法与查找相同的数组,因为必须在Lookup_value(不是查找)中存在通配符。 wildcard only要返回最后一场比赛all

项目{}需要更复杂的东西(比必要的)。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.