在表或范围中查找单元格,如果单元格匹配,则返回该范围中单元格旁边的值

时间:2017-10-21 08:39:41

标签: excel excel-formula openoffice-calc

抱歉我的英语令人困惑。 enter image description here 每行中的数据是一个合约,因为您可以看到第一个记录(第3行)是May18。因此今天的价格E3应该反映May18的价格。

D13:E17是我从外部网站获得的数据。它们在几个月后不断变化。每次他们改变它,我都必须修改我的公式。

每当网站发生变化时,我在E栏中的公式都会改变

resultset

=INDEX($E$14:$E$17;MATCH('May18';$E$14:$E$17;0))   

=INDEX($E$14:$E$17;MATCH('Jul18';$E$14:$E$17;0))

=INDEX($E$14:$E$17;MATCH('Mar18';$E$14:$E$17;0))   

如果网站发生变化且我没有仔细检查,那么我将在May18记录中获得Jul18值。在这种情况下,我将在E3中使用0.6849而不是0.6776

我希望今天的列能够根据现有的B列返回数据,即使D14:E17不断变化。

曾经是10月17日但现在已经过去了。

数据更新前的图片:

enter image description here

1 个答案:

答案 0 :(得分:1)

这个公式适合你。

=VLOOKUP($B3,$D$14:$E$17,2)

将其粘贴到E3中并向下复制到所需的行。 您可以考虑使用命名范围,例如$ D $ 14:$ E $ 17,命名为“Contracts”。然后你可以使用上面修改的公式。

=VLOOKUP($B3,Contracts,2)