我想分开球员谁是球队的持有者。为了找到这11名运动员,他们从一名运动员开始(GK),从字面上说,在连续10名运动员之后,总会有另一名运动员从(GK)开始。因为我要做的多支球队,我想做这个过滤器自动,因为每个球队有一个不同的球员数目,但所有的位置在10名球员之间(GK)。这些是持有者..。
用我测试的这个公式,它失败了,因为它是从第一个(GK)过滤出来的,最后一个(GK)。
我如何调整过滤,只有当有真正的10个玩家后,一个(GK)和这第十个玩家,将有另一个(GK)?
=TRANSPOSE(SPLIT(REGEXEXTRACT(TEXTJOIN("♦️", 1,TRANSPOSE(SPLIT(REGEXEXTRACT(TEXTJOIN("♦️", 1,TRANSPOSE(SPLIT(REGEXEXTRACT(TEXTJOIN("♦️", 1,A2:A), "GK(.*)"), "♦️"))), "(.*)GK"), "♦️"))), "GK(.*)"), "♦️"))

这种格式的问题是,只有在我真正想要得到的11岁之前有一个名称(GK)时,它才有效。如果没有,则会生成错误。我也不能添加第一个(GK)阵容的11。

我想要的正确表格在下面的图像(Column LINEUP (11 Players))和电子表格中:
https://docs.google.com/spreadsheets/d/1jnirW5Wkfcj4eSzM9In0_ChxRFl_KtBjgfnp1Qdi2ZY/edit?usp=sharing

发布于 2019-12-15 07:25:30
第一个例子
=offset(indirect("A"&arrayformula(vlookup(11,{filter(row(A2:A26),find("(GK)",A2:A26))-{0;array_constrain(filter(row(A2:A26),find("(GK)",A2:A26)),count(filter(row(A2:A26),find("(GK)",A2:A26)))-1,1)},filter(row(A2:A26),find("(GK)",A2:A26))},2,false))),-11,0,11,1)第二个例子
=offset(indirect("G"&arrayformula(vlookup(11,{filter(row(G2:G26),find("(GK)",G2:G26))-{0;array_constrain(filter(row(G2:G26),find("(GK)",G2:G26)),count(filter(row(G2:G26),find("(GK)",G2:G26)))-1,1)},filter(row(G2:G26),find("(GK)",G2:G26))},2,false))),-11,0,11,1)发布于 2019-12-15 07:07:50
试试这个:
=indirect(query(arrayformula( if( if(REGEXMATCH(G2:G,".(GK)"),row(G2:G),0)-if(REGEXMATCH(G13:G,".(GK)"),row(G13:G),0)=-11, "G" & row(G2:G) & ":H" & row(G12:G), )), "Select max(Col1) label max(Col1) ''"))

为了更灵活,并可以复制:
=indirect(query(arrayformula( if( if(REGEXMATCH(G3:G,".(GK)"),row(G3:G),0) -
if(REGEXMATCH(G14:G,".(GK)"),row(G14:G),0)=-11,
REGEXEXTRACT(address(row(G1),COLUMN(G1)), "[A-Z]+") & row(G3:G) & ":"
& REGEXEXTRACT(address(row(H1),COLUMN(H1)), "[A-Z]+") & row(G13:G), )),
"Select max(Col1) label max(Col1) ''"))

https://stackoverflow.com/questions/59340694
复制相似问题