excel formula index() not returning row with dynamic row number -EXCEL 2013 -


i need sort excel table other range using formula, this:

oritinal table:          b      c      d               1   name val1   val2    val3                  name  val1   val2    val3 2   nn   5.70   0.50    1.20                    ld  2.30   0.90    2.40 3   ld   2.30   0.90    2.40   sort val1=>   pl  4.60   0.80    3.30 4   pl   4.60   0.80    3.30                    nn  5.70   0.50    1.20 

step1: using array formula {=index($a$2:$d$4,match(small($b$2:$b$4,row()-row(a$7)+1),$b$2:$b$4,0),0)}, following result:

7 ld    ld    ld    ld 8 pl    pl    pl    pl 9 nn    nn    nn    nn 

step2: tested index formula {=index($a$2:$d$4,2,0)}, here specified static row number, index function returned full row expected:

7 ld    2.3    0.9    2.4 8 ld    2.3    0.9    2.4 9 ld    2.3    0.9    2.4 

step3: test dynamic row numbers {=index($a$2:$d$4,row() - 6,0)}, function return first column step1:

7 nn    nn    nn    nn 8 ld    ld    ld    ld 9 pl    pl    pl    pl 

why index() returns first column dynamic row numbers?

how can sort table formula (no vba, no gui operation)?


Comments