使用索引(匹配)返回时间值时出错

时间:2014-08-06 13:15:57

标签: excel excel-formula excel-2010

我正在构建一个从起点开始计算时间的表,然后从另一个变量的起点开始每半小时返回一次值。

我的问题是索引(匹配)每隔三行返回一个#N / A.

enter image description here

我正在查找的表包含以Excel时间序列样式正确格式化的日期。 我计算要查找的值的第二个表也是返回时间序列。 当使用IF([lookupTableTime] = [calculatedTime]检查时," T")在每种情况下都返回true。

我用来计算开始时间的公式是:

=ReportDtNow+(ROWS($A$3:A3)/48)-1/48

其中 ReportDtNow 是在午夜返回日期(在本例中为17/03/2013)的命名单元格。

我用作查找的公式是:

=INDEX(HHdata[Compressors '[DUMMY']],MATCH([@[Date this report]],HHdata[DateTime],0))

HHdata是我的查找表, Compressors DUMMY 是要返回的值。 此报告的日期是要在[日期时间]列的 HHdata 表中查找的计算日期。

我尝试修改以使用MATCH中的option参数返回非精确值,但是在完全匹配时返回#N / A错误的单元格中,这只是复制了它之前的值。可变返回柱压缩机。

在这种情况下,Excel是否容易出现某种舍入错误?或者我的公式在某处?

2 个答案:

答案 0 :(得分:0)

我找到了解决方法。老实说,这有点尴尬。

我通过在顶部列中写入00:00然后自动填充来创建一个名为 Time 的静态系列。通过将其添加到下一列的开始日期,我成功地不仅每天都在第三行删除#N / A,而且还修复了整个列。

我原本以为该列只是自动填充为48个半小时间隔的重复模式,然后在第二天重新启动。实际发生的是在第49条,它有效地传递到第二天,这非常整洁。

之前还没有完全解释错误,但它表明这与它正在查找的时间序列或从第一个日期计算进展的公式有关。有谁知道哪个?

答案 1 :(得分:0)

请尝试:

而不是=ReportDtNow+(ROWS($A$3:A3)/48)-1/48
=ReportDtNow+ROUND((ROWS($A$3:A3)/48)-1/48,15) 

(或=ReportDtNow+ROUND(((ROWS($A$3:A3)-1)/48),15)