WPS表格制作库存查询器实例教程
时间:2022-04-25 07:28:18
上次我说到了如何制作有自动统计功能的月库存表,今天我来为这张表做个简单的查询器,当然一定要符合您的需要,具体步骤如下。
我们所需要查询的月库存表如下图,这些数据所在的工作表名称为“库存明细表”。
一、设计查询器样式。
为了查询方便,首先新建一个工作表,命名为“库存查询与打印”,然后根据自己的需要来设计一下查询器的表格样式。
二、查询条件所在单元格的设置
先来看看C2单元格的设置,为了避免输入错误的查询条件,我们用数据有效性来控制输入的内容,这样当输入的内容不符合要求的时候就会弹出提示对话框,提醒用户重新输入。设置数据有效性的另一个好处是可以直接从下拉列表中选择查询条件,以方便输入。设置方法如下:
选择C2单元格,在功能区中选择“数据→有效性→设置→序列”,单击一下“来源”下的文本框,选择“库存明细表”的C3:C28区域,这样就限制了C2单元格的输入内容。转到“出错警告”选项卡,设置输入错误后弹出对话框的标题和错误信息,例如这里将提示对话框的标题设置为“错误”,将错误信息设置为“未找到该产品!”,左侧的“样式”处保持默认的“停止”。最后别忘了单击“确定”完成设置。
三、查询结果所在的单元格的设置
然后我们就来一一设置“函数公式”,以便方便查找。 表格中的C2是我们输入查询内容的单元格,需要在此输入或选择“产品名称”。如果输入的查询内容存在于“库存明细表”的C列中,在各查询结果的单元格就可以得到你所需的结果。
我们先从表格的“图号”单元格F3说起,我该单元格中运用了VLOOKUP函数:
=VLOOKUP(C2,库存明细表!C3:D28,2,)
这个函数的作用是在区域的第一列查找某个值,如果找到就返回同一行中其他列的值。本例中在“库存明细表!C3:D28”区域中的第一列“产品名称”中查找C2单元格的值,并返回区域中第“2”列(图号)的对应行的内容。至于VLOOKUP函数的最后一个参数,可以写上一个“0”,也可以保留为空,但英文逗号不能省略。表示要VLOOKUP函数进行精确查找。有关VLOOKUP函数的介绍,可参考本站其他文章,例如《VLOOKUP不能返回正确结果的几个原因》
VLOOKUP函数只能向右查找,要向左方向查找怎么办呢?比如B3单元格的“产品编号”。这里我用到了公式:
=VLOOKUP(C2,IF({1,0},库存明细表!C3:C28,库存明细表!B3:B28),2,)
利用IF函数把“产品编号”列变换到“产品名称”列的右侧,再用VLOOKUP查找。这种向左方向的查找还可以用到这些公式:
=LOOKUP(C2,库存明细表!C3:C28,库存明细表!B3:B28)
或:
=INDEX(库存明细表!B3:B28,MATCH(C2,库存明细表!C3:C28,))
至于“序号”的查找结果D3单元格,可以用上面的公式,也可以直接用MATCH函数:
=MATCH(C2,库存明细表!C3:C28,)
我在表格B4、B5、D4、D5中运用了大家都很熟悉的SUMIF求和函数,用于条件判断的单元格区域,对满足条件的单元格求和。
四、查询器对重复项的处理
如果数据表中出现了重复的“产品名称”,比如“名称6”出现了2次,我们的查询器如何显示呢?
我在这里用到两个单元格在处理重复项,一是用F4单元格显示重复的次数,二是在F5单元格给出提示。先在表格的F4单元格返回所输入“产品名称”的出现次数,这里运用了ET中的常用函数COUNTIF,基本功能是计算区域中满足给定条件的单元格个数。
=COUNTIF(库存明细表!C3:C28,C2)
然后在表格F5中运用了IF函数:
=IF(F4>1,"有重名,请到库存明细表查看!","无")
意思是:当条件F4大于“1”的时候就显示有重名,以提醒用户。
最后根据需要把设置好的公式全部保护起来,这样一张完整的查询器表格就完成了