excel - 如何使用AverageIf工作表函数计算平均日期差异(如果填写日期)
问题描述
我正在总结任务列表和相应的日期(开始日期、第一次回答日期……)。
它看起来或多或少类似于以下内容:
Title Start date First answer
Task1 29/06/2018 02/07/2018
Task2 09/05/2018
Task3 13/06/2018 14/06/2018
我想计算给出第一个答案所需的平均时间。如果尚未给出第一个答案,则在计算平均值时需要忽略此条目。
为了能够更好地理解公式,我决定为标题使用名称,例如:
Name "Header_Title" has value "Title"
Name "Header_Start_Date" has value "Start Date"
Name "Header_First_Answer" has value "First answer"
此外,定义为COUNTA(OFFSET(Header_Title;1;0):A1048576)
具有名称的条目数:Total_Count
.
接下来,我为列值的范围创建了名称:
"All_Start_Dates" is defined as =OFFSET(Header_Start_Date;1;0):OFFSET(Header_Start_Date;Total_Count;0)
"All_First_Answered" is defined as =OFFSET(Header_First_Answer;1;0):OFFSET(Header_First_Answer;Total_Count;0)
解释:取标题下的第一个条目(列标题)并转到对应于最后一个任务的行。
这使得编写计算这些日期列之间的平均差异的公式变得非常容易:
{=AVERAGE(All_First_Answered_Dates-All_Start_Dates)}
// mind the {} for showing this is an array formula
现在的问题是:如何使用AverageIf
工作表功能才能不考虑First answer
未填写的情况?
我已经尝试过使用">0"
and ">"&0
,但这不起作用,据说这些公式无效:
{=AVERAGEIF(All_First_Answered_Dates-All_Start_Dates;">0")}
{=AVERAGEIF(All_First_Answered_Dates-All_Start_Dates;">"&0)}
有人有想法吗?
提前致谢
PS1。如您所见,我使用单元格范围A1048576
作为 column 的最后一个条目A
,有人知道更优雅的描述方式吗?
PS2。还有一件事可以让我的生活更轻松,那就是可以查看哪些单元格有名称(我正在考虑条件格式,但我没有找到这样做的方法)。有谁知道是否有办法突出显示与名称相关的单个单元格?
解决方案
推荐阅读
- angular - Resolver 中的链相关 Observables
- ruby-on-rails - ArgumentError UTF-8 中的无效字节序列
- sql - 插入到具有多项选择的表中,包括与两个表不同的选择
- javascript - 检查用户是否已存在于 mongodb 和护照中
- python - 将多维数组转换为熊猫数据框
- reactjs - 反应钩子和 fetch() 建议
- php - 为什么“mb_convert_encoding() 期望参数 1 是字符串,给定数组”,如果在 php.net 上它接受数组?
- qt - Qt6 和多媒体模块
- c# - 是否可以在 @Html.LabelFor(Login + Email) 中组合 2 个属性?
- node.js - 尝试发布到另一个域时出现错误