求问一个EXCEL函数意义.

问题描述:

求问一个EXCEL函数意义.
=IF(ROW(A1)>D$2,"",INDEX(A:A,MATCH(LARGE(IF((B$2:B$100>0)*(B$2:B$100>=LARGE(B$2:B$100,D$2)),B$2:B$100-ROW($2:$100)/10^8,),ROW(A1)),B$2:B$100-ROW($2:$100)/10^8,)+1))
1个回答 分类:综合 2014-10-30

问题解答:

我来补答
IF(ROW(A1)>D$2,"" 如果ROW(A1)比D2的数值大,则返回空数据
其中ROW(A1)的作用是得到从1开始的序号,随着整个公式向下复制,这个序号会自动递增
如果序号小于等于D2的数值,则返回后面一长串公式的结果
这个公式的主函数是INDEX,目的是在A列(即A:A)中定位某个数据
而这个数据的位置是由后面的MATCH函数找到的
MATCH要找的数据是一个LARGE函数的结果(这个结果等下再解释)
而MATCH查找的范围是B2:B100中的数据,并且这些数据都减去了一个很小的数:ROW($2:$100)/10^8,这个不用深究,就是用任意正数除以10的8次方,是一个很小的数
MATCH函数的第三个参数被省略了,相当于是进行模糊查找
如果无法准确匹配查找内容,则返回小于查找内容的最接近的位置
将这个位置(即第几行)加1,得到A列这一行的数据
LARGE函数的结果实在太绕了
没有原始表格解释不清
另外
这个公式应该是个数据函数
需要用“CTRL+SHIFT+回车”输入的
 
 
展开全文阅读
剩余:2000
上一页:....详细步骤
下一页:望能尽快解答