Datetime 将excel中的时间与';s格式为文本(包括负时间)

Datetime 将excel中的时间与';s格式为文本(包括负时间),datetime,excel-formula,excel-2007,logical-operators,text-parsing,Datetime,Excel Formula,Excel 2007,Logical Operators,Text Parsing,需要筛选时间为负或小于20小时的所有行。时间长度降至-300小时。因为我正在导入此数据,所以它导入为=TEXT(“-20:42”,“[h]:mm”)或=TEXT(“3:29”,[h]:mm”) 创建自定义筛选器产生0个输出 现在,我用这个公式在表中添加了一列 =IF(ISNUMBER(搜索(“-*”,表15[#这一行],[Resolve Time To Go]),“臀位”,“无臀位”) 这对负值很有效,但我很难在0到20小时之间提取值 对于正值,此公式返回true,但不会在20处停止 =IF(V

需要筛选时间为负或小于20小时的所有行。时间长度降至-300小时。因为我正在导入此数据,所以它导入为
=TEXT(“-20:42”,“[h]:mm”)
=TEXT(“3:29”,[h]:mm”)

创建自定义筛选器产生0个输出

现在,我用这个公式在表中添加了一列

=IF(ISNUMBER(搜索(“-*”,表15[#这一行],[Resolve Time To Go]),“臀位”,“无臀位”)

这对负值很有效,但我很难在0到20小时之间提取值

对于正值,此公式返回true,但不会在20处停止

=IF(VALUE(Table15[[#This Row],[Resolve Time To Go]])<TIMEVALUE(20), "Breech", "No Breech")

=IF(值(表15[#此行],[Resolve Time To Go]])如果在A列中有时间作为文本值,则在B1中输入:

=IF(LEFT(A1,1)="-",-TIMEVALUE(MID(A1,2,99)),TIMEVALUE(A1))
并向下复制:

如上图所示,如果只想显示大于或等于20小时的时间,请将“帮助器”列上的“自动筛选”设置为大于或等于.8333333

所有小的和消极的时间都将被隐藏

编辑#1:

一旦小时数超过24小时,
TIMEVALUE()
将变得不可靠。因此,应改为:

=IF(LEFT(A1,1)="-",-TIMEVALUE(MID(A1,2,99)),LEFT(A1,2)/24+RIGHT(A1,2)/(24*60))

我认为你应该更直接地处理这个问题。那就是使用一个代表时间的枢轴列的数值,而不是一个文本值。@ ErGoHACK我考虑过了,但是我还没有弄清楚如何将这个数据重新格式化为一个数值(特别是负小时)=文本(“-31:40”,“[H]:MM”)。谢谢!这似乎有效,但最多只能持续24小时。输出从-300线性增加到24小时,但在24小时后从0.99跳到0.068(我的数据集从-300小时左右增加到+300小时)@FT2417我将查看是否需要修复possible@FT2417见我的编辑#1