2017-01-21 437 views
0

我有哪裏成分映射用的ID這樣的下面,其中產品被映射與成分表和另一個表:如何更換逗號分隔值,以逗號在Excel相同/單個細胞分離IDS?

enter image description here

下面是我所需要的:

enter image description here

這裏我想用「主表」中的ID代替「數據表」中逗號分隔的成分值。

我檢查了替換功能來完成這項任務,但無法管理以某種方式做到這一點。

= REPLACE(C2,1,LEN(C2),..

在這裏,在「數據表」 C2即成分列沒有單一的值容易地更換它,但它們在組合可用於其中替代說法是不正確的解決方案雖然同樣可以通過編程方式處理,但我想這樣做在Excel方式。

這將是非常感激,如果有人能指導我解決這個問題。在

謝謝提前。

+0

要很誠實,我是新來的出類拔萃考慮這樣的邏輯,我可以通過一些JavaScript和C#程序做到這一點,但我通過Excel中想它。我試圖編寫替換語句,需要更多的補充。 – KeVee

+0

我的猜測是,它會** **最好通過VBA來解決這樣的[Excel的VBA]標籤可能是合適的(但也有一些相當聰明的人看着[Excel的公式]標籤誰很可能會拿出一個配方解決方案!),但如果您至少表明您已嘗試在解決方案上做出**啓動**,則總是會收到更好的問題。 – YowE3K

+0

你有什麼嘗試?你遇到了什麼問題?對於公式,您需要具有多個嵌套級別或使用幫助列分割數據。 VBA將是最簡單的。請閱讀幫助頁面的信息,以(http://stackoverflow.com/help/on-topic),[如何提出一個很好的問題(HTTP [我可以問哪些主題有關嗎?]://計算器。 COM /幫助/如何對問),以及[如何創建一個最小的,完整的,並且可驗證的示例](http://stackoverflow.com/help/mcve) –

回答

0

ŧ他不是一個直接的解決方案,也不是一個VBA解決方案,但通過手動操作和2個簡單的公式,這是可能的。

我使用了Data>Text to Columns,VLOOKUPConcatenate函數的組合來實現您的結果表。

步驟1 .:使用Text To Column的劃界您的數據。

第2步:地址VLOOKUP功能,用於每個成分。

第3步。使用Concatenate函數將所有VLOOKUPS放在一起。

可以使用在谷歌片的例子here找到我的解決方案:

0

我能想出的唯一事情是嵌套SUBSTITUTE功能像這樣的:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C1,D1,E1),D2,E2),D3,E3),D4,E4) 

這裏您主料是列D中的相應ID和列E中的相應ID(即表2中的主表)。

由於您可能有很多成分,您可以使用CONCATENATE來創建正確的公式。假設你有你的食譜中column E,您在column F成分和相應成分的ID在column G

  • 寫入SUBSTITUTE(E2,F2,G2)D1(其中E2,對應於數據表中的成分列中的第一個條目,F2對應在你的主表的第一要素,並G2對應於相關的第一要素ID在主表)
  • SUBSTITUTEA2
  • =ADDRESS(ROW(F3),COLUMN(F3),4)B2(其中F3引用您的主表你的第二個成分)
  • =ADDRESS(ROW(G3),COLUMN(G3),4)C2(其中G3引用相應的ID在你的主表中的第二成分)
  • =CONCATENATE(A2,"(",D1,",",B2,",",C2,")")D2
  • 將A2 :只要有必要D2下來

現在,您有必要的公式。複製,粘貼的最後一項,選擇Paste Values並設置在前面=

enter image description here