[英]Using vlookup while using web external data
有几种方法可以实现这一点。 但是,根据您的数据结构,常规VLOOKUP
将不起作用,因为VLOOKUP
仅搜索查找值(即地址)的右侧,例如,价格在其左侧。 因此,一种可能性是重组您的数据,以便您获得地址、价格、更新等信息。 这也将避免价格与查找值位于不同行的问题。
使用此数据结构的另一种方法是使用INDEX
函数:
=INDEX(array, row_num, [column_num])
您的数组反映了您要查找的数据存储范围; 在您的情况下,仅考虑价格和站A:B
。 由于您隐藏了一些列,因此很难查看此数据表中的其他内容。 但只需根据您对数据的需求进行调整。
行号可以硬编码。 但是,由于您要查找特定值(即地址),您可以使用MATCH
函数:
=MATCH(lookup_value, lookup_array, [match_type])
在此步骤中,您要从 B 列的 N 列中查找您的地址,其中列出了所有车站。 您还需要指定要返回的列。 同样,您可以对其进行硬编码或使用MATCH
函数。 例如,您可以使用match_type
指定您只需要完全匹配,即match_type = 0
。
要将值“更新”返回到地址的左侧,您的公式如下所示:
=INDEX($A:$B,MATCH(N6,$B:$B,0),1)
要返回地址本身(这几乎没有用,因为您已经在 N 列中拥有它),请使用以下公式,将列值从 1 调整为 2:
=INDEX($A:$B,MATCH(N6,$B:$B,0),2)
最后,您的价格信息在地址上方一行,您需要相应地调整行数 -1。 也就是说,例如,如果您的地址是 4123 Town [...],您希望返回第 6 行的第 1 列而不是第 7 行:
=INDEX($A:$B,MATCH(N6,$B:$B,0)-1,1)
另一种策略是使用XLOOKUP
函数(仅在较新版本的 Excel 中可用),它允许您查找查找值左侧的值。 但同样使用这种策略,您将不得不处理行差异问题。 在这种情况下, OFFSET
函数可能很有用,但它并不比INDEX
函数更容易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.