Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel-在单个公式中查找对应的值_Excel_Excel Formula - Fatal编程技术网

Excel-在单个公式中查找对应的值

Excel-在单个公式中查找对应的值,excel,excel-formula,Excel,Excel Formula,我不知道该如何表达,因此这个模糊的标题。。对不起 这是我的设想 数据 表1 A队=主队 B队=客场球队 C列=本垒得分 D列=客场得分 我想做的是在一个公式中得到a队最后3分的平均值 问题是球队可能出现在任何一列,主场或客场。 如果团队是A列-我需要C列中的值。如果团队是B列-我需要D列中的值 欢迎提出任何意见。我被难住了 谢谢您可以使用COUNTIFS和SUMIFS进行逻辑平均值计算 以下H4中的公式为: =(SUMIFS(C:C,A:A,G4)+SUMIFS(D:D,B:B,G4))/(CO

我不知道该如何表达,因此这个模糊的标题。。对不起

这是我的设想

数据

表1

A队=主队

B队=客场球队

C列=本垒得分

D列=客场得分

我想做的是在一个公式中得到a队最后3分的平均值

问题是球队可能出现在任何一列,主场或客场。 如果团队是A列-我需要C列中的值。如果团队是B列-我需要D列中的值

欢迎提出任何意见。我被难住了


谢谢

您可以使用
COUNTIFS
SUMIFS
进行逻辑平均值计算

以下
H4
中的公式为:

=(SUMIFS(C:C,A:A,G4)+SUMIFS(D:D,B:B,G4))/(COUNTIFS(B:B,G4)+COUNTIFS(A:A,G4))

您可以使用
COUNTIFS
SUMIFS
进行逻辑平均值计算

以下
H4
中的公式为:

=(SUMIFS(C:C,A:A,G4)+SUMIFS(D:D,B:B,G4))/(COUNTIFS(B:B,G4)+COUNTIFS(A:A,G4))

这将是一个相当丑陋的公式,但它有助于得到你想要的,一个团队最后三分的平均值:

  • 在本例中,我将搜索值(Team2)放在F9中(在公式中使用)
  • 创建一个helper列,将此公式放入其中并向下拖动(我们需要在未来的索引公式中输入命中的行数):

  • 现在,我们需要创建一个公式来平均最大的3个数字

    =AVERAGE(INDEX(A1:D7,LARGE(E:E,1),MATCH($F$9,INDIRECT("A"&LARGE(E:E,1)&":B"&LARGE(E:E,1)),0)+2),INDEX(A1:D7,LARGE(E:E,2),MATCH($F$9,INDIRECT("A"&LARGE(E:E,2)&":B"&LARGE(E:E,2)),0)+2),INDEX(A1:D7,LARGE(E:E,3),MATCH($F$9,INDIRECT("A"&LARGE(E:E,3)&":B"&LARGE(E:E,3)),0)+2))
    
在这种情况下,公式将返回4.33333


有一个更好的方法,但是这个方法很有效:)

这是一个很难看的公式,但它有助于得到你想要的,一个团队最后三分的平均值:

  • 在本例中,我将搜索值(Team2)放在F9中(在公式中使用)
  • 创建一个helper列,将此公式放入其中并向下拖动(我们需要在未来的索引公式中输入命中的行数):

  • 现在,我们需要创建一个公式来平均最大的3个数字

    =AVERAGE(INDEX(A1:D7,LARGE(E:E,1),MATCH($F$9,INDIRECT("A"&LARGE(E:E,1)&":B"&LARGE(E:E,1)),0)+2),INDEX(A1:D7,LARGE(E:E,2),MATCH($F$9,INDIRECT("A"&LARGE(E:E,2)&":B"&LARGE(E:E,2)),0)+2),INDEX(A1:D7,LARGE(E:E,3),MATCH($F$9,INDIRECT("A"&LARGE(E:E,3)&":B"&LARGE(E:E,3)),0)+2))
    
在这种情况下,公式将返回4.33333


可能有一个更好的方法,不过这个方法很有效:)

只是出于兴趣,这里有一个使用单一公式的尝试

=AVERAGE(INDEX(C1:D7,N(IF({1},LARGE(IF(A2:B7=F2,ROW(A2:B7)*3+COLUMN(A2:B7)),{1,2,3})/3)),
N(IF({1},MOD(LARGE(IF(A2:B7=F2,ROW(A2:B7)*3+COLUMN(A2:B7)),{1,2,3}),3)))))
必须使用CtrlShiftCenter作为数组公式输入,并假设数据从A列开始

编辑

不必只对行进行除法,这样可以简化为

=AVERAGE(INDEX(C1:D7,N(IF({1},LARGE(IF(A2:B7=F2,ROW(A2:B7)),{1,2,3}))),
N(IF({1},MOD(LARGE(IF(A2:B7=F2,ROW(A2:B7)*3+COLUMN(A2:B7)),{1,2,3}),3)))))

只是出于兴趣,这里有一个使用单一公式的尝试

=AVERAGE(INDEX(C1:D7,N(IF({1},LARGE(IF(A2:B7=F2,ROW(A2:B7)*3+COLUMN(A2:B7)),{1,2,3})/3)),
N(IF({1},MOD(LARGE(IF(A2:B7=F2,ROW(A2:B7)*3+COLUMN(A2:B7)),{1,2,3}),3)))))
必须使用CtrlShiftCenter作为数组公式输入,并假设数据从A列开始

编辑

不必只对行进行除法,这样可以简化为

=AVERAGE(INDEX(C1:D7,N(IF({1},LARGE(IF(A2:B7=F2,ROW(A2:B7)),{1,2,3}))),
N(IF({1},MOD(LARGE(IF(A2:B7=F2,ROW(A2:B7)*3+COLUMN(A2:B7)),{1,2,3}),3)))))

AVERAGEIFS与索引/聚合的另一种用法

=AVERAGEIFS(INDEX(E:E, AGGREGATE(14, 7, ROW($2:$999)/((C$2:C$999=I5)+(D$2:D$999=I5)), 3)):F$999, INDEX(C:C, AGGREGATE(14, 7, ROW($2:$999)/((C$2:C$999=I5)+(D$2:D$999=I5)), 3)):D$999, I5)

另一种使用索引/聚合的平均ifs

=AVERAGEIFS(INDEX(E:E, AGGREGATE(14, 7, ROW($2:$999)/((C$2:C$999=I5)+(D$2:D$999=I5)), 3)):F$999, INDEX(C:C, AGGREGATE(14, 7, ROW($2:$999)/((C$2:C$999=I5)+(D$2:D$999=I5)), 3)):D$999, I5)

很好的公式:)@Tomsharpethaks-它得到的答案与您的答案相同,所以不会全是坏的:-)这太棒了,汤姆,谢谢!如何翻转它,使其显示为自上而下?在您的示例中,自上而下的答案是4。(4,6,2)应该很简单-只需将公式中的大值替换为小值。嘿,汤姆-我得到了以下公式,但它没有选择正确的值。我哪里出错了=平均值(索引(bothtatals,N)(IF({1},SMALL)(IF(BothTeams=B2,行(BothTeams)*3+列(BothTeams)),{1,2,3})/3)),N(IF({1},MOD(SMALL)(IF(BothTeams=B2,行(BothTeams)*3+列(BothTeams)),{1,2,3}),3Ɨ)两个团队=表1$H$6:$I$1944两个总数=表1$J$6:$K$1944漂亮的公式:)@TomSharpeThanks-它得到的答案与你的答案相同,所以不可能都是坏的:-)这太好了,汤姆,谢谢!如何翻转它,使其显示为自上而下?在您的示例中,自上而下的答案是4。(4,6,2)应该很简单-只需将公式中的大值替换为小值。嘿,汤姆-我得到了以下公式,但它没有选择正确的值。我哪里出错了=平均值(指数(bothtals,N)(如果({1}),小(如果(BothTeams=B2,行(BothTeams)*3+列(BothTeams)),{1,2,3})/3)),N(如果({1},MOD(小)(如果(BothTeams=B2,行(BothTeams)*3+列(BothTeams)),{1,2,3}()))),两个团队=表1$H$6:$1944总计=表1$J$6:$1944