来自粉丝的贡献:工厂员工的用餐明细在表1中,现在需要在表2中输入员工的工作编号,这样表2中输入指定员工编号的员工就餐表就可以自动在表3中带出。
为了方便截图,将三个表截图到一个工作页面中,效果如下图1所示
需求分析
当我第一次看到这个需求时,我以为这是一个搜索和引用需求,我可以直接用 xlookup 查询它。 但仔细分解后发现,其实并没有那么简单,因为数据在三个表上,每个表的功能都不一样。
表1为基本数据,为员工用餐明细,表2为输入条件,即此处只输入员工编号。 自动生成表3,格式要求与表1完全相同。 如果直接使用 xlookup,则将缺少工作编号。
因此,需要改变思路,可以在本次更新中使用新的函数chooserow,而且逻辑也很简单,先使用match来确定表1中这些作业编号的行数(位置),通过这些行就可以返回对应的行数。
逻辑树如下图 2 所示
确定行号
第一步是知道输入的员工编号与表1中的行号相对应,确定位置的函数匹配可以解决这个问题
match(h4:h7,b4:b13,0)
功能定义:确定h4:h7(工作编号),在表1中,b4:b13的位置,参数0表示绝对匹配。 结果在第一行;
效果如下图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所示
知识点:
查找位置函数:match,返回数组中以指定方式匹配指定项的元素的对应位置,参数:match(Find value, Find area, [match type];
返回指定的行函数:chooserows,该函数返回数组或引用中的行参数:chooserows(array,行数为1......)
可以说,chooserows 和 choosecols 可以通过选择行和选择列,通过匹配功能轻松拦截和组织各种数据。
252 WPS 新功能示例:员工姓名和员工 ID 快速分离。
251 WPS新功能案例:快速对客户进行排序和统计。
250 wps 新功能示例:快速对员工的生日进行分类和计数。
249 WPS新增函数示例:订单的多条件统计。