=OFFSET(Sheet1!$A$1,SMALL(IF(Sheet1!$A$2:$A$11=$A$1,ROW($A$1:$...
发布网友
发布时间:2024-10-01 20:12
我来回答
共1个回答
热心网友
时间:2024-10-17 14:41
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 结束公式