Excel索引/匹配公式返回#值!错误

Excel索引/匹配公式返回#值!错误,excel,excel-formula,Excel,Excel Formula,我有一个公式,可以找到与用户输入的时间最接近的时间匹配。当时间列没有任何空白单元格时,公式非常有效,但当它看到空白单元格时,我得到了#值!错误。如何使此公式排除空白单元格并仅索引/匹配现有数据 {=INDEX(B2:B5000,匹配(MIN(ABS('User Input'!G8-B2:B5000)),ABS('User Input'!G8-B2:B5000),-1)) 您的查找范围不能保证排序,因为您使用了数据操作的ABS()值。刚刚发布到Office 365每月频道的新XLookup()函数

我有一个公式,可以找到与用户输入的时间最接近的时间匹配。当时间列没有任何空白单元格时,公式非常有效,但当它看到空白单元格时,我得到了#值!错误。如何使此公式排除空白单元格并仅索引/匹配现有数据

{=INDEX(B2:B5000,匹配(MIN(ABS('User Input'!G8-B2:B5000)),ABS('User Input'!G8-B2:B5000),-1))


您的查找范围不能保证排序,因为您使用了数据操作的ABS()值。刚刚发布到Office 365每月频道的新XLookup()函数可以执行一个更简单的公式,不需要任何排序

=XLOOKUP(MIN(ABS(Sheet2!A1-B2:B10)),ABS(Sheet2!A1-B2:B10),B2:B10,,1)
如果不能使用XLookup,可以使用helper列(例如,在C列中,公式为
=ABS('User Input'!$g$8-B2)
,将数据向下复制并按该列排序。然后可以将索引/匹配简化为

=INDEX(C2:C5000,MATCH(MIN(C2:C5000),C2:C5000,-1))

将与
-1
相关的
-1
-1
更改为
-0
,以获得
=value
,请参阅,这表明查找范围顺序必须降序,即从Z到a,或从最大到最小。(请参阅)。基本上,你需要在尝试之前进行排序,所以没有空格等。@Scott,这不会改变任何事情。我会尽快尝试,以升级我的Excel,这样我就有了。目前我没有xlookup。我在回答中添加了一个建议