Excel 结合查找和偏移

Excel 结合查找和偏移,excel,excel-formula,offset,lookup,vlookup,Excel,Excel Formula,Offset,Lookup,Vlookup,我想将数据中的最后一个条目偏移一周。例如,我刚刚创建了以下示例数据: day value 1 4 2 3 3 5 4 6 5 1 6 3 7 9 8 5 要查找数据集中的最后一个条目,我使用lookup函数: =LOOKUP(9.99E+307,b1:b10) 它将返回值5。(如果不熟悉该符号,9.99E+307是可以在Excel中写入的最大数字) 然后,我想将这个值与上周的值进行比较,从而将最后一个条目偏移7。我看到OFFSET要求:OFFSET(引用、行

我想将数据中的最后一个条目偏移一周。例如,我刚刚创建了以下示例数据:

day value
1   4
2   3
3   5
4   6
5   1
6   3
7   9
8   5
要查找数据集中的最后一个条目,我使用lookup函数:

 =LOOKUP(9.99E+307,b1:b10)
它将返回值
5
。(如果不熟悉该符号,
9.99E+307
是可以在Excel中写入的最大数字)

然后,我想将这个值与上周的值进行比较,从而将最后一个条目偏移7。我看到OFFSET要求:OFFSET(引用、行、列),但使用:

=OFFSET(LOOKUP(9.99E+307,b1:b10),-7,0)
似乎不起作用(它返回一个错误)


可能是什么问题?

引用是指范围对象(单元格)。
查找
函数的结果是一个数值,在本例中为5。不能
偏移
数值


您考虑过使用VBA吗?

@user3561813解释了为什么,解决方案可能是:

=INDEX(B:B,MATCH(1E+100,B:B)-7)  

查找ColumnB中最后一个条目的位置(行号),
-7
向上移动七行,并在ColumnB中查找该行的内容。

为什么不更改查找以查找列表中的最后一天

此公式将返回最后一天的值(上述数据中的8):

然后,您可以使用此公式返回当天的最后一个值(在上面的数据中为5):

如果您想获得7天之前的值,只需从如下查找公式的结果中减去7(将在上面的数据中返回4天1的值):


您还可以使用单个
查找
函数,将“返回向量”偏移7行,例如


=LOOKUP(9.99E+307,B8:B100,B1:B93)

谢谢大家提供的所有有用的答案,我非常感谢。我将使用面向查找的功能,因为这是我最熟悉的功能。感谢您的接受。为了记录在案,pnuts提出了一个更优雅的解决方案。如果您还没有,请花一些时间探索
索引
匹配
。它们可能非常有用。我还不太明白这是如何完成的,但这确实很有效。
=LOOKUP(9.99E+307,A1:A10)
=VLOOKUP(LOOKUP(9.99E+307,A1:A10),A1:B10,2,FALSE)
=VLOOKUP(LOOKUP(9.99E+307,A1:A10)-7,A1:B10,2,FALSE)