Excel – 在指定范围内查找第一个值满足条件的公式

我在一个工作表中有一个唯一的date/时间值(我们将其称为WS1)。

约会时间

2016/01/01 12:00:00

在另一个工作表中,我设置了两列 – 我们将其称为WS2。

约会时间

01/01/2016 11:00:00

01/01/2016 11:30:00

2016/01/01 12:00:00

01/01/2016 12:30:00

…..

十进制值

63.8

62.3

61.9

60.1

….

我的目标是使用WS1中的值在WS2的date和时间列中查找匹配的参考单元格。 被引用的单元格然后偏移1列以input十进制值列。

我们现在有相应的值单元的地址到WS1中的date和时间。 我现在希望从这个值单元格到单元格列表的底部指定范围。

一旦指定范围,我希望find与范围内的特定条件匹配的第一个单元格的地址。 为了达到这个要求,我将指定逻辑评估值为<60.5。 一旦匹配这个标准的第一个单元的地址被识别,我希望抵消这个地址并find相应的date和时间。

步骤总结:

  1. 在WS2中查找来自WS1的匹配date和时间值的地址
  2. 将此地址偏移1列以获取相邻的单元格引用
  3. 指定从“相邻单元格引用”到“值”列末尾的范围
  4. 查找符合逻辑要求的值列中的第一个值的地址
  5. 将此地址偏移-1以移回date和时间列
  6. 从步骤5中的地址获取值

谢谢你的帮助。 我正在尝试使用INDEXECT,INDEX,MATCH,ADDRESS和OFFSET函数,但是我可能不得不在VBA中使用它。

尝试这个:

=INDEX(Sheet4!A:A,MATCH(1,IF(Sheet4!A:A>=A1,IF(Sheet4!B:B<60.5,1,0),0),0)) 

它会find第一个date时间,B列小于A1.5中date之后的60.5。

这是一个数组公式。 需要用Ctrl-Shift-Enter确认。

使用您的数据将Sheet4引用更改为Sheet4表。