首页 > 解决方案 > 具有多个条件的 AVERAGEIF

问题描述

我在这里看到了很多类似的问题,但没有什么能回答我特别关注的问题。

我有一堆联系信息列。A 列有联系日期(即 2019 年 1 月 11 日)。B 列有呼叫开始时间(即 13:42)。D 列有通话结束时间(即 13:58)。

我想计算出特定日期的平均通话分钟数。因此,要获得 2019 年 1 月 11 日通话所花费的平均时间,我需要一个公式来搜索 A 列中 01/11/2019 的所有实例,然后为每个实例获取 D 列中的时间减去列中的时间B,然后给我所有这些的平均值。

到目前为止,我有:

    =AVERAGEIFS(A:A,"01/11/2019",(=D:D-B:B),>0))

如果 A 列有 19 年 1 月 11 日,并且 D 列减去 B 列的结果大于 0,我假设这会给我一个平均值。但事实并非如此。

请帮忙!

标签: excelexcel-formulaaverage

解决方案


您不能将一组值合并到AVERAGEIF中,也不能AVERAGEIFS像他们期望的那样RangesAVERAGEIF但是,您可以很容易地重新创建:

在此处输入图像描述

G2因此,重新创建的公式AVERAGEIF可能是:

=AVERAGE(IF(A2:A5=G1,D2:D5-B2:B5))

注意:此公式为数组公式,需要通过 确认 CtrlShiftEnter

实际上这是一个数组(计算量很大,如果您不想这样输入,可以将其替换为:

=SUMPRODUCT((A2:A5=G1)*(D2:D5-B2:B5))/COUNTIF(A2:A5,G1)

注意:此示例中隐藏了 C 列。


推荐阅读