批量从Excel某一列中找到符合要求的值并提取其对应数据
本文介绍在Excel中,从某一列数据中找到与已知数据对应的字段,并提取这个字段对应数值的方法。
首先,来明确一下我们的需求。现在已知一个Excel数据,假设其中W
列包含了上海市全部社区的名称,而其后的Y
列则是这些社区对应的面积;随后,Z
列是另一批社区的名称,其中既有上海市的社区(也就是在W
列中的数据),也可能会有其他城市的社区(也就是不在W
列中)。我们希望,基于前面的W
列与Y
列,分别提取Z
列社区对应的面积,存放在AA
列里。如下图所示。
明确了需求,我们就可以通过Excel的公式来实现这一需求。需求的实现也是很简单的,我们只需要在AA
列中第一个数据行中,输入如下的公式即可。
=VLOOKUP(Z2,$W$2:$Y$53,3,FALSE)
其中,VLOOKUP
是Excel中的查询函数。为了方便给大家展示这一函数的含义,我们逐一介绍其参数。
首先,第一个参数Z2
就表示要求取面积的社区名称,也就是Z
列中对应的社区名称,如下图所示。
接下来,$W$2:$Y$53
表示我们要从哪里寻找社区的面积。前面提到了,我们需要从W
列和Y
列中分别找到对应的社区名称和社区面积,所以这就需要至少将这两列包括在内,同时行数也要保证包括在内,如下图所示。此外,在列号字母和行号数字前,一定要加$
,防止后面拖拽公式时出现错误。
随后,3
表示在用来【寻找社区面积】的那一堆数据里,社区面积排在第几列。前面提到,我们需要从W
列和Y
列中分别找到对应的社区名称和社区面积,也就是从$W$2:$Y$53
这个里面找;而其中,表示社区面积的那一列排在第3
列,如下图所示;所以这里就是3
。
接下来,FALSE
表示是否模糊匹配。因为我们这里需要严格按照W
列和Z
列的社区名称来匹配,只要社区名称一致的时候才可以确认匹配,所以这里我就选择FALSE
;如果希望模糊匹配的话,那就可以选择TRUE
。
接下来,在第一个单元格中输入上述公式,并按下回车,即可得到第一个社区的面积,如下图所示。
随后,将鼠标放在上图所示单元格右下角的绿色方块上,出现黑色十字形;此时双击鼠标,即可将公式自动拉伸到当前列的最后一行,如下图所示。
我们验证一下结果,其中就以个别结果为例来验证。首先,如下图所示,可以看到AA
列中,金谷园居委会
的面积,就是W
列中金谷园居委会
的面积。
其次,如下图所示,可以看到Z
列中有一个品欣雅苑居委会
,由于这个居委会在W
列中不存在,所以其对应的AA
列面积就是NA值。
如果不希望出现NA值,我们可以通过批量替换的方式,将Excel表格中的NA值替换为0
或者其他值。
至此,大功告成。
欢迎关注:疯狂学习GIS