[ 扬帆导读 ] 人事档案数据库模拟:
昨天的文章中已经介绍利用一对多万能查询建立了一个简单的查询系统,如下所示:
有朋友就提出问题了,希望在原有系统上增加如下两个需求:
输入的数据如果不全,进行模糊查询如果无数据,应有提示“查不到数据”
今天在昨天的基础上对该系统进行升级
第1,2步骤不变,对后面步骤进行更新!
1设计UI界面
当前工作表名为“模拟”,在该表中设计UI界面,调整单元格颜色、边框、字体、合并居中等等。
2设置下拉菜单
选中G3单元格,在菜单栏【数据】-【数据验证】
在允许中选择序列,来源框选A2:D2
这样G3单元格就可以下拉选择条件
3更新匹配公式
在菜单栏公式-名称管理器
建立一个名称为:数据,引用位置为:
=OFFSET(模拟!$A$3,0,MATCH(模拟!$G$3,模拟!$A$2:$D$2,0)-1,COUNTA(模拟!$A:$A)+100,1)
(昨天是从A2位置开始,今天更新为A3位置开始,要不然模糊查找可能将字段标题匹配查找出来)
原F6单元格公式:
=INDEX(A:A,SMALL(IF(数据=$H$3,ROW(数据),2^10),ROW(A1)))&""
现将F6单元格公式更新为:
=IF($H$3="","",INDEX(A:A,SMALL(IF(ISNUMBER(FIND($H$3,数据)),ROW(数据),2^16),ROW(A1)))&"")
(对H3单元格进行了一个判定,如果为空,则输出空值,要不然会出现H3单元格不输入数据,会输出所有数据库中的数据结果。)
同样是数组公式,需要按CTRL+SHIFT+ENTER
向右填充,向下填充单元格
这样就可以对数据进行模糊查询,同样对于公式这里不进行解释,不懂哪一步的可以留言!
4匹配不到处理
插入一个文本框,并将其形状填充、形状轮廓均设置为无,同时在公式框中输入绑定F3单元格的值
将F3单元格的字体颜色设置成填充颜色一样的,并输入公式:
=IF(H3="","",IF(F6="","查无此人",""))
这样一个升级版的查询系统就制作完成了
整体效果如下所示: