VLOOKUP 没有插入所有单元格?

VLOOKUP 没有插入所有单元格?

我的 VLOOKUP 公式未插入所有单元格

    AD           AE   AF
11-6-2014 15:20 90,4 #N/A
11-6-2014 15:21 89,1 #N/A
11-6-2014 15:22 90,4 Good
11-6-2014 15:23 89,1 Good

AF 列是我的公式:(荷兰语)=AE4-(VERT.ZOEKEN(AD4;$AL$3:$AM$39714;2;WAAR)-1000)(尝试翻译成英文)=AE4-(VLOOKUP(AD4;$AL$3:$AM$39714;2;True)-1000)

这是矩阵列的一部分:

        AL        AM
11-6-2014 15:22 1026,9
11-6-2014 15:23 1027,3
11-6-2014 15:24 1027,2
11-6-2014 15:25 1026,9

找到了 2014 年 11 月 6 日 15:22 的数据 (1026.9)。但我希望这个值也能插入 2014 年 11 月 6 日 15:20 和 2014 年 11 月 6 日 15:21 的值。据我所知,它应该只查找最近的日期并输出矩阵中的值,但它没有。

有任何想法吗?

答案1

这就是当参数设置为VLOOKUP时设计的工作方式。它将返回小于或等于查找值的最近值。如果没有值满足该条件,则返回错误。Range LookupTRUE

为您提供以下几种选择:

  1. 为低于下限的值设置例外,并让其VLOOKUP处理其余部分。为此,只需将您的函数包装在一个IFERROR函数中。

    =IFERROR(AE4-(VLOOKUP(AD4;$AL$3:$AM$39714;2;True)-1000);AE4-$AM$3)
    

    这只是将所有产生错误的查找默认为列中的第一个值AM

  2. 如果您想要返回最近日期的数据,而不仅仅是小于或等于查询值的最近日期的数据,则可以使用除 之外的其他方法VLOOKUP。下面的数组公式将返回最近日期的值AM。日期之间的中点将映射到较晚的日期。

    =AE4-INDEX($AM$3:$AM$39714,MAX(IF(ABS($AL$3:$AL$39714-AD4)=MIN(ABS($AL$3:$AL$39714-AD4)),ROW($AL$3:$AL$39714)-2,-1)))
    

    这是一个数组公式,因此必须按Ctrl+ Shift+输入Enter才能正常工作。如果输入正确,它将出现在公式栏中,并被大括号括起来。

    像你这样的长阵列(n= 39,712),数组公式的计算速度可能很慢,可能会拖慢电子表格的速度。因此,在决定使用哪种方法时,请考虑到这一点。

相关内容