如何比较只能在不同的Excel工作表的字符串的一部分(列)

问题描述 投票:2回答:1

如何比较之下specied两个薄片列,在Sheet1中的位置(列)的字符串但只有部分将只匹配字符串在Sheet2中的位置(列)的一部分? Sheet 2中在Sheet位置(列)和位置(列)的第一两个字符的1.only第一两个字符应该匹配。 2.仅在Sheet Sheet 2中位置的任何两个字符(列)和位置(列)中的任意两个字符应该匹配。请帮忙

Location(sheet1)    Location(sheet2)     
____________________________________________
india- north        USxcs  
India-west          Indiaasd  
India- east         Indiaavvds  
India- south        Africassdcasv  
US- north           Africavasvdsa  
us-west             UKsacvavsdv  
uk- east            Indiacascsa  
uk- south           UScssca  
Africa-middle       Indiacsasca  
Africa-south        Africaccc  
Africa-east         UKcac  
excel excel-2007
1个回答
0
投票

问题1,您可以使用MID功能的前两个字符从每个单元格的值提取并进行比较。

问题2有如果你能接受串的预定的最大长度的溶液。这不是一个很好的解决方案! if语句,基本上“展开循环”您可以使用嵌套。本实施例比较对A1的长度超过12个字符的单元格A1和B1:

=IF(IFERROR(FIND(MID(A1,1,2),B1,1),0)>0,TRUE,
IF(IFERROR(FIND(MID(A1,2,2),B1,1),0)>0,TRUE,
IF(IFERROR(FIND(MID(A1,3,2),B1,1),0)>0,TRUE,
IF(IFERROR(FIND(MID(A1,4,2),B1,1),0)>0,TRUE,
IF(IFERROR(FIND(MID(A1,5,2),B1,1),0)>0,TRUE,
IF(IFERROR(FIND(MID(A1,6,2),B1,1),0)>0,TRUE,
IF(IFERROR(FIND(MID(A1,7,2),B1,1),0)>0,TRUE,
IF(IFERROR(FIND(MID(A1,8,2),B1,1),0)>0,TRUE,
IF(IFERROR(FIND(MID(A1,9,2),B1,1),0)>0,TRUE,
IF(IFERROR(FIND(MID(A1,10,2),B1,1),0)>0,TRUE,
IF(IFERROR(FIND(MID(A1,11,2),B1,1),0)>0,TRUE,
FALSE
)
)
)
)
)
)
)
)
)
)
)

感谢詹姆斯·詹金斯此更新

这似乎更旧版本的Excel中有7个嵌套函数的限制。您可以解决这个(如果你不介意让你的电子表格更难看)在相邻单元格的公式串联起来。事实上,如果你想获得真正的创意,你可以使用列索引来计算偏移的搜索,是这样的:

=IF(IFERROR(FIND(MID($A1,(COLUMN(C1) - 3) * 6 + 1, 2), $B1, 1),0)>0,TRUE,
...repeat with +2, +3, +4, +5
if(D2 = FALSE, FALSE, TRUE)
)))))))

然后,如果你需要更多的字符串长度列可以被复制的权利。注意最内“如果”应强制TRUE或FALSE值时,相邻的列是空白的。

© www.soinside.com 2019 - 2024. All rights reserved.