Excel - 基于条件计算的网络日平均值

时间:2013-11-08 18:48:44

标签: excel excel-vba vba

excel中有三列显示Solved(1,0),Start date和Lastchanged date。 我所说的列是从sql数据库中读取的。 我在制作一个公式时遇到问题,该公式给出了在Excel中求解的网络日平均值= 1。帮助

3 个答案:

答案 0 :(得分:0)

最简单的方法:

在单元格D1中输入“差异”。

在单元格D2中,键入

=(C2-B2)

获取两个日期之间的天数差异。将其向下拖动两列的长度。

突出显示列标题A1:D1,然后点击排序&过滤器 - >过滤

现在单击第1列中的下拉列表并取消选中“0”。只剩下1的记录。

然后转到列的底部,在D列的第一个空单元格中,键入:

=average(D2:D...) 

并为“...”输入D列中您有编号的最后一个单元格。然后按Enter键。

答案 1 :(得分:0)

NETWORKDAYS函数不接受作为开始日期或结束日期的范围,但在Excel 2007或更高版本中它接受“数组”,因此像这样的数组公式将平均col和A之间的工作日数col A = 1

=AVERAGE(IF(A2:A10=1,NETWORKDAYS(B2:B10+0,C2:C10+0)))

使用 CTRL + SHIFT + ENTER确认

+0将B2:B10之类的范围转换为NETWORKDAYS可以处理的数组。由于那些+ 0,你只能在B2:C10

中拥有数值(如日期)

答案 2 :(得分:0)

我认为函数INDIRECT可能与=AVERAGE(IF(A1:A?=1,NETWORKDAYS(B2:B?+0,C2:C?+0)))结合使用。从Excel帮助:“[INDIRECT函数]返回由文本字符串指定的引用。立即评估引用以显示其内容。当您想要更改公式中单元格的引用而不更改公式本身时,请使用INDIRECT。”

此外(这不是专门回答你的问题,但你可能会觉得它很有用),函数SUBTOTAL可以只显示所显示的单元格中的平均值(即,不隐藏或过滤)。因此,您可以应用过滤器来查看您要查找的平均值。