我甚至不确定我想要发生的事情是否可能发生,但它是这样的:所以我在A栏有一个列表,在B栏有另一个列表。然后列B有苹果派,香蕉派,鸡蛋pies...on列C,我想让excel告诉我,苹果和苹果派匹配,香蕉和香蕉派匹配,等等。如果它们根本不匹配,请告诉我。我希望这样,即使我希望A列中的两个值与B列中的值相匹配,例如,除了苹果之外,A列中也可能有梨,但我仍然希望梨返回与苹果派匹配的值。我希望这不会太让人困惑。提前感谢!
发布于 2014-03-31 06:06:28
好的,我会给你多个答案,因为我不确定问题是什么。如果加里的学生的评论是正确的答案,而你只想匹配内容,那么你所需要做的就是把它放在C2中,并复制到每一行:
=IF(ISERROR(FIND(A2,B2)),"no match","match")但是,如果你关于1-2=不好,3-8=好,9-10=非常好的评论是你真正想要的,那么你需要做的就是把它放在C2中,并复制到每一行:
=IF(B2=CHOOSE(A2,"bad","bad","good","good","good","good","good","good","very good","very good"),"match","no match")这样做是将A列中的数字更改为等效的字符串,然后将该字符串与B列进行匹配。
但是,如果你正在寻找一种对两种情况都有效的解决方案,那么你就需要一本字典。如果您使用来自B的所有可能的值作为键,使用来自A的每个匹配值作为值,那么您可以调用MATCH两次并查看该值是否属于该键。
因此,例如,派示例的字典可能如下所示(请注意,派可以有多个成分):
E F G H I J K
1 Key Value 1 Value 2 Value 3 Value 4 Value 5 Value 6
2 lemon pie lemon egg
3 apple pie apple pear
4 pear pie pear
5 egg pie egg 好的和坏的例子的字典应该是这样的:
E F G H I J K
1 Key Value 1 Value 2 Value 3 Value 4 Value 5 Value 6
2 bad 1 2
3 good 3 4 5 6 7 8
4 very good 9 10然后,您可以将此代码粘贴到C2中,并将其复制到每一行:
=IF(ISNA(MATCH(A2,OFFSET(F$1:O$1,MATCH(B2,E$2:E$20,0),0),0)),"no match","match")这样做的目的是在字典中查找列B中的值,并找出它在哪一行。然后,它将F$1:O$1偏移那么多行,以便外部匹配的范围是增量的正确列表。然后,它通过偏移的内部匹配产生的配料列表来匹配A列中的值。
也许一些截图会有所帮助:


https://stackoverflow.com/questions/22277983
复制相似问题