excel - 如何仅比较不同Excel工作表(列)中的部分字符串

标签 excel excel-2007

如何比较下面指定的两个工作表列,但是工作表 1 中位置(列)中的字符串仅部分与工作表 2 中的位置(列)匹配?
1.只有 sheet1 中位置(列)的第一个两个字符和 sheet2 中位置(列)的第一个两个字符应该匹配。
2.只有 sheet1 中 location(column) 的任意两个字符和 sheet2 中 location(column) 的任意两个字符应该匹配。请帮忙

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,如果您可以接受预定的最大字符串长度,则有一个解决方案。这不是一个很好的解决方案!您可以使用嵌套的 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 值。

关于excel - 如何仅比较不同Excel工作表(列)中的部分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12386784/

相关文章:

excel - 从命令行创建 Excel 文件

vba - 用于检测自动过滤器的 if 语句,即使没有过滤任何内容

excel - VBA 宏 - 为生成的数据指定新工作表

mysql - Excel 日期值检索为 DD/MM/YY,如何将其格式化为 YYYY-MM-DD?

c# - 如何在 Excel SpreadSheet 中填充数据,然后如何使用 C# 从该数据绘制图表

excel - 用于更改过滤器的宏按钮

vba - 在VBE中查找未知方法或关键字

excel - 是否有一个地方可以存储所有 Microsoft Office 产品都可以 Access 的 VBA 代码?

excel - 带下拉列表的 VBA 自定义 Excel 函数

c# - 如何使用 EPPlus 在同一张图表上绘制 2 种图表