我有一个表格,其中Products与成分映射,另一个表格中的成分与ID映射如下:
以下是我的需求:
这里我想替换"数据表"中的逗号分隔成分值。来自" Master Table"。
的ID我检查了替换功能以完成此任务,但无法以某种方式设法完成。
= REPLACE(C2,1,LEN(C2),..
这里的C2,即"数据表"中的成分列。没有单一值可以轻松替换它们,它们可以组合使用,替换语句不是正确的解决方案,尽管可以通过编程方式处理,但我想以excel方式进行。
如果有人可以指导我解决这个问题,那将非常感激。
提前致谢。
答案 0 :(得分:0)
这不是直接的解决方案,也不是VBA解决方案,而是通过手动操作和2个简单的公式,这是可能的。
我使用了Data>Text to Columns
,VLOOKUP
和Concatenate
函数的组合来实现结果表。
第1步:使用Text To Column
分隔数据。
步骤2:为每种成分添加VLOOKUP
功能。
步骤3.使用Concatenate
功能将所有VLOOKUPS
组合在一起。
您可以在Google表格中使用示例here找到我的解决方案:
答案 1 :(得分:0)
我唯一能想到的就是嵌套的SUBSTITUTE
函数,如下所示:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C1,D1,E1),D2,E2),D3,E3),D4,E4)
此处您的成分位于D列,其各自的ID位于E列(即表2中的主表)。
由于您可能有许多成分,您可以使用CONCATENATE
来创建正确的公式。假设您的食谱位于column E
,column F
中的成分和column G
中的相应成分ID:
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
您现在拥有必要的公式。复制,粘贴最后一个条目,选择Paste Values
并在前面设置=
。