2012-08-15 113 views
0

我有一個產品列表excel表單和類別列表excel表單。在Excel中高級查找和替換

在類別excel中有cat_id和cat_name one對應於另一個。

我需要對每個cat_id進行查找和替換,並用cat_name替換產品列表中的數字。

我如何在Excel中做到這一點?

+0

您可以在產品列表中創建一個新列並使用VLOOKUP()從類別表中找到相應的cat_name。 – 2012-08-15 21:07:57

+0

您必須使用'.Find'請參閱此鏈接http://stackoverflow.com/questions/11972850/item-not-found-in-find-vba – 2012-08-15 21:10:39

回答

0

我不認爲你可以用Excel公式一步完成你正在尋找的東西。但是,您可以使用以下方法。

我們假設產品列表被稱爲ProductList,另一個稱爲CategoryList。另外,假設工作表ProductList上的cat_id項目在列A中,並且工作表CategoryList上的cat_idcat_name列在列AB中。

首先,您必須確保表CategoryList上的項目按照cat_id的升序排序。然後,在上表ProductList空欄的第一行的單元(讓我們說是細胞Q1),輸入以下公式:

=LOOKUP($A1,CategoryList!A:A,CategoryList!B:B) 

然後選擇單元格Q1並拖動右下角一路直到您的工作表中的數據結束。在此之後,Q列將包含所需的值。

要真正取代了與在QA原始值,你需要複製整列Q做「選擇性粘貼」成列A,在其中選擇單選按鈕「值」。之後,您可以刪除臨時列Q

如果你想成爲關於cat_id項目沒有出現在片CategoryList健壯,您可以添加一個檢查,這使得公式如下(一行):

=IF($A1<>LOOKUP($A1,CategoryList!A:A,CategoryList!A:A), 
    "Not Found",LOOKUP($A1,CategoryList!A:A,CategoryList!B:B)) 
+0

我正在嘗試此答案。 – logan 2012-08-17 01:51:02

+0

我得到它在一張紙上工作,當我拖動黑色方塊,雖然它改變了所有的數字..我不得不定義單元格的長度,但它讓它工作..即時通訊使用開放式辦公室 = LOOKUP(A1,B1:B210,C1:C210) ,當我拖動它變成方形成 = LOOKUP(A2,B2:B211,C2:C2110),它提出了一個問題..我只需要a1來改變而不是其他的。 我怎樣才能拖動廣場,只有一個列增量? – logan 2012-08-17 02:31:14

+0

如果你希望你的行號在拖動黑色方塊的時候保持不變,那麼你應該在你希望保持不變的數字之前加一個$符號,如= LOOKUP(A1,B $ 1:B $ 210,C $ 1:C $ 210)。 – 2012-08-17 05:56:56