2017-01-21 9 views
0

私は食材は以下のようにIDがマッピングされている製品は、成分と共にマッピングされているテーブルと別のテーブルを持っていることは:excelの同じ/個別のセルでカンマ区切りの値をカンマ区切りのidsに置き換えるにはどうすればよいですか?

以下

enter image description here

私は必要なものである:ここでは

enter image description here

私は "データテーブル"のコンマ区切りの成分値を "マスターテーブル"のIDで置き換えたいと思います。

このタスクを達成するためにReplace Functionをチェックアウトしましたが、何とかそれを行うことはできませんでした。 「データテーブル」で

=ここで(C2,1、LEN(C2)..

をREPLACE C2すなわち成分列が簡単にそれを交換するために単一の値を持っていない、彼らはのために組み合わせたものがあります置き換える同じプログラムで処理できますが、私は、Excelの方法でそれをしたいが、文は正しい解決策ではありません。

誰かがこの問題の解決策を私に導くことができる場合、それは非常に感謝される。

おかげで事前に

+0

は非常に正直に言うと、私は、このようなロジックを考慮し、Excelに新しいです、私はいくつかのJavaScriptとC#のプログラムによってこれを行うことができますが、私は、Excelを通してそれにしたいです。私はいくつかの追加が必要な文を置き換えてみました。 – KeVee

+0

私はVBAを使って解決するのが最善だと思うので、[excel-vba]タグはおそらく適切です(ただし、[excel-formula]タグを見ている人はかなり賢い人がいます数式の解決策です!)、少なくともあなたが解決策を開始しようとしたことを示すならば、質問はいつもより受け入れられます。 – YowE3K

+0

何を試しましたか?どこに問題がありましたか?数式の場合、複数の入れ子レベルを持つか、ヘルパー列を使用してデータを分割する必要があります。 VBAは最も簡単です。 [ここで私はどのような話題を聞くことができますか?](http://stackoverflow.com/help/on-topic)、[良い質問をする方法](http:// stackoverflow。 com/help/how-to-ask)、[最小限で完全で検証可能なサンプルを作成する方法](http://stackoverflow.com/help/mcve) –

答えて

0

T彼は直接的な解決策でもVBA解決策でもありませんが、手作業と2つの簡単なフォーミュラを使用することが可能です。

私はData>Text to Columns,VLOOKUPとの組み合わせを使用して結果テーブルを作成しました。

手順1:Text To Columnを使用してデータを区切ります。

ステップ2:各成分の機能を追加します。VLOOKUP

ステップ3. Concatenate機能を使用して、VLOOKUPSをすべてまとめてください。

あなたは、Googleのシートにあなたの例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で:

  • 書き込みD1SUBSTITUTE(E2,F2,G2)E2、データテーブル中の成分の列の最初のエントリに対応する、F2対応あなたのマスターテーブル内の最初の成分に、そしてG2はマスターテーブルに関連した最初の成分IDに対応)
  • 書き込みSUBSTITUTE
  • A2への書き込みに B2に( F3は、あなたのマスターテーブル内の2番目の成分を参照する場合)
  • 書き込み=ADDRESS(ROW(G3),COLUMN(G3),4)G3は、あなたのマスター表の2番目の成分に対応するIDを参照する場合)
  • 書き込み=CONCATENATE(A2,"(",D1,",",B2,",",C2,")")
  • D2にドラッグA2 D2を必要な限り下に下ろす

これで、必要な数式が得られました。最後のエントリをコピーして貼り付け、Paste Valuesを選択して=を手前に設定します。

enter image description here

関連する問題