如何比较不同Excel表格(列)中的一部分string

如何比较下面指定的两个表列,但是只有sheet1中位置(列)中的string的一部分将与sheet2中的位置(列)只匹配部分string?
1.只能匹配sheet1中位置(列)的前两个字符和sheet2中位置(列)的前两个字符。
2.只有sheet1中任何两个位置(列)字符和sheet2中任何两个位置(列)字符都应该匹配。 请帮忙

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 

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

对于问题2,如果您可以接受预定的最大string长度,则有一个解决scheme。 这不是一个很好的解决scheme! 你可以使用嵌套的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 ) ) ) ) ) ) ) ) ) ) ) 

感谢詹姆斯jenkins这次更新

看来老版本的Excel有7个嵌套函数的限制。 您可以通过将相邻单元格中的公式链接在一起来解决此问题(如果您不介意使电子表格变得更加难看)。 实际上,如果您想获得真正的创意,可以使用列索引来计算search的偏移量,如下所示:

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

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