2

How to compare two sheet columns specied below, however only part of string in location(column)in sheet1 will matches only part of string with the Location(column) in sheet2?
1.only 1st two characters of location(column) in sheet1 and 1st two characters of location(column) in sheet2 should match.
2.only any two characters of location(column) in sheet1 and any two characters of location(column) in sheet2 should match. Please help

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  
4

1 回答 1

-1

对于问题 1,您可以使用MID函数从每个单元格值中提取前两个字符并进行比较。

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

=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
)
)
)
)
)
)
)
)
)
)
)

感谢 James Jenkins 的这次更新

似乎旧版本的 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)
)))))))

然后,如果您需要更多字符串长度,则可以正确复制该列。请注意,当相邻列为空白时,最里面的“if”应该强制一个 TRUE 或 FALSE 值。

于 2012-09-12T11:17:50.440 回答