【问题标题】:Applying Function to Array in countifs()在 countifs() 中将函数应用于数组
【发布时间】:2018-07-03 14:59:09
【问题描述】:

问题: 我表中的 Time 列是文本值,而不是时间值。我需要将其转换为 countifs() 函数中的时间值。比如:

=COUNTIFS(TIMEVALUE(Table[Time]),">7:00:00 AM",TIMEVALUE(Table[Time]),"<=8:00:00 AM")

显然我不能将 TIMEVALUE 函数应用于数组,但我想这样做。我该如何做到这一点?下面的完整场景...

总结: 我正在跟踪呼叫量并使用 SharePoint 2016 来存储我的值。我有一个链接到 SharePoint 的 Excel 电子表格,以及同一个电子表格中的另一个转换值的电子表格。该表具有以下列值:

  • 日期
  • 部门
  • 时间
  • 代理

还有一些。此表中的每个条目都是呼叫摘要。例如,日期是通话的日期,时间是通话发生的时间等。我使用 countifs() 函数来统计通话频率,部门,座席,以及它们 3 一起(混合) .这是它的主要问题:我从 SharePoint 获得的时间值是文本值而不是时间;因此,当我尝试将它与另一个时间值进行比较时,它会比较两者的字符串值而不是时间。

到目前为止,我尝试过以下方法:我知道最简单的解决方案是将每个时间值转换为 SharePoint 本身的 DateTime 列(这是未来的目标),但我需要一个临时解决方案,直到可以筛选 2000 条记录。我目前正在使用辅助表来转换时间值,但它需要我用所有值填充它,这似乎是多余的,所以我试图摆脱它。

我将我的问题放在上面以供快速参考,但我的问题仍然存在:如何将 TIMEVALUE 函数应用于 countifs 函数中的数组?如果这是不可能的,任何人都可以提供替代解决方案吗?我想保持无宏,所以最好没有宏或 VBA,但如果这是唯一的解决方案,那么我会考虑它。

作为参考,我在 Office 365 上使用 Excel 2016 和 SharePoint 2016。我要转换为 [hh:mm AM/PM] 格式的时间值。

【问题讨论】:

    标签: arrays excel sharepoint excel-formula sharepoint-2016


    【解决方案1】:

    COUNTIFS函数只能处理范围,不能处理数组,所以你不能使用COUNTIFS内的任何函数或操作(反正不能修改范围)

    您应该能够使用 +0 之类的数学运算将文本值转换为 SUMPRODUCT 公式中的实时值,只要该范围内没有不可转换的文本值,例如

    =SUMPRODUCT((Table[Time]+0&gt;="7:00"+0)*(Table[Time]+0&lt;"8:00"+0))

    或者如果你想计算一个小时,你可以使用HOUR这样的函数:

    =SUMPRODUCT((HOUR(Table[Time])=7)+0)

    您可以为其中任何一个添加更多条件,但会比使用 COUNTIFS

    【讨论】:

    • 如果可以的话+1,但这有很大帮助。主要问题是我有 2 个无效值,所以当它尝试转换时它给了我错误(非常感谢“不可识别的文本值”提示)。
    猜你喜欢
    • 2016-09-11
    • 2017-08-20
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 2014-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多