[英]Excel Formula multiple Index Match and Average the result
索引(匹配())+索引(匹配())
IFERROR(INDEX(MATCH()))+IFERROR(INDEX(MATCH()))
IFERROR(IFERROR(INDEX(MATCH()))+IFERROR(INDEX(MATCH())))
以上工作正常。
我现在需要求平均值,所以如果第一个索引匹配返回 30,第二个索引匹配返回 20 我需要 (30+20)=50/2 = 25
如果第一个索引匹配返回 0,第二个索引匹配返回 40 我需要 (0+40)=40/1 = 40,反之亦然
有没有办法做到这一点而不涉及 IF(AND(, 可以使用 AVERAGEIF 或 IFS 或其他东西来保持简单。
使用的数据表示例
公式
谢谢 Gridlock,但您的示例缺少顶级公式中的最后一场比赛,例如,如果您有这个
将公式放入单元格 G3 =INDEX($M$3:$O$8,MATCH(G$1&$D3,$L$3:$L$8,0),MATCH($F3,$M$2:$O$2,0) )
如果条件独立且不相关,请尝试此功能:
=AVERAGE(SUMIF($L$3:$L$7,G1&F3&D3,$M$3:$M$7),SUMIF($L$3:$L$7,G1&F3&E3,$M$3:$M$7))
但我看到你有一般的年度条件,所以我将 2001 作为条件,所以让我们在averageif中结合通配符:
=AVERAGEIF($L$3:$L$7,G1&"*",$M$3:$M$7)
更新: - - - - - - - - - - - - - - - - - - - - - - - - --------------------------
希望这对你有用!
=SUMPRODUCT(COUNTIF(G$1,LEFT($L$3:$L$6,4))*IF(INDEX($M$3:$O$6,,MATCH($F3,$M$2:$O$2,0))=0,OFFSET(INDEX($M$3:$O$6,,MATCH($F3,$M$2:$O$2,0)),1,),INDEX($M$3:$O$6,,MATCH($F3,$M$2:$O$2,0))))/2
在 Excel>=2019
=AVERAGEIFs(INDEX($M$3:$O$7,,MATCH($F3,$M$2:$O$2,0)),$L$3:$L$7,G$1&"*",INDEX($M$3:$O$7,,MATCH($F3,$M$2:$O$2,0)),"<>0")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.