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 結束公式
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 結束公式