=OFFSET(Sheet1!$A$1,SMALL(IF(Sheet1!$A$2:$A$11=$A$1,ROW($A$1:$A$10),4^7),ROW()-1),COLUMN()-1,)请帮我解释一下各段意思,我试了一下是从A2开始列示的,怎样修改列示位置已解决
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 12:45:30
=OFFSET(Sheet1!$A$1,SMALL(IF(Sheet1!$A$2:$A$11=$A$1,ROW($A$1:$A$10),4^7),ROW()-1),COLUMN()-1,)请帮我解释一下各段意思,我试了一下是从A2开始列示的,怎样修改列示位置已解决
=OFFSET(Sheet1!$A$1,SMALL(IF(Sheet1!$A$2:$A$11=$A$1,ROW($A$1:$A$10),4^7),ROW()-1),COLUMN()-1,)
请帮我解释一下各段意思,我试了一下是从A2开始列示的,怎样修改列示位置
已解决
=OFFSET(Sheet1!$A$1,SMALL(IF(Sheet1!$A$2:$A$11=$A$1,ROW($A$1:$A$10),4^7),ROW()-1),COLUMN()-1,)请帮我解释一下各段意思,我试了一下是从A2开始列示的,怎样修改列示位置已解决
offset(基点,往下行偏移数,往右列偏移数,行偏移的厚度(如省略就是1),列偏移的数量(如省略就是1)
你上述公式分段解释:
1.IF(Sheet1!$A$2:$A$11=$A$1,ROW($A$1:$A$10),4^7)
意思是 如果sheet1中的a2:a11等于A1的话,那么返回一个数组,就是ROW($A$1:$A$10),这个数组其实就是{1,2,3,4,5,6,7,8,9,10},否则如果a2:a11区域中不等于A2,那么就返回4^7这个一个数字
2.SMALL(IF(Sheet1!$A$2:$A$11=$A$1,ROW($A$1:$A$10),4^7),ROW()-1),
意思是 如果A2:A11的区域等于A1的话,那么取{1,2,3,.10}这个数组中的第ROW()-1个小的值,还是举个列子,假如a5=a1,那么这个公式返回那个数组第4个小的数,当然就是4了,而如果A6不等于A1,那么这个这个公式就返回4^7 这个数,这样的话,这个函数其实就是得到了一个数组,类似于{1,2,4^7,5,4^7,6,7,4^7,8,9}这样的数组
3.OFFSET(Sheet1!$A$1,SMALL(IF(Sheet1!$A$2:$A$11=$A$1,ROW($A$1:$A$10),4^7),ROW()-1),COLUMN()-1,)
意思是,以A1为基点 ,往下偏移{1,2,4^7,5,4^7,6,7,4^7,8,9} 这个数组的行数,往右偏移当前列数减1的列数,得到一个新的十位数数组.
你要想改列的位置,只要改公式最后一个COLUMN()-1 这个减几就可以了,比如可以COLUMN()-2
别忘记你这个是数组公式,需要 按 ALT+CTRL+ENTER 结束公式