【发布时间】:2020-10-08 09:33:10
【问题描述】:
我正在尝试在 Google 表格中设置一个公式来执行此操作...
=IF(IFERROR(INDEX(Matches!$L$2:$L,MATCH($A2&(B$1-14),Matches!$H$2:$H&Matches!$M$2:$M,0)))=1,
IFERROR(OFFSET($A$1,INDEX(Matches!$I$2:$I,MATCH($A2&(B$1-14),Matches!$H$2:$H&Matches!$M$2:$M,0)),COLUMN()-1)-(1/(2*($A2)^2))),
$A2)
也就是说,如果(比赛赢了,取你被击败的对手的当前时期的排名并计算它,否则显示上一时期的排名)。
但我想将其设置为 ARRAYFORMULA,以便它自动展开。我所拥有的是这个(它不起作用):
=ARRAYFORMULA(IF(IFERROR(VLOOKUP($A$2:$A&($B$1:$1-14),{Matches!$H$2:$H&Matches!$M$2:$M,Matches!$L$2:$L},2,0))=1,
OFFSET($A$1,VLOOKUP($A$2:$A&($B$1:$1-14),{Matches!$H$2:$H&Matches!$M$2:$M,Matches!$I$2:$I},2,0),SEQUENCE(1,COUNTA($B$1:$1),2,1))-(1/(2*($A$2:$A)^2)),
$A$2:$A))
它应该是这样的:
https://i.stack.imgur.com/Ui3nE.png
实际结果是这样的:
https://i.stack.imgur.com/tQOl7.png
所有这些错误都是相同的消息,即 VLOOKUP 找不到 143997,这只是第一个值对。我试过使用 VLOOKUP/MATCH,但它会产生循环引用错误。
这可能吗?我愿意相信它不是,但我想我应该问。感谢您提供的任何帮助。
【问题讨论】:
-
分享您的工作表副本
-
请考虑分享test sheet
-
抱歉耽搁了。我开始做这件事。 docs.google.com/spreadsheets/d/e/… RQ、NewRQ 和 Rank 选项卡是 RQArr、NewRQArr 和 RankArr 的工作、非 ARRAYFORMULA 版本。如果您能想出使这三个 ARRAYFORMULA 版本中的任何一个工作的方法,我将不胜感激。我碰壁了。
-
抱歉,该链接不允许您查看公式。使用这个:docs.google.com/spreadsheets/d/…
标签: arrays google-sheets vlookup offset