2010-01-16 129 views
3

我有一個Microsoft Excel工作表,其中有數百行項目。此項目工作表中的類別列填充了類別名稱,因爲它是項目與類別之間的多對一關係,所以它們是重複的。我想用第二個工作表中的ID替換這些類別字符串,該工作表具有與ID配對的類別名稱的唯一列表。所以,兩者之間的共同聯繫就是類別名稱。用Excel中的ID替換字符串

如何在Microsoft Excel中執行此操作?它是否涉及製作vba宏?

+0

如何將它轉換成合適的關係型數據庫? – kennytm 2010-01-16 06:15:19

+0

我的妻子正在爲我創建數據以加載到sqlite數據庫。她不是程序員。 :/ – getWeberForStackExchange 2010-01-16 06:33:03

+0

感謝大家對VLOOKUP/LOOKUP調用的建議。 – getWeberForStackExchange 2010-01-16 06:47:19

回答

4

首先,正如評論所暗示的,我認爲一個好主意可以移動到數據庫,即使MS Access也足夠了。讓我們說你不能這麼做,所以你需要這樣做的商業規則在excel中很好。

好吧,讓我們開始吧。

  • 從片材與所述項目數據, 複製含有 類別strins整列,並粘貼到 一個新的工作表。
  • 使用移除重複命令到 確保您在此新工作表中只有唯一的 值。
  • 現在,向右(必須是正確的,我們將在VLOOKUP使用這個版本)這個新列的, 創建一個包含1..N, 模擬自動編號列。
  • 現在在原始工作表上,將 新列插入 當前類別列的右側。使用VLOOKUP 從 Autonumber表中檢索值。這樣 =VLOOKUP(A1,Sheet1!$D$1:$E$6,2)

你已經檢查後,現在您的所有標識看起來正確的東西,你可以,如果你願意的話從項目表中刪除類別列。

我仍然會建議更換使用數據庫來實現這個X-)

0

您需要其中一個LOOKUP功能。這裏是an article on this topic from Microsoft。和this is another one更多的細節和例子。

請注意,使用LOOKUP,您將能夠創建一個新的列,並在類別名稱旁邊添加ID。如果這是一次性操作,那麼您可以用新的ID列替換類別列。

3

使用VLOOKUP

https://xe8.xanga.com/cf0f240006531262266720/w209023740.png

(你必須排序類別名稱爲它工作。)

+2

或使用INDEX(id_list,MATCH(name,name_list,0))或使用VLOOKUP(name,names_and_ids,2,__ FALSE__),它不要求對列表進行排序。 – 2010-01-16 09:59:35