filter函数的四种用法
有的时候, 我们经常会对数据进行条件查询,
举个人事管理工作中的例子来说明,左边是人事数据,
现在我们制作了一个查询器,里面输入条件,就可以把符合条件的结果查找匹配出来
这个筛选条件填写区域,是可以模糊输入的,例如,只需要输入财务,就可以得到所有财务部的数据了
![](https://p0.ssl.img.360kuai.com/t018f8bd8107c1c861b.jpg)
又或者,我们输入姓名中的一个字,例如,输入:乔,就可以把对应结果匹配出来:
![](https://p0.ssl.img.360kuai.com/t01049401816eb51ec1.jpg)
还可以输入性别的条件,例如,填写性别:女,就可以得到所有相关结果:
如下所示结果,同时它的边框也自动的添加到了有数据的区域
![](https://p0.ssl.img.360kuai.com/t01694959e2aa431ab3.jpg)
是不是看起来很高级,上面的效果,只需要一条公式就可以实现了
1、实现模糊查询
我们使用的公式就是:
=FILTER(A:D,IFERROR(SEARCH(H2,A:A),0)+IFERROR(SEARCH(H2,B:B),0)+IFERROR(SEARCH(H2,C:C),0))
![](https://p0.ssl.img.360kuai.com/t0175687e8aba5cbd92.jpg)
要理解上述运行逻辑,我们要了解SEARCH函数公式
它是用来搜索对应单元格是否含有对应文本,当我们输入公式:
=SEARCH("市场",A1:A9)
它有数据的时候,就会显示数字1,表示A2里面有这个文本,且出现的位置是第1个位置
如果搜索不到,就会显示错误值
![](https://p0.ssl.img.360kuai.com/t015a0878ab3ec6f5f6.jpg)
第2步,我们用IFERROR函数公式,将错误值,变成0,如下所示:
![](https://p0.ssl.img.360kuai.com/t0112f26af9b130b8e3.jpg)
第3步,就是FILTER函数功能了
我们使用FILTER函数公式时,当结果为0时,它不会筛选出来,
当结果不为1时,就会被筛选出来,所以就可以把对应关键词给筛选出来
![](https://p0.ssl.img.360kuai.com/t01c984215d595d35ee.jpg)
如果需要在多列之间进行筛选,就需要把对应的条件全部串联加起来就可以了。
2、实现数据自动加边框
因为我们FILTER公式的结果条目数是不确定的,所以当我们有数据的时候,可以自动的添加一个边框,设置方法是:选中F:I列数据,然后在条件格式里面,新建规则
使用公式来确定规则
然后使用的公式是:
=$F1<>""
因为我们的数据列在F,所以用F1单元格,需要锁定列标,判断不为空值
![](https://p0.ssl.img.360kuai.com/t014f45348391b10ac3.jpg)
然后在就格式里面,设置全部的边框
![](https://p0.ssl.img.360kuai.com/t0186eb3937f0b83f2c.jpg)
关于这个小技巧,你学会了么?动手试试吧!
","gnid":"9f2759198c6605d6c","img_data":[{"flag":2,"img":[{"desc":"","height":710,"title":"","url":"https://p0.ssl.img.360kuai.com/t01a5a11a1a93aef52a.jpg","width":1083},{"desc":"","height":"474","title":"","url":"https://p0.ssl.img.360kuai.com/t01049401816eb51ec1.jpg","width":"1104"},{"desc":"","height":"571","title":"","url":"https://p0.ssl.img.360kuai.com/t01694959e2aa431ab3.jpg","width":"1098"},{"desc":"","height":526,"title":"","url":"https://p0.ssl.img.360kuai.com/t013a16c902b5b799b9.jpg","width":1175},{"desc":"","height":"1010","title":"","url":"https://p0.ssl.img.360kuai.com/t015a0878ab3ec6f5f6.jpg","width":"1302"},{"desc":"","height":"514","title":"","url":"https://p0.ssl.img.360kuai.com/t0112f26af9b130b8e3.jpg","width":"663"},{"desc":"","height":"531","title":"","url":"https://p0.ssl.img.360kuai.com/t01c984215d595d35ee.jpg","width":"1142"},{"desc":"","height":"810","title":"","url":"https://p0.ssl.img.360kuai.com/t014f45348391b10ac3.jpg","width":"1190"},{"desc":"","height":"541","title":"","url":"https://p0.ssl.img.360kuai.com/t0186eb3937f0b83f2c.jpg","width":"763"}]}],"original":0,"pat":"qgc,art_src_3,fts0,sts0","powerby":"pika","pub_time":1711197900000,"pure":"","rawurl":"http://zm.news.so.com/708db980e4fd80feab214e491eb881ba","redirect":0,"rptid":"78962e58b90cd598","rss_ext":[],"s":"t","src":"Excel自学成才","tag":[{"clk":"ktechnology_1:f1","k":"f1","u":""}],"title":"一条公式,制作查询器,Filter函数公式太强了
支叔伟5073python3.2 的filter()和map()怎么用. -
翟管雪19180384901 ______ filter(function, iterable) map(function, iterable) filter将 function依次作用于iterable的每个元素,如果返回值为true, 保留元素,否则从iterable里面删除 例如:def test(x): return (x > 3) filter(test, [1, 2, 3, 4, 5]) =====> [4, 5] map将function作用于iterable,每个元素,将对应输出结果保存为一个list 例如 def add(x): return (1 + x) map(test, [1, 2, 3, 4, 5]) =====> [2, 3, 4, 5, 6]
支叔伟5073比较用conv和filter求解零状态响应所得结果的不同,并说明原因 -
翟管雪19180384901 ______ conv是做卷积,就是按照书上的做法,先翻转,在一步步平移,得出结果.对于两个长度分别为n,m的序列,卷积结果长度为m+n-1 filter是做滤波,其实原理跟卷积是想通的,只不过处理结果的方法不同,先看示例程序:[plain] view plaincopy x=...
支叔伟5073java中Filter的方法有哪些?及其应用
翟管雪19180384901 ______ public void destroy() { // TODO Auto-generated method stub 销毁时用 } public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { // TODO Auto-generated method stub 处理过滤代码 } ...
支叔伟5073VB高手进,关于Filter函数 -
翟管雪19180384901 ______ Filter(b, 1, False) 这不是很明显了吗?这是在b数组中寻找所有不包含1的所有元素,那么 1 2 3 4 5 6 7 8 9 10 11 这11个数字,哪些是包含1这个数的?这个小学一年级的也能回答吧? 补充一下:Filter函数是按字符串来比较数组及搜索对象的,而且是按是否具有包含关系而不是相等关系来判断的.
支叔伟5073matlab中filter函数的用法 -
翟管雪19180384901 ______ 看楼主的意思主要是想实现差分方程 先从简单的说起: filter([1,2],1,[1,2,3,4,5]) 实现 y[k]=x[k]+2*x[k-1] y[1]=x[1]+2*0 %(x[1]之前状态都用0) =1 y[2]=x[2]+2*x[1]=2+2*1=4 ... 然后说你感兴趣的filter(b,a,x) 这里a,b都是矢量 你提到输入[zeros(1,100),ones(1...
支叔伟5073在vbs中的filter函数的用法解析 -
翟管雪19180384901 ______ 你注释都写了MyIndex(0)包含Monday,那明显Myindex是个数组啊,当然不能直接Msgbox了.得Msgbox Myindex(0)啊
支叔伟5073求助老师有关"FILTERX"函数的用法 -
翟管雪19180384901 ______ #include #include void main( int argc, char *argv[] ) { int x,y; div_t div_result; printf("input x y:"); scanf("%d%d",&x,&y); printf( "x is %d, y is %d\n", x, y ); div_result = div( x, y ); printf( "The quotient is %d,.
支叔伟5073按键精灵中filter函数怎么用 -
翟管雪19180384901 ______ //函数功能:搜索符合条件旧百数组,把符合条件旧数组内容度重新组成一个数组 Dim MyIndex Dim MyArray (3) MyArray(0) = "Sunday" MyArray(1) = "Monday" MyArray(2) = "Tuesday" MyArray(3) = "Monddd" MyIndex = Filter(MyArray, "Mon") //经过处理后,版权MyIndex是一个新数组,其中MyArray(0),MyArray(3)符合条件 //所以有MyIndex(0)=MyArray(0),MyIndex(1)=MyArray(3)
支叔伟5073CAD中的filter命令到底怎么用?选择项里有好多内容,都代表什么意思,能不能用例子解释呢? -
翟管雪19180384901 ______ 比如说你的“应急灯”应该是有个块吧,或者大小一定、颜色一定、或者是在一个单独的层里面,你就可以利用fi命令来进行,键入fi,然后打开过滤窗口,在“选择过滤器”下拉窗口中有多个选择项,比如说“块名”,你选择之后,点击“添加...
支叔伟5073js中怎样实现数组过滤函数filter -
翟管雪19180384901 ______ filter 是根据返回的值是否为真来判断是否保留元素,所以可以这样实现12345678910 Array.prototype.filter = Array.prototype.filter || function(func) { vararr = this; varr = []; for(vari = 0; i < arr.length; i++) { if(func(arr[i])) { r.push(arr[i]); } } returnr; } 因为目...