Excel表格函数设计,在子表中查找符合条件的数据

听说自己是搞IT的,远方的亲戚纷纷问候,会不会修电脑,会不会做网页,哎,你今天给我做个数据库管理系统吧,找别人做个系统收费太高了,你给咱做个Excel表吧…
这是对自己后台开发的零了解啊,这些东西我都不会做,好吗?
哎,那你搞IT,整天都干啥呢,怎么啥都不会…还纷纷摊手…
WTF…

一般做管理系统的都拒绝了,偶尔收到一些Excel,自己还能勉强,嗯,维护下尊严…

表哥请求:根据总表中输入的表编号,以及施工部位,在编号所对应的子表中查找符合条件的(施工部位)的水泥,粉煤灰以及矿粉的罐号,并将其显示在总表中。

输入:
这里写图片描述
然后根据两个参数的限制,在总表中显示出以下表格所需要的信息,即每种产品的罐号:
这里写图片描述
即先根据参数1定位到对应的表,然后根据参数2定位到具体的某一行,然后输出该行中产品的罐号即可~

各个子表的名称:
这里写图片描述

要查找筛选出相关表的一些信息,百度到如下信息:

VLOOKUP函数是Excel中的一个纵向查找函数,它与 LOOKUP函数和 HLOOKUP函数属于一类函数,在工作中都有广泛应用。VLOOKUP是按列查找,最终返回该列所需查询列序所对应的值;与之对应的HLOOKUP是按行查找的。

这里写图片描述

因为每种类型的材料均有两张表,所以再结合IF函数,即可得出函数:

=IF(B2=1,VLOOKUP(B4,’1号站水泥’! L 4: T 306,9,0),VLOOKUP(B4,’2号站水泥’! M 4: U 419,9,0))

注意,参数1的坐标为B2,参数2的坐标为B4~

这里写图片描述

B4为要查找的目标
查找区域即:‘1号水泥站’!$L$4:$T$306
要查找的信息必须处在查找区域的第一列,即B4处在L列,L4:T306便是查找区域的左上到右下
查找区域,绝对引用,即$L$4:$T$306
9便是从L列开始为1,往后数到第9列,便是我们所要的数据(即材料的罐号),即查找到B4后,往后数9列便是我们所要的数据
0代表精确查找

切记:

Vlookup最容易出错的地方是查找区域的首列必须含有查找的内容。

   比方说一个表,a列是序号,b列是姓名,c列是身份证,你在d列输入其中的一个姓名,在e1得到其身份证的公式不能是=vlookup(d1,a:c,3,0),而应是=vlookup(d1,b:c,2,0).

即对于要查找的数据,查找范围必须从该数据所对应的列开始查找,从当前列开始往后设定查找范围

附上函数:

=IF(B2=1,VLOOKUP(B4,'1号站水泥'!$L$4:$T$306,9,0),VLOOKUP(B4,'2号站水泥'!$M$4:$U$419,9,0))
=IF(B2=1,VLOOKUP(B4,'1号粉煤灰'!$L$4:$T$277,9,0),VLOOKUP(B4,'2号粉煤灰'!$M$4:$U$381,9,0))
=IF(B2=1,VLOOKUP(B4,'1矿粉'!$M$4:$U$58,9,0),VLOOKUP(B4,'2矿粉粉'!$M$4:$U$135,9,0))

若表的序号过多,不适合用IF,还可以采用拼接字符串的方式,得出表名字,即:

=CONCATENATE(B2,"号站水泥") B2为输入的表的序号

猜你喜欢

转载自blog.csdn.net/gaoyz1/article/details/81275045