excel数组公式,SMALL,IF,ROW函数嵌套使用说明。
{=SMALL(IF(办证!$AC$16:$AC$5000="肢体",ROW($B$16:$B$5000)),ROW(1:1))}谁能详细说明下这个公式什么意思,为什么要...
{=SMALL(IF(办证!$AC$16:$AC$5000="肢体",ROW($B$16:$B$5000)),ROW(1:1))}
谁能详细说明下这个公式什么意思,为什么要这么写,还能简单些么? 展开
谁能详细说明下这个公式什么意思,为什么要这么写,还能简单些么? 展开
4个回答
展开全部
此公式是求从AC16到AC5000区域内第一个等于“肢体”的单元格所在的行数。
IF(办证!$AC$16:$AC$5000="肢体",ROW($B$16:$B$5000)) 部分得到的是由FALSE和所有等于“肢体”单元格所在行行数构成的数组;
SMALL 是取数组中的最小值,由于{=SMALL(IF(办证!$AC$16:$AC$5000="肢体",ROW($B$16:$B$5000)))} 会出错,所以增加了 ,ROW(1:1))}
简化方法可以将 ,ROW(1:1))} 部分改为 ,1)}
IF(办证!$AC$16:$AC$5000="肢体",ROW($B$16:$B$5000)) 部分得到的是由FALSE和所有等于“肢体”单元格所在行行数构成的数组;
SMALL 是取数组中的最小值,由于{=SMALL(IF(办证!$AC$16:$AC$5000="肢体",ROW($B$16:$B$5000)))} 会出错,所以增加了 ,ROW(1:1))}
简化方法可以将 ,ROW(1:1))} 部分改为 ,1)}
展开全部
if函数是一个判断AC16到Ac5000这个范围内的数据,如果等于“肢体”,函数取这个位位置的行数,不是就取Row(1:1)的行数,即为1,然后将IF的判断的所有结果分别列如数组,由Small去判断,最后的结果就是一个判断,所有AC这个范围内,行位置最小的一个,应该结果是1,因为没有一个Row会小与1,为什么会这样写,不太清楚,不知道理解得对不对。请各位大神告知
追问
“应该结果是1,因为没有一个Row会小与1 ”
这个公式的意思是:求出,“办证”工作表,AC列从15开始到5000的单元格里,第一个结果为“肢体”的行。
前面有可能还有“精神”、“语言”等等,所以结果可能是1也可能不是1,从我的工作表的结果可以看出来。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if函数返回的是一个数组,
其元素是:如果办证!某单元格="肢体",则为对应的行号,否则为False
Small函数返回数组元素中第n小的数,n=row()。
例:if返回{False,False,18,False,False,21.....},则第1个单元格为18,第2个单元格为21
其元素是:如果办证!某单元格="肢体",则为对应的行号,否则为False
Small函数返回数组元素中第n小的数,n=row()。
例:if返回{False,False,18,False,False,21.....},则第1个单元格为18,第2个单元格为21
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把你图贴出来呀,然后说一下你要干什么!
追问
这个不是图啊,这是个EXCEL文件,有10多M呢,只是选取了其中的一个公式。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |