Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.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_Excel Formula - Fatal编程技术网

Excel公式多指标匹配并平均结果 我有两个索引匹配公式查看另一个excel选项卡数据透视

Excel公式多指标匹配并平均结果 我有两个索引匹配公式查看另一个excel选项卡数据透视,excel,excel-formula,Excel,Excel Formula,索引(匹配())+索引(匹配()) 两个公式的IFERROR均为0 IFERROR(索引(匹配())+IFERROR(索引(匹配())) 总的来说,一个IFERROR返回0 IFERROR(IFERROR(INDEX(MATCH())+IFERROR(INDEX(MATCH()))) 以上工作正常 我现在需要求平均值,如果第一个索引匹配返回30,第二个索引匹配返回20,我需要(30+20)=50/2=25 如果第一个索引匹配返回0,第二个索引匹配返回40,我需要(0+40)=40/1=40 反之

索引(匹配())+索引(匹配())

  • 两个公式的IFERROR均为0
  • IFERROR(索引(匹配())+IFERROR(索引(匹配()))

  • 总的来说,一个IFERROR返回0
  • 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)或其他一些保持简单的方法

    正在使用的数据表示例

    公式

    感谢僵局,但您的示例缺少顶级公式中的最后一个匹配项,例如,如果您有此项

    将公式放入单元格G3
    =索引($M$3:$O$8,匹配(G$1和$D3,$L$3:$L$8,0),匹配($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($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")
    
    =AVERAGEIFs(指数($M$3:$O$7),匹配($F3,$M$2:$O$2,0)),$L$3:$L$7,G$1&“*”,指数($M$3:$O$7),匹配($F3,$M$2:$O$2,0)),“0”)
    

    考虑到这一点,我想我能做这样的计数吗?IFERROR(索引(匹配())+IFERROR(索引(匹配()))/count(索引(匹配())+count(索引(匹配()))我想你应该上传一张显示你数据的图片,因为可能有更好的计算公式。嗨,我添加了两张图片,希望它们能帮上忙嗨,你说20和10,但我看到30和20。我误解了吗?对不起,僵局你的权利我写的第一篇文字是一个例子我已经更改了文字以匹配图片谢谢僵局,我不知道我想这是可行的,因为它还需要引用您的ColM“First4months”,因为此列可以移动,例如,在索引匹配公式图像中。您好,刚刚在原始postFull公式中添加了一个图像和公式,从刚刚发送的示例图像进入单元格G3:=索引($M$3:$O$8,匹配(G$1和$D3,$L$3:$L$8,0),匹配($F3,$M$2:$O$2,0))+索引($M$3:$O$8,匹配(G$1和$E3,$L$3:$L$8,0),MATCH($F3,$M$2:$O$2,0))噢,我头晕了吗?好的,我以后再看。嗨,你的公式是
    =index(,MATCH,MATCH)
    不是
    =index(,MATCH)
    也许我没看到这个。也许我坐在电脑上很长时间,所以看不到它。我理解你的问题