使用索引匹配和通配符来查找部分匹配

时间:2018-09-05 17:06:32

标签: excel indexing match partial

我以前看过这个问题,但是我不明白答案。我希望有人可以通过索引匹配公式来帮助我。部分匹配。

我使用这个公式:

=(IFERROR(INDEX($A200$:$a$250,MATCH($A1,$B$200:$B$250,0)),""))

找到精确匹配,效果很好。 例如:

我想查找数据集中的一些数据,并将其放在预制纸上的名称旁边。

现在我的问题是: 在另一张工作表中,我也想这样做,但是名称旁边有一个数字,如下所示: “约翰·史密斯12345”始终有5个数字。

数字在同一个单元格中,我可以使其与另一行名称一起使用,但随后我也必须对其进行维护。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您可以使用通配符:

class User{
   var name: String = "initial name"
}
class UserHolder{
   companion object{
      var INSTANCE: User
   }
}
class ClassA{
   fun doStuff(){
       val classB = ClassB(UserHolder.INSTANCE)
       classB.changeUser()
       val newName = UserHolder.INSTANCE.name // is it "initial name" or "My new name"?
   }
}
class ClassB(private val user: User){
   fun changeUser(){
       user.name = "My new name"
    }
}

以上内容将与 =(IFERROR(INDEX($A$200:$a$250,MATCH($A1&" ?????",$B$200:$B$250,0)),"")) 中的所有内容匹配,后跟一个空格,后跟任意5个字符

答案 1 :(得分:0)

这对我有用。使用CTRL SHIFT ENTER设置{}数组公式:

首先,我们要搜索的值是C1或Z SMITH。然后我们从A1:A4获得一个值数组。然后我们得到搜索词的长度,在这种情况下为7。然后,对于数组内部的每个值,我们应用 左(值,lengthOfSearchTerm)。然后,我们将搜索词与数组中的每个值进行比较,返回我们第一个匹配项的索引。

{=MATCH(C1,LEFT(A1:A4,LEN(C1)),0)}

enter image description here