2015-11-03 87 views
2

我有一個工作簿,其中包含A列和B列中郵政編碼的前三位數字.A是範圍的下限,B是上限。然後,我在C列中爲該郵編區域提供相應的區域。我嘗試了以下公式,但沒有運氣。搜索郵政編碼範圍並拉出相應的區域

=LOOKUP(2,1/((I11>=A10:A101)*(I11<=B10:B101)),D10:D101) 

我試圖做到的是用這個公式來獲取相應的區域爲輸入的任何郵政編碼,精簡做了成本分析潛在客戶的過程。如果使用VBA腳本更容易實現這一點,我也對此表示贊同。

這裏是我的工作簿中的前三行數據的一個例子:

Lower Bounds | Upper Bounds | Zone 
004   | 005   | 008 
006   | 007   | 045 
009   |    | 045 

回答

1

如果Lower Bounds是在A1和你在E2找了一下,請嘗試:

=INDEX(C:C,MATCH(E2,A:A)) 

確保ColumnA按升序排序。

+1

我使用完整拉鍊和正好前3位數字,但它仍然輸出#N/A嘗試。我把我在E2中搜索的值和F2中的公式。哦,我確保列表按升序排序。 – Tempyr

+0

如果您將ColumnA中的某個值複製到E2中,您會得到「#N/A」嗎? (假設你正在搜索三位數字 - 但是可以調整) – pnuts

+0

如果我將A列中的一個值拉到E2中,它可以工作,但該值不會總是與列A完全相同,因爲每個區域都有一個zip範圍碼。它使用郵政編碼的前3位數字。 – Tempyr

0

是否刪除了上限並創建了兩列列表? 如果沒有,那麼就可以使用= LOOKUP(2,A10:A101,C10:D101)

Zip Zone 
004 008 
005 008 
006 045 
007 045 
009 045 
+0

我嘗試刪除上限,並使列表只有2列。數據現在來自A10:C101,所以我使用了下面的公式。 '= LOOKUP(2,A10:A101,B10:B101)' – Tempyr