在 countifs() 中将函数应用于数组
Applying Function to Array in countifs()
问题:
我的 table 中的 Time 列是文本值而不是时间值。我需要在 countifs() 函数中将其转换为时间值。类似于:
=COUNTIFS(TIMEVALUE(Table[Time]),">7:00:00 AM",TIMEVALUE(Table[Time]),"<=8:00:00 AM")
显然我不能将 TIMEVALUE 函数应用于数组,但我想这样做。我该如何做到这一点?完整场景如下...
总结:
我正在跟踪呼叫量并使用 SharePoint 2016 来存储我的值。我有一个链接到 SharePoint 的 Excel 电子表格,以及同一个电子表格中用于转换值的另一个电子表格。 table 具有以下列值:
- 日期
- 部门
- 时间
- 特工
还有一些。此 table 中的每个条目都是通话摘要。例如,日期是通话的日期,时间是通话发生的时间等。我使用 countifs() 函数来计算通话频率、部门、代理以及它们 3 一起(混合) .这是它的主要问题:我从 SharePoint 获得的时间值是文本值而不是时间;因此,当我尝试将它与另一个时间值进行比较时,它比较的是两者的字符串值而不是时间。
这是我到目前为止尝试过的方法:我知道最简单的解决方案是转换每个时间值并将它们都放入 SharePoint 本身的 DateTime 列中(这是未来的目标),但我需要一个临时解决方案直到我可以筛选 2000 条记录。我目前正在使用助手 table 来转换时间值,但它要求我用所有值填充它,这似乎是多余的,所以我试图摆脱它。
我将问题放在上面以供快速参考,但我的问题仍然存在:如何将 TIMEVALUE 函数应用于 countifs 函数中的数组?如果这不可能,任何人都可以提供替代解决方案吗?我想保持无宏,所以最好不要宏或 VBA,但如果这是唯一的解决方案,那么我会考虑它。
作为参考,我在 Office 365 上使用 Excel 2016 和 SharePoint 2016。我要转换的时间值采用 [hh:mm AM/PM] 格式。
COUNTIFS
函数只能处理范围,不能处理数组,所以你不能在 COUNTIFS
中使用任何函数或操作(无论如何不要修改范围)
您应该能够使用像 +0 这样的数学运算将 SUMPRODUCT
公式中的文本值转换为实时值,只要范围内没有不可转换的文本值,例如
=SUMPRODUCT((Table[Time]+0>="7:00"+0)*(Table[Time]+0<"8:00"+0))
或者如果你想计算一个小时,你可以使用这样的 HOUR
函数:
=SUMPRODUCT((HOUR(Table[Time])=7)+0)
您可以向其中任何一个添加更多条件,但它会比使用 COUNTIFS
慢
问题: 我的 table 中的 Time 列是文本值而不是时间值。我需要在 countifs() 函数中将其转换为时间值。类似于:
=COUNTIFS(TIMEVALUE(Table[Time]),">7:00:00 AM",TIMEVALUE(Table[Time]),"<=8:00:00 AM")
显然我不能将 TIMEVALUE 函数应用于数组,但我想这样做。我该如何做到这一点?完整场景如下...
总结: 我正在跟踪呼叫量并使用 SharePoint 2016 来存储我的值。我有一个链接到 SharePoint 的 Excel 电子表格,以及同一个电子表格中用于转换值的另一个电子表格。 table 具有以下列值:
- 日期
- 部门
- 时间
- 特工
还有一些。此 table 中的每个条目都是通话摘要。例如,日期是通话的日期,时间是通话发生的时间等。我使用 countifs() 函数来计算通话频率、部门、代理以及它们 3 一起(混合) .这是它的主要问题:我从 SharePoint 获得的时间值是文本值而不是时间;因此,当我尝试将它与另一个时间值进行比较时,它比较的是两者的字符串值而不是时间。
这是我到目前为止尝试过的方法:我知道最简单的解决方案是转换每个时间值并将它们都放入 SharePoint 本身的 DateTime 列中(这是未来的目标),但我需要一个临时解决方案直到我可以筛选 2000 条记录。我目前正在使用助手 table 来转换时间值,但它要求我用所有值填充它,这似乎是多余的,所以我试图摆脱它。
我将问题放在上面以供快速参考,但我的问题仍然存在:如何将 TIMEVALUE 函数应用于 countifs 函数中的数组?如果这不可能,任何人都可以提供替代解决方案吗?我想保持无宏,所以最好不要宏或 VBA,但如果这是唯一的解决方案,那么我会考虑它。
作为参考,我在 Office 365 上使用 Excel 2016 和 SharePoint 2016。我要转换的时间值采用 [hh:mm AM/PM] 格式。
COUNTIFS
函数只能处理范围,不能处理数组,所以你不能在 COUNTIFS
中使用任何函数或操作(无论如何不要修改范围)
您应该能够使用像 +0 这样的数学运算将 SUMPRODUCT
公式中的文本值转换为实时值,只要范围内没有不可转换的文本值,例如
=SUMPRODUCT((Table[Time]+0>="7:00"+0)*(Table[Time]+0<"8:00"+0))
或者如果你想计算一个小时,你可以使用这样的 HOUR
函数:
=SUMPRODUCT((HOUR(Table[Time])=7)+0)
您可以向其中任何一个添加更多条件,但它会比使用 COUNTIFS