[英]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.