在数据处理和分析过程中,往往需要提取满足特定条件的数据进行研究,除了排序、查找、过滤等直接操作方法外,使用公式提取也是非常常用的方法。
提取满足条件的所有数据
公司的一些员工工资记录如图所示。
要基于此数据表提取“市场营销”的所有员工编号,请在单元格I2中输入以下公式,然后向下复制填充:
=if(row(1:1)countif(c $ 23360 c $ 102,' marketing '),',index (a $ 1:a $102,
输入完成后,& lt
分成几部分理解这个公式。
=row(1:1)& gt;countif (c $2: c $102,“市场营销”)
本节通过COUNTIF函数计算C列的“市场营销”,然后将其与包含公式的行号ROW进行比较。ROW(1:1: 1)利用引用的相对性,在向下复制公式的过程中,ROW(2:2: 2)、ROW(3:3: 3)等依次更改,现在返回第几个公式行。
此公式部分与IF函数结合,确定包含公式的行是否超过“营销”数据的数量,如果超过,整个公式将返回空白文本,如果没有超出,则执行以下运算:这是一种常见的容差处理方法,在向下填充过程中,公式中不会显示错误值,所有不符合条件的单元格都显示为空文本。
=if (c $2: c $102='市场营销',row ($2: $102))
这个公式部分通过IF函数判断列C中的数据,如果是“市场部”,则返回该行的行号。其中,数组运算同时返回结果集。也就是说,满足上述条件的所有行号将同时返回数组结果。
=small(if(c $ 2:c $ 102=' marketing ',row ($2: $102)),row (1: 1))
此部分公式根据前面的公式,从以前使用SMALL函数获得的数组结果中依次提取每个行号。其中,第二个参数ROW(1:1: 1)在公式向下复制时返回增量数值,因此,随着公式所在行的增加,满足此处获得的条件的行号也将依次增加,因此,您可以一次获得一个满足所有条件的行号。
=index (a $ 1:a $102,small)(if(c $ 2: c $ 102='市场营销',row ($2: $102))
此公式部分使用INDEX函数,根据上一个公式中获得的行号具体查找列a中的员工编号数据。整个公式的计算结果如图所示。
你学过这些函数吗?目前存在的通信可能对这些函数特别不熟悉。没关系。
点击一下视频,就能掌握办公室常用的功能技巧
1.《【excel怎么导出筛选】excel办公实践,使用公式提取和过滤数据,办公必须掌握技术》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《【excel怎么导出筛选】excel办公实践,使用公式提取和过滤数据,办公必须掌握技术》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/2482502.html