253 WPS新函数案例:指定工号快速筛选
优秀创作者
253 WPS新函数案例:指定工号快速筛选
来自一位粉丝投稿:某工厂的员工用餐明细在表1,现在需要在表2录入员工的工号,实现在表3自动带出表2录入指定工号的员工用餐明细表。
为了截图方便,把三张表截图到一个工作页面了,效果如下图图1所示:
图1
需求分析
初步看到这个需求,以为就是一个查找与引用的需求,直接用XLOOKUP查询就可以了。但是仔细的分解了一下,原来没有这样简单,因为数据在三张表上面,每一张表的功能不一样。
表1为基础数据,就是员工用餐明细,表2是输入条件,也就是这里只录入工号。表3就是自动生成的,而且格式要求和表1一模一样。如果直接用XLOOKUP的话,就会缺失工号。
所以需要换个思路,用这次更新的新函数CHOOSEROW就可以了,逻辑也简单,先用MATCH判断这些工号的在表1的行数(位置),通过这些行数就可以返回对应的行。
逻辑树如下图2所示:
图2
判断行号
录入工号自动返回对应数据库中(表1员工用餐明细)的数据,第一步就是要知道录入的这个工号对应表1的行号,判断位置的函数MATCH可以解决这个问题,录入函数:
=MATCH(H4:H7,B4:B13,0)
函数释义:
判断H4:H7(工号),在表1中B4:B13的位置,参数0代表绝对匹配。结果分别在第3、4、7、8行;
效果如下图图3所示:
图3
选择行数据
通过MATCH函数知道了录入的工号相对位置,就可以配合CHOOSEROWS函数返回指定区域的数据了。录入函数:
J4=CHOOSEROWS(B4:F13,MATCH(H4:H7,B4:B13,0))
函数释义:
B4:F13:这是一个数据范围,包含了要进行选择的行。也就是需要显示的结果(表3)
MATCH(H4:H7, B4:B13, 0):这部分是上面表2录入工号返回的位置;
CHOOSEROWS函数:它根据给定的索引值选择指定的行。在这个公式中,它将根据MATCH函数返回的位置选择相应的行。
综合起来,这个公式的作用是根据条件范围H4:H7在查找范围B4:B13中查找匹配项,并返回匹配项所在的行索引。然后,使用CHOOSEROWS函数选择并提取数据范围B4:F13中相应的行。
完成后如下图4所示:
图4
知识点:
查找位置函数:MATCH,返回指定方式下与指定项匹配的数组中元素的相应位置,参数:MATCH(查找值,查找区域,[匹配类型];
返回指定行函数:CHOOSEROWS,返回数组或引用中的行;参数:CHOOSEROWS(数组,行序列数1……)
可以这样说,CHOOSEROWS和CHOOSECOLS一个选择行,一个选择列,配合MATCH函数可以轻松实现各种数据的截取与整理。
图5
我是古哥:
从事制造行本业20年,在企业运营、供应链管理、智能制造系统等方面具有丰富的实战经验。企业智能化,柔性化计划运营管理专家,擅长通过企业流程优化规范,企业管理、导入计划运营提升企业效率;对提高企业准时交货率,降低企业库存,输出智能制造人才有丰富的经验。学习PMC生产计划,关注古哥计划!
优秀创作者
优秀创作者
创作者俱乐部成员
优秀创作者
WPS函数专家
优秀创作者