作业帮 > 综合 > 作业

谁知道这个公式是什么意思{=MIN(IF(COUNTIF(C$1:C1,B$1:B$49)=0,ROW(INDIRECT

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/06 01:19:30
谁知道这个公式是什么意思{=MIN(IF(COUNTIF(C$1:C1,B$1:B$49)=0,ROW(INDIRECT("1:"&COUNTA(B:B))),1000))}
上面的公式在此公式中找到的:={INDEX(B:B,MIN(IF(COUNTIF(C$1:C1,INDIRECT("B1:B"&COUNTA(B:B)))=0,ROW(INDIRECT("1:"&COUNTA(B:B))),65536)))&""}(这个公式筛选出B列中不重复的内容),想了半天也没想通上面的公式是怎么运算的,还有最后不加&"",筛选完后怎么会显示0,
谁知道这个公式是什么意思{=MIN(IF(COUNTIF(C$1:C1,B$1:B$49)=0,ROW(INDIRECT
呵呵,这是个组函数,实在是太精彩了!不管我能不能拿分,我都希望楼主能够跟我分享一些类似的公式!
这个函数有几个大部分:
INDIRECT("B1:B"&COUNTA(B:B))用于引用B列的可用数据组(所以是个组函数)
COUNTIF(C$1:C1.)这一段就不用说了,其实就是查找看看C列(用于陈列筛选结果)前面已经筛选出来的数据里有没有包含第n个B列里的数(由于是数组,每次只会在B列里面拿出一个进行比较),如果没有(=0),说明这第N个数是还没被筛选出来过的,那就把它挑出来;否则就显示空格(65536行其实必然是个空格)
index就是拿来挑数值的
由于65536行本身是个空格,如果直接引用,那么就会显示0,但是如果加上&""就会在引用的值后面加上个"",那么现实的时候就是一片空白了
数组函数确实很奇妙,我真的还缺乏经验,楼主可以的话请分享一些给我学习一下,这个公式做得太精彩了
不过,我想说的是,这个公式的水平太高,也太复杂,其实大可不必用到组函数就能够实现这样的功能的了,我此前也有过类似的挑数据的问题,都没用到组函数.
另外:补充一下我的方案——
=IF(COUNTIF($A$1:$A1,B2)=0,B2,"")
这是用a列表达对b列的筛选结果
从第二行开始就可以用这个公式,B有多少行就走多少行公式就可以了
而第一行(a1)直接等于b1就可以(第一个肯定不会重复的嘛)
这样做很简单
但是与你的方案比较就缺乏灵活性
至于计算速度,就要实操才知道