发布网友 发布时间: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呢,只是选取了其中的一个公式。