INDEX(MATCH())+ INDEX(MATCH())
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))
答案 0 :(得分: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($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")