If statement 如果A列或B列等于___;,则获取C列或D列的最后5个结果?

If statement 如果A列或B列等于___;,则获取C列或D列的最后5个结果?,if-statement,google-sheets,average,array-formulas,google-sheets-query,If Statement,Google Sheets,Average,Array Formulas,Google Sheets Query,我知道标题是一个可怕的描述,对不起 基本上我有一张篮球比赛成绩表。所以在A栏我有主队。在B栏我有客队。在C栏,主队的得分。在D栏中列出了客队的得分。一分钟大约有500行数据 我想做的是: 假设我想得到纽约尼克斯队在过去5场比赛中的平均得分。最新的游戏在表格底部,最早/最老的游戏在表格顶部 因此,在A列和B列中“纽约尼克斯队”的底部/最后5个实例中,我想要C(如果纽约尼克斯队在A列中)和D(如果在B列中)结果的平均值 例如,如果我只想看最后5场主场比赛,我知道该怎么做(因此,在那个例子中,我基本上

我知道标题是一个可怕的描述,对不起

基本上我有一张篮球比赛成绩表。所以在A栏我有主队。在B栏我有客队。在C栏,主队的得分。在D栏中列出了客队的得分。一分钟大约有500行数据

我想做的是:

假设我想得到纽约尼克斯队在过去5场比赛中的平均得分。最新的游戏在表格底部,最早/最老的游戏在表格顶部

因此,在A列和B列中“纽约尼克斯队”的底部/最后5个实例中,我想要C(如果纽约尼克斯队在A列中)和D(如果在B列中)结果的平均值

例如,如果我只想看最后5场主场比赛,我知道该怎么做(因此,在那个例子中,我基本上查询了A列最近5次出现的纽约尼克斯队C列的最后5个结果)。我不知道当我在寻找纽约尼克斯队出现在A列或B列,然后从C列或D列得到平均值时该怎么做


有人能帮忙吗?

这将把你的4列转换成2列:

=ARRAYFORMULA(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(A2:B<>"", "♠"&A2:B&"♦"&C2:D, )),,999^99)),,999^99), "♠")), "♦"))
【代码】=ARRAYFORMULA(拆分)(转置)(拆分)(查询)(转置)(查询)(转置( 如果(A2:B“)”♠"&A2:B&“♦&C2:D,),,999^99),999^99♠")), "♦"))

以及最近5场比赛的平均得分:

=ARRAYFORMULA(AVERAGE(QUERY(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(A2:B<>"", "♠"&A2:B&"♦"&C2:D, )),,999^99)),,999^99), "♠")), "♦"), 
 "select Col2 
  where lower(Col1) contains 'new york knicks' 
  offset "&COUNTIF(A2:B, "new york knicks")-5)))
【代码】=ARRAYFORMULA(平均)查询(拆分)(转置)(拆分)(转置)(查询)(转置( 如果(A2:B“)”♠“&A2:B&”♦&C2:D,),,999^99),999^99♠")), "♦"), “选择Col2 其中lower(Col1)包含“纽约尼克斯队” 偏移量“&COUNTIF(A2:B,“纽约尼克斯”)-5)

这将把您的4列转换为2列:

=ARRAYFORMULA(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(A2:B<>"", "♠"&A2:B&"♦"&C2:D, )),,999^99)),,999^99), "♠")), "♦"))
【代码】=ARRAYFORMULA(拆分)(转置)(拆分)(查询)(转置)(查询)(转置( 如果(A2:B“)”♠“&A2:B&”♦&C2:D,),,999^99),999^99♠")), "♦"))

以及最近5场比赛的平均得分:

=ARRAYFORMULA(AVERAGE(QUERY(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(A2:B<>"", "♠"&A2:B&"♦"&C2:D, )),,999^99)),,999^99), "♠")), "♦"), 
 "select Col2 
  where lower(Col1) contains 'new york knicks' 
  offset "&COUNTIF(A2:B, "new york knicks")-5)))
【代码】=ARRAYFORMULA(平均)查询(拆分)(转置)(拆分)(转置)(查询)(转置( 如果(A2:B“)”♠“&A2:B&”♦&C2:D,),,999^99),999^99♠")), "♦"), “选择Col2 其中lower(Col1)包含“纽约尼克斯队” 偏移量“&COUNTIF(A2:B,“纽约尼克斯”)-5)

您是否尝试过averageifs()?这将是我的第一次尝试。我认为averageifs()不允许我获取最后数量的结果,它只是根据我输入的范围计算列。我不想每次手动调整范围以获取最后数量的结果。您尝试过averageifs()吗那将是我的第一次尝试。我不认为averageifs()请允许我取最后的结果数,它只是根据我输入的范围计算列。我不想每次手动调整范围以获得最后的结果数。谢谢你,然后你会如何使用它来对?即当纽约尼克斯队是A列时我想要D列,当NYK是B列时我想要C列,用于计算对NYK的分数。不知道如何编辑您发送的第一个公式来获得此结果。我不知道您想要的是什么…您能更详细地解释一下吗?您想知道与NYK比赛的任何球队最近5个项目的平均分吗?是的,没错。有没有类似于您的第一个公式的方法?当然,只是简单地说一下用
{D2:D,C2:C}代替
C2:D
最后一个。我如何编辑原始公式,使其同时包含赞成和反对的分数?这样团队将在A列中,然后在B列中获得赞成的分数,在C列中获得反对的分数?在原始公式中,您演示了如何执行A+B列部分,这是可行的。我如何调整公式,使C列继续保持lt也会得到输出(对其得分),D2:D,C2:C的东西?谢谢,那你怎么用它来计算分数呢?比如当纽约尼克斯队是A列时,我想要D列,当纽约尼克斯队是B列时,我想要C列,来计算分数。我不知道如何编辑你发送的第一个公式来得到这个。我不确定我明白你想要什么…你能详细解释一下吗il?你想知道与NYK比赛的任何球队最近5个项目的平均得分吗?是的,没错。有没有类似于你的第一个公式的方法?当然,只需切换列。而不是使用
C2:D
使用
{D2:D,C2:C}
最后一个。我如何编辑原始公式,使其同时包含赞成和反对的分数?这样团队将在A列中,然后在B列中获得赞成的分数,在C列中获得反对的分数?在原始公式中,您演示了如何执行A+B列部分,这是可行的。我如何调整公式,使C列继续保持它也得到了输出(得分对),D2:D,C2:C的东西?