分享

EXCEL系列04

 慧清书斋 2019-03-12

今天我为大家讲解下如何利用函数、数据有效性及条件格式实现数据高效输入。

一、效果展示

如上图,可以看到,当我们在姓名列输入姓“黄”或者“杨”的时候,会出现含有“黄”或“杨”的姓名下拉列表,选择姓名后,序号列会自动生成序号及单元格边框,日期列也会自动生成日期及单元格边框,部门列根据下拉菜单确定后,岗位列会根据部门列生成二级下拉菜单,如当我们选择“工程部”时,岗位列会将工程部的所有岗位列表作为下拉菜单显示。当工资列输入值超过50000时会出现警告。

二、功能讲解

1、条件格式设置。

如上图所示,设置区域内单元格为非空值时,有外边框。

2、函数公式。

如上图,序号列公式“=IF(B2<>'',ROW(A1),'')”,假设姓名列B2不为空,则返回单元格A1对应的行值。日期列公式“=IF(B2<>'',TODAY(),''),”假设姓名列B2不为空,则返回日期TODAY。

3、姓名列数据有效性设置

如上图,对表2中需要用到的姓名列表进行升序或降序,这样会让相似内容连续排列。

如上图,对所选区域对数据有效性进行设置,选择序列,数据来源引用函数公式“=OFFSET(Sheet2!$A$1,MATCH(B2&'*',Sheet2!$A$2:$A$13,0),0,COUNTIF(Sheet2!$A$2:$A$13,B2&'*'),1)”,这里主要使用OFFSET函数返回包含关键字的数据。OFFSET函数的作用是根据指定的参照单元格,通过给定的偏移量返回新的引用数据。OFFSET(参照系,行偏移量,列偏移量,新引用区域的行数,新引用区域的列数)。

第一参数引用了表2中的A1单元格作为参照系。

第二参数用MATCH(B2&'*',Sheet2!$A$2:$A$13,0)确定行偏移量。MATCH为查找函数,根据查找值B2&”*”(*号是通配符,代表任意不确定字符)在Sheet2!$A$2:$A$13区域中查找,查找方式为0(精确查找)。当B2单元格输入关键字时,该函数将查找出包含关键字的数据在Sheet2!$A$2:$A$13区域中第一次出现的位置。

第三参数为0,因为我们的数据源只有A列一列,所以列偏移量为0,表示不偏移。简单来说,就是offset函数以Sheet2!$A$2单元格为参照,不横向偏移,只向下偏移。

第四参数COUNTIF(Sheet2!$A$2:$A$13,B2&'*')统计A2-A13区域内满足条件B2&'*',也就是包含B2单元格内的关键词的单元格出现的次数,也就是最终在数据验证下拉菜单中一共会出现几行。

第五参数为新引用区域的列数,因为只有A列一列,所以为1。

如之前动态图所示:offset函数以A1为参照系向下查找,通过match函数在A2-A13中找到包含B2关键字“黄”的数据第一次出现的位置是从表2中单元格A2开始的第6行,再通过countif函数找到总共有2行,最终在下拉菜单中返回这2行1列的数据。

如上图,在“出错警告”选卡中取消勾选,这样输入这样在我们输入时就不会跳出错误提醒。

完成上述设置,姓名列的数据就会实现带搜索功能的下拉菜单。

4、部门及岗位列数据有效性设置

如上图对表2中C列数据组进行命名,命名为“部门”,对E列数据组作为二级菜单进行命名。

如上图,将表1中部门列的数据有效性设置数据来源为我们之前建立的数据组“=部门”,岗位列的数据有效性设置为“=INDIRECT($C2)”,这样岗位列的数据便成为部门列数据的二级下拉菜单。

5、工资列数据有效性设置

如上图,将工资列数据有效性设置为“0-50000”,当超出该范围后,会出现警告错误。

总结:利用函数公式及数据有效性不仅可以实现数据的快速录入,还可以提高数据的准确性,我今天教大家的只是一些简单的设置,希望可以起到抛砖引玉的作用,千里之行始于足下!今天就为大家讲解到这里,希望能与大家一起学习成长!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多