Excel:根据条件将数据从一个表导入到另一个表


1

首先,我想向大家问好,因为这是我在这里的第一篇文章。

我想寻求有关将数据从一个表导入到另一个表的excel公式的帮助。

我有两个表:

**Table 01**  
A      B  
01  
01.t  
02.th  
03.fth  

**Table 02**  
A    B  
t    terrace  
h    handed  
f    frosted  

在表01的A列中,我想像下面的示例一样放置表02的B列中的信息:

A        B  
01  
01.t     terrace  
02.th    terrace, handed  
03.fth   frosted, terrace, handed  

我可以想象该公式将包含If ... Then和Vlookup,但是我自己也无法确定。先感谢您。

更新: 我在Excel 2013中工作。


1
它将要求TEXTJOIN()在Office 365 Excel中可用。如果您没有该文件,则需要使用vba。
斯科特·克莱纳

如上所述,Excel 2013的唯一方法是vba。您将需要遍历每个字符,并使用Application.Match或Find查找表2中的字母并连接返回值。
斯科特·克莱纳

1
您是否需要所有数据都在B列中?如果您的第一个比赛(terrace)有B ,然后C有handed等等,该怎么办?
BruceWayne

@BruceWayne我需要在一个单元格中用逗号分隔它。

欢迎来到该网站。有多少个要查询的不同值(例如f,t和h)?结果将具有的最大此类值数量是多少?
Bandersnatch

Answers:


1

该公式有点麻烦,但是此表使用底部显示的公式显示了结果:

在此处输入图片说明

这是B1中的整个公式:

=IF(LEN(A1)>3,VLOOKUP(MID(A1,4,1),D$1:E$6,2,FALSE),"")&IF(LEN(A1)>4,", "&VLOOKUP(MID(A1,5,1),D$1:E$6,2,FALSE),"")&IF(LEN(A1)>5,", "&VLOOKUP(MID(A1,6,1),D$1:E$6,2,FALSE),"")&IF(LEN(A1)>6,", "&VLOOKUP(MID(A1,7,1),D$1:E$6,2,FALSE),"")&IF(LEN(A1)>7,", "&VLOOKUP(MID(A1,8,1),D$1:E$6,2,FALSE),"")&IF(LEN(A1)>8,", "&VLOOKUP(MID(A1,9,1),D$1:E$6,2,FALSE),"")

再次将其分解以显示该模式:

=IF(LEN(A1)>3,     VLOOKUP(MID(A1,4,1),D$1:E$6,2,FALSE),"")
&IF(LEN(A1)>4,", "&VLOOKUP(MID(A1,5,1),D$1:E$6,2,FALSE),"")
&IF(LEN(A1)>5,", "&VLOOKUP(MID(A1,6,1),D$1:E$6,2,FALSE),"")
&IF(LEN(A1)>6,", "&VLOOKUP(MID(A1,7,1),D$1:E$6,2,FALSE),"")
&IF(LEN(A1)>7,", "&VLOOKUP(MID(A1,8,1),D$1:E$6,2,FALSE),"")
&IF(LEN(A1)>8,", "&VLOOKUP(MID(A1,9,1),D$1:E$6,2,FALSE),"")

假设A列中的单元格在句点之后可能具有所有六个字母。如果这不可能,则可以删除公式的一个或多个部分。


感谢您的解决方案和澄清。它运作完美。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.