请教:函数含义 有一个公式:=INDEX(A:A,SMALL(IF(COLUMN(1:1)
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/26 07:59:55
请教:函数含义 有一个公式:=INDEX(A:A,SMALL(IF(COLUMN(1:1)
请教:函数含义 有一个公式:=INDEX(A:A,SMALL(IF(COLUMN(1:1)
请教:函数含义 有一个公式:=INDEX(A:A,SMALL(IF(COLUMN(1:1)
这个公式是数组公式,要按下SHIFT+CTRL+ENTER三键,这样公式前后就会自动加上一对花括号{=.}
COLUMN(1:1) 因为COLUMN是求列标是第几列,而1:1指的是第一行整行,所以就会得出{1,2,3.254,255,256},这样的数组(以2003版为例,是1列~256列)
ROW() 求行号值如ROW(A1)就是A列第一行,行号就是1,下拉后就是ROW(A2)即A列第二行,值就是2了
IF(COLUMN(1:1)<=B$2:B$4,ROW($2:$4))
实际上就是IF({1,2,3.254,255,256}<=B$2:B$4,ROW($2:$4) 意思为1至256这些数小于等于B2至B4单元格值的,返回对应的2,3,4行号,
这是一个量比较大的数据对比,先是B2单元格的值去比较1至256,再是B3单元格的值去比较1至256,再是B4单元格的值去比较1至256,形成3*256个数据,假设B2,B3,B4的值是分别4,2,3.则4会小于等于1至256的1至4的4个数,即为
{TRUE,TRUE,TRUE,TRUE,FALSE,FALSE.(此为B2与1至256比对的数据,共256个真假值);TRUE,TRUE,FALSE,FALSE,FALSE.(用分号分隔后是B3与1至256比对的数据,也是256个真假值).;TRUE,TRUE,TRUE,FALSE,FALSE.(用分号分隔后是B4与1至256比对的数据,同样是256个真假值).FALSE,FALSE}
这样的数组,这些值中为真值的(TRUE)会分别返回ROW($2:$4)={2;3;4}这三个数,
即
B2与1至256相比的是第一组256个真假值,真值的返回2,假值(即FALSE)还是返回假值;
B3与1至256相比的是第二组256个真假值,真值的返回3,假值(即FALSE)还是返回假值;
B4与1至256相比的是第三组256个真假值,真值的返回4,假值(即FALSE)还是返回假值;
{2,2,2,2,FALSE,FALSE,FALSE,FALSE.FALSE,FALSE,FALSE;3,3,FALSE,FALSE,FALSE.;4,4,4,FALSE,FALSE,FALSE.FALSE,FALSE,FALSE,FALSE}
这样的数组
SMALL({2,2,2,2,FALSE,FALSE,FALSE,FALSE.FALSE,FALSE,FALSE;3,3,FALSE,FALSE,FALSE.;4,4,4,FALSE,FALSE,FALSE.FALSE,FALSE,FALSE,FALSE},ROW(A1))
意思为这个数组中第一小的值,即该值为2
公式下拉后是ROW(A2),即求第二小的值,该值也还是2
第三小的值也是2,
第四,五小的值是3
第五,六,七小的值是4
INDEX(A:A,某行号值)
如
INDEX(A:A,2) 即 A列的第二行的内容
INDEX(A:A,3) 即 A列的第三行的内容
这样整个公式就会形成,B列写的数是多少时,C列就会出现多少个A列的内容,
如A2是A,B2是4,这样就会在公式列出现四个A,A3是B,B3是2,公式列就会接着出现两个B,A4是C,B3是3,公式列就会出现3个C
建议公式改成如下,公式下拉行数多时,就不会出现错误值了
=INDEX(A:A,SMALL(IF(COLUMN(1:1)<=B$2:B$4,ROW($2:$4),4^8),ROW(A1)))&""
如图
这题答的辛苦,用了我一个多小时组织和录入才回答完毕,看懂后请采纳