繁体   English   中英

如何在Excel中的相同/单个单元格中将逗号分隔的值替换为逗号分隔的ID?

[英]How to replace comma separated values to comma separated ids in the same/individual cell in excel?

我有一个表,其中“产品”与成分映射,另一个表中的“成分”与ID映射如下:

在此处输入图片说明

以下是我需要的:

在此处输入图片说明

在这里,我要用“主表”中的ID替换“数据表”中逗号分隔的成分值。

我签出了“替换功能”以完成此任务,但无法以某种方式完成。

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

这里的C2即“数据表”中的成分列没有单个值可以轻松替换,它们可以组合使用,尽管可以通过编程处理相同的问题,但替换语句不是正确的解决方案,但我想在excel中进行操作方式。

如果有人可以指导我解决这个问题,将不胜感激。

提前致谢。

这不是直接解决方案,也不是VBA解决方案,而是通过手动操作和2个简单公式即可实现的。

我使用Data>Text to ColumnsVLOOKUPConcatenate函数的组合来实现结果表。

第1步:使用Text To Column分隔数据。

第2步:为每种成分添加VLOOKUP函数。

步骤3.使用Concatenate函数将所有的VLOOKUPS放在一起。

您可以使用示例中找到我的解决方案在这里在谷歌表:

我唯一能想到的是这样的嵌套SUBSTITUTE函数:

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

在这里,您的成分在D列中,其相应的ID在E列中(即工作表2中的主表)。

由于您可能有很多成分,因此可以使用CONCATENATE创建正确的公式。 假设您的食谱在column E ,您的成分在column F ,而相应的成分ID在column G

  • SUBSTITUTE(E2,F2,G2)写入D1 (其中E2对应于数据表中“成分”列中的第一个条目, F2对应于您的主表中的第一个成分,而G2对应于中的相关第一个成分ID)主表)
  • SUBSTITUTE写入A2
  • =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然后在前面设置a =

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM