在 2 个工作表上匹配邮政编码。查找相应的数据并与邮政编码一起记录

在 2 个工作表上匹配邮政编码。查找相应的数据并与邮政编码一起记录

Excel 2013 电子表格中的两个选项卡。一个选项卡名为“房屋数据”,另一个选项卡名为“评级数据”。房屋数据选项卡中的 O 列是邮政编码列表,评级数据选项卡中的 G 列也包含邮政编码列表。评级数据选项卡上的 L 列包含评级列表。

我正在尝试创建一个匹配/查找/宏,以识别两个选项卡上的匹配邮政编码,然后在评级数据列 L 中查找相应的条目,然后在房屋数据选项卡上创建一个新的列 AG 以记录数据以及匹配的邮政编码。

房屋数据标签

评级数据标签

答案1

听起来好像你需要一个相对简单的查找,在这种情况下:

您可以通过以下几种方式进行查找:

  • VLOOKUP() 简单易学,但用途有限

  • INDEX(MATCH()) 更难学习,但更灵活

取决于您使用哪一个的偏好。

更简单的版本是 VLOOKUP,在这种情况下,您可以将此公式放入 Homes 表的 AG 列中:

=VLOOKUP(

一旦你到达这里,Excel 会通过告诉你下一步需要什么来提供(一点点帮助!) - 悬停文本会显示:

VLOOKUP(lookup_value , table_array , col_index_num , [range_lookup])

lookup_value 是 Homes 表上的邮政编码

table_array 是您要查找的位置,即评级表的 G 到 L 列 - VLOOKUP 的限制是您要查找的列(评级表上的邮政编码)必须位于您想要了解的列(评级表上的评级)的左侧,幸运的是,它已经位于左侧。它还必须是最左侧的列,这就是为什么我们选择 G 到 L 列,而不是 A 到 L 列,以便 G 列(邮政编码)位于我们要查看的左侧。

col_index_num 是您想要返回的第几列。因此 G = 1、H = 2、I = 3、J = 4、K = 5、L = 6。因此您想要 6,因为您想要的是 L 列中的内容。

range_lookup 是可选的,但实际上很重要。FALSE 表示它将进行精确匹配,而 TRUE(奇怪的是,这是默认设置)表示它将进行近似匹配。如果您的邮政编码是 1245,如果 1245 不存在,您不希望它找到 1240,所以您需要在这里使用 FALSE。

因此,如果您在单元格 AG2 中输入以下内容:

=VLOOKUP(O2 , 'Ratings Data'!G:L , 6 , FALSE)

这将恢复 Homes 选项卡上邮政编码的评级。如果找不到邮政编码,您将收到 NA 错误,您可以使用 VLOOKUP 周围的 IFNA() 或 IFERROR() 来处理该错误。您可能还想使用 $ 符号,这样如果您稍后将公式复制到其他地方,它仍然每次都会查看 G 到 L 列。

例如

=IFERROR(VLOOKUP(O2 , 'Ratings Data'!$G:$L , 6 , FALSE),"Not found")

INDEX(MATCH()) 的工作原理类似,技术人员往往更喜欢它,但我与之共事的大多数非技术人员发现它太难学了,他们更喜欢从 VLOOKUP 开始,对于大多数正常工作应用程序来说,它在 99% 的时间里都能很好地完成工作。如果您是技术人员之一,那么请在 Google 上搜索 INDEX MATCH,可能会有一些不错的解释 ;-)

相关内容