1职场实例
小伙伴们大家好,今天我们来解答一个公众号粉丝在后台留言咨询的Excel职场办公疑问:如何通过公式的方法,按条件动态的提取指定的数据记录?这个问题小编想要用一个老且经典的函数和一个新且强大的函数,尝试解决它。
如下图所示:
A1:C15为数据源区域,是每月各种水果的销量明细数据,A列为月份,B列为水果名称,C列为销量数值。我们想要通过E列给出的水果名称,在G:I列提取出这些名称对应的在数据源中的所有数据。并且我们改变E列的名称条件,G:I列的提取数据结果也会动态的随之变动服务器托管网。
2解题思路
我们使用FILTER函数,因为FILTER函数是根据给定的条件筛选出对应的数据。然后我们利用COUNTIF函数指定FILTER函数在什么条件下执行筛选行为,即指定其特定的条件,这样就形成一个简单的解题思路。
下面我们就来看一下具体操作方法。
我们在G2单元格输入函数公式:
=COUNTIF(E2:E4,B2:B15)
COUNTIF函数是对指定单元格区域中符合条件的单元格计数的函数。
函数参数:
=COUNTIF(range,criteria)
=COUNTIF(要统计的单元格区域,设置的条件)
本例中我们使用COUNTIF函数统计B2:B15区域中的各个水果名称在E2:E4中出现的次数,如E2单元格中的“香蕉”在E2:E4区域中出现的次数非1即0,返回一个内存数组:
{0;1;0;1;1;1;0;1;0;1;0;0;0;0}
我们对COUNTIF函数做一个强制不等于0的判断:
=COUNTIF(E2:E4,B2:B15)0
其结果会以逻辑值TRUE和FALSE在内存数组中显示出来,也可以理解为E2单元格中的“香蕉”在E2:E4区域中是否出现过,出现过的话用逻辑真值TRUE表示,没有出现过的话用逻辑假值FALSE表示,返回一个内存数组:
{FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE}
我们用COUNTIF函数作为FILTER函数的第2参数:
=FILTER(A2:C15,COUNTIF(E2:E4,B2:B15)0)
FILTER函数的作用是筛选符合条件的单元格。
函数参数:
=FILTER(要返回内容的数据区域,指定的条件,[没有记录时返回的内容])
再通俗的说,第1个参数是要筛选的单元格区域或数组,第2个参数是筛选的条件,这2个参数是必须要输入和掌握的,其他参数可以根据实际需求省略或使用。
本例中原理非常好理解,就是用FILTER函数筛选COUNTIF函数作为筛选条件返回的内存数组:
{FALSE;TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;FA服务器托管网LSE;FALSE}
中逻辑值为真TRUE值时,筛选出A2:C15中符合条件的记录。
我们改变E列的水果名称条件后,筛选出来的G:I区域数据也会随之发生实时动态的变动。效果如下图所示:
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 深入跨域 – 从初识到入门 | 京东物流技术团队
从数据到大模型应用,11 月 25 日,杭州源创会,共享开发小技巧 前言 跨域这两个字就像一块狗皮膏药一样黏在每一个前端开发者身上,无论你在工作服务器托管网上或者面试中无可避免会遇到这个问题。如果在网上搜索跨域问题,会出现许许多多方案,这些方案有好有坏,但是对…