早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求教函数公式代表的意思是什么=IF(ROW()>COUNTIF(Sheet1!$A:$A,"杨方"),"",INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$A$1:$A$100="杨方",ROW($A$1:$A$100),4^8),ROW(1:1)))),这是个数组公式,前半段我能理解,从INDEX往后的一段公式是

题目详情
求教函数公式代表的意思是什么
=IF(ROW()>COUNTIF(Sheet1!$A:$A,"杨方"),"",INDEX(Sheet1!A:A,SMALL(IF(Sheet1!$A$1:$A$100="杨方",ROW($A$1:$A$100),4^8),ROW(1:1)))),这是个数组公式,前半段我能理解,从INDEX往后的一段公式是什么意思,为什么要这样用呢?
▼优质解答
答案和解析
比如数据只有10个,分别是
{"赵","杨方","赵","杨方","杨方","杨方","赵","杨方","赵","赵"}
公式中 IF(Sheet1!$A$1:$A$100="杨方",ROW($A$1:$A$100),4^8)的作用是给每一个写"杨方"的单元格一个序号,不是杨方的单元格给一个65536
对应于10个数就是
A列数据 {"赵","杨方","赵","杨方","杨方","杨方","赵","杨方","赵","赵"}
得到的序列数组 {65536,2,65536,4,5,6,65536,8,65536,65536}
ROW(1:1)的作用是得到一个行号,比如公式在第3行得到的就是3
SMALL的作用是,比如在第3行,就是找到第3小的数字,就是5
INDEX(Sheet1!A:A,.)的作用就是将序列数组中序数是 5的A列数据显示出来,就是A5格数据
加上前边的判断,最终得到的就是 {"杨方","杨方","杨方","杨方","杨方","","","","",""}
整个公式的作用就是将所有写"杨方"的格集中显示出来