Excel-在单个公式中查找对应的值
我不知道该如何表达,因此这个模糊的标题。。对不起 这是我的设想 数据 表1 A队=主队 B队=客场球队 C列=本垒得分 D列=客场得分 我想做的是在一个公式中得到a队最后3分的平均值 问题是球队可能出现在任何一列,主场或客场。 如果团队是A列-我需要C列中的值。如果团队是B列-我需要D列中的值 欢迎提出任何意见。我被难住了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
谢谢您可以使用
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))
有一个更好的方法,但是这个方法很有效:)这是一个很难看的公式,但它有助于得到你想要的,一个团队最后三分的平均值:
- 在本例中,我将搜索值(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))
可能有一个更好的方法,不过这个方法很有效:)只是出于兴趣,这里有一个使用单一公式的尝试
=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