0.背景
一个excel导入操作,表1页面的字段2的值的变化,需要根据字段1的值的变化而变化。
先上效果图:
本文环境,office365、两个sheet页,分别命名为sheet1 、 sheet2。
最终公式的模板:=VLOOKUP(A2,Sheet2!$A$2:$C$12,3,TRUE)
1.步骤
首先在sheet1中是需要我们自动关联数据的,假设是C列数据需要根据A列的值进行自动显示对应关系。
我们先在sheet2页写下原本的对应关系,如下图所示:
编写完毕后,我们回到sheet1页。
我们在C2单元格编辑公式
=VLOOKUP(A2,)
第一个参数A2表示变化的源。
然后开始写第二个参数,表示要判断的数据范围。
Sheet2!A2:C12
表示Sheet2页从A2到C12范围,D列和E列不在我们判断的数据范围内,所以到C列就够了。
第三个参数,表示具体返回值从从哪列取值,我们要的编号都在sheet2页的C列,也就是第3列,所以第三个参数就填写3。
最后一个参数TRUE 或者FALSE,表示是否模糊搜索,TRUE表示模糊搜索,FALSE表示精确查找。
2.问题及改进
当我们操作完毕后,通过鼠标进行下拉选择,可以把整列数据都应用此公式。但是我们下拉过程中发现
=VLOOKUP(A2,Sheet2!A2:C12,3,TRUE)
=VLOOKUP(A2,Sheet2!A3:C13,3,TRUE)
=VLOOKUP(A2,Sheet2!A4:C14,3,TRUE)
=VLOOKUP(A2,Sheet2!A5:C15,3,TRUE)
=VLOOKUP(A2,Sheet2!A6:C16,3,TRUE)
要筛选的单元格范围改变了,导致后面的数据都变了,我们要求不能让要筛选的数据变化。
所以加上$ 符号。
=VLOOKUP(A2,Sheet2!$A$2:$C$12,3,TRUE)