【发布时间】:2018-05-22 14:44:37
【问题描述】:
需要过滤所有时间为负数或时间少于 20 小时的行。时间长度降至-300小时。因为我正在导入这些数据,所以它导入为=TEXT("-20:42","[h]:mm") 或=TEXT("3:29","[h]:mm")
创建自定义过滤器产生 0 个输出。
现在,我用这个公式在表格中添加了一列
=IF(ISNUMBER(SEARCH("-*",Table15[[#This Row],[Resolve Time To Go]])),"Breech", "No Breech")
这适用于负值,但我很难将值拉到 0 到 20 小时之间。
此公式对正值返回 true,但不会在 20 处停止
=IF(VALUE(Table15[[#This Row],[Resolve Time To Go]])<TIMEVALUE(20), "Breech", "No Breech")
我不介意我是否必须创建几个额外的列来获取这些数据,因为我只是将它用于数据透视表,但是如果它可以在 1 列中完成就更好了。我尝试合并这 2 个函数,但我得到一个弹出窗口,说有太多的逻辑语句(?)。
这最终也需要包含在宏中。
【问题讨论】:
-
我认为你应该更直接地处理这个问题。即使用代表时间的数据透视列的数值,而不是文本值。
-
@ergohack 我确实考虑过,但我还没有弄清楚如何将这些数据重新格式化为数值(尤其是负数)=TEXT("-31:40","[h] :mm")
标签: datetime excel-formula excel-2007 logical-operators text-parsing