excel数组公式,SMALL,IF,ROW函数嵌套使用说明。

发布网友 发布时间:2022-04-23 03:14

我来回答

4个回答

热心网友 时间:2022-04-06 19:40

此公式是求从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)}

热心网友 时间:2022-04-06 20:58

if函数是一个判断AC16到Ac5000这个范围内的数据,如果等于“肢体”,函数取这个位位置的行数,不是就取Row(1:1)的行数,即为1,然后将IF的判断的所有结果分别列如数组,由Small去判断,最后的结果就是一个判断,所有AC这个范围内,行位置最小的一个,应该结果是1,因为没有一个Row会小与1,为什么会这样写,不太清楚,不知道理解得对不对。请各位大神告知追问“应该结果是1,因为没有一个Row会小与1 ”
这个公式的意思是:求出,“*”工作表,AC列从15开始到5000的单元格里,第一个结果为“肢体”的行。
前面有可能还有“精神”、“语言”等等,所以结果可能是1也可能不是1,从我的工作表的结果可以看出来。

热心网友 时间:2022-04-06 22:32

if函数返回的是一个数组,
其元素是:如果*!某单元格="肢体",则为对应的行号,否则为False
Small函数返回数组元素中第n小的数,n=row()。

例:if返回{False,False,18,False,False,21.....},则第1个单元格为18,第2个单元格为21

热心网友 时间:2022-04-07 00:24

把你图贴出来呀,然后说一下你要干什么!追问这个不是图啊,这是个EXCEL文件,有10多M呢,只是选取了其中的一个公式。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com