2016-01-04 32 views
0

我有一個Excel文件,其中包含兩張工作表,一個包含特定用戶名列表(在列A中),另一個包含用戶名列表(列A)以及(B列)。如何在Excel中查找和匹配數據

我需要一個公式來匹配這兩個工作表之間的用戶名,然後在第一個工作表的用戶名旁邊有相關的城市,例如它的B列。

這裏是我試圖在第二片的B列,但沒有成功:

=VLOOKUP(A1&"", Sheet1!$A$1:$B$1000, 2, FALSE) 

我也替換爲A1 + 0,也是第二個,第一個參數沒有任何跡象$如果它有幫助。


這是我的原配方的整個:

=IF(ISERROR(VLOOKUP(B1&"", Sheet1!$M$1:$N$1170, 13, FALSE)), VLOOKUP(B1&"", Sheet1!$N$1:$V$1170, 22, FALSE), VLOOKUP(B1&"", Sheet1!$M$1:$N$1170, 13, FALSE)) 

它假設採取從Sheet 2中的柱B(高於其僅具有用戶名的特定列表中描述的第一個)的用戶名和在Sheet1的第N列(第二張描述表內有用戶名和城市)中搜索匹配,然後返回放置在列M上的城市的值,但是如果它有#N/A錯誤(很可能),返回V列,而不是在M列中沒有城市名稱的行上保存城市名稱。

回答

0

您可以使用VLOOKUP在A列表中查找B中的項目。如果找不到匹配項,VLOOKUP將返回#N/A。你也可以將它與IF語句結合起來,這樣如果它不存在,它會給你一些信息。例如,在C1輸入

= IF(ISNA(VLOOKUP(B1,$ A $ 1:$ A $ 1957年,1,FALSE)), 「缺失」, 「!匹配的」)

和複製/粘貼這個公式一直沿着你的「B」列的數字來檢查。

這將通過在A1:A1957範圍內查找B1開始。如果它找不到匹配,它將返回NA。然後我們將它與IF語句結合起來,以便IF VLOOKUP導致NA,我們給出「MISSING」消息。如果它不是NA,那麼這意味着我們找到了匹配,所以我們給出了「匹配!」的消息。 顯然,您可以將缺失/匹配的郵件更改爲任何您喜歡的郵件。 best online MBA

+0

感謝您的回覆。其實我已經將整個公式的一部分切入了這裏,主要更復雜一些,裏面有一個IF。我會用這些細節更新這個問題。 – 4L3X

0

有幾點意見: 1)爲什麼:B1&"",?嘗試:B1, 2)如果查找表只有2列,則查找列13和22都不可能。所以這些值應該是2,或者您需要將列範圍擴大到您希望從中檢索數據的數量。 您需要計算從範圍中第一個查找列開始的列的數量,因此...如果要從列M到列N檢索的數據在列N中,那麼這應該是2.對於N到V,這應該是9. TRY:

= IF(ISERROR(VLOOKUP(B1 & 「」,工作表Sheet $ M $ 1:!$ N $ 1170 2,FALSE)),VLOOKUP(B1 & 「」,工作表Sheet! $ N $ 1:$ V $ 1170 9,FALSE),VLOOKUP(B1 & 「」, Sheet 1中$ M $ 1:!$ N $ 1170 2,FALSE))

+0

謝謝。 1)有人告訴我這是類型轉換所需要的,所以如果你說,似乎並不需要。 2)我的問題的第一部分是我在第二部分擴展部分提到的整個事情的一個簡單例子。所以這些數字是正確的。 – 4L3X

0

在原來的公式(從第二部分),你的範圍從錯誤的列開始:應該是sta rt與具有匹配lookupvalue的列。我假設A列從A列,它的22列V和13列N.正確的公式應該然後就:

=IF(ISERROR(VLOOKUP(B1&"", Sheet1!$A$1:$N$1170, 13, FALSE)), VLOOKUP(B1&"", Sheet1!$A$1:$V$1170, 22, FALSE), VLOOKUP(B1&"", Sheet1!$A$1:$N$1170, 13, FALSE)) 

例如,如果你有例如B,公式中的匹配用戶名應該是:

=IF(ISERROR(VLOOKUP(B1&"", Sheet1!$B$1:$N$1170, 12, FALSE)), VLOOKUP(B1&"", Sheet1!$B$1:$V$1170, 21, FALSE), VLOOKUP(B1&"", Sheet1!$B$1:$N$1170, 12, FALSE))