2

我在 Excel 中有三列显示 Solved(1,0)、开始日期和 Lastchanged 日期。我所说的列是从 sql 数据库中读取的。我在制作一个公式时遇到了麻烦,该公式给出了 excel 中已解决 = 1 的网络日平均值。帮助?

4

3 回答 3

0

最简单的方法:

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

在单元格 D2 中,键入

=(C2-B2)

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

突出显示列标题 A1:D1,然后单击排序和筛选 -> 筛选。

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

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

=average(D2:D...) 

对于“...”,输入 D 列中您有数字的最后一个单元格。然后只需按回车键。

于 2013-11-08T19:51:19.427 回答
0

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

此外(这不是专门回答您的问题,但您可能会发现它很有用),该功能SUBTOTAL可以为您提供仅显示单元格的平均值(即,未隐藏或过滤)。因此,您可以应用过滤器来查看您正在寻找的平均值。

于 2013-11-08T21:10:33.730 回答
0

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

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

CTRL+ SHIFT+确认ENTER

+0 将范围转换为可以处理B2:B10的数组。NETWORKDAYS由于那些 +0,您只能在 B2:C10 中使用数值(如日期)

于 2013-11-08T20:16:15.667 回答