Excel - Eu preciso da fórmula de ROW para descer, quando eu arrasto

1

Eu tenho a fórmula abaixo, que eu gostaria de arrastar horizontalmente, mas tenho a mudança de ROW (1: 1) verticalmente, por exemplo tornar-se ROW (2: 2) , etc.:

=IF(ISERROR(INDEX($B$1:$C$800,SMALL(IF($C$1:$C$800=S$2,ROW($C$1:$C$800)),ROW(1:1)),1)),"",INDEX($B$1:$C$800,SMALL(IF($C$1:$C$800=S$2,ROW($C$1:$C$800)),ROW(1:1)),1))

Como posso fazer isso?

    
por DV1987 04.09.2017 / 18:42

2 respostas

2

O que você está pedindo é impossível. Mas você está pedindo a coisa errada. Se você quiser que um termo em uma fórmula aumente à medida que você o arrasta para a direita, use COLUMN(A:A) (ou COLUMN(An) , onde n é qualquer número de linha válido).

    
por 04.09.2017 / 19:24
0

Para responder à sua pergunta real, o melhor que você pode fazer é substituir 1:1 por OFFSET(1:1,COLUMN()+0,) . O 1:1 não será realmente alterado, mas o resultado será o mesmo que aconteceu.

=IF(ISERROR(INDEX($B$1:$C$800,SMALL(IF($C$1:$C$800=S$2,ROW($C$1:$C$800)),ROW(OFFSET(1:1,COLUMN()+0,))),1)),"",INDEX($B$1:$C$800,SMALL(IF($C$1:$C$800=S$2,ROW($C$1:$C$800)),ROW(OFFSET(1:1,COLUMN()+0,))),1))

Dependendo de como você está usando a fórmula, uma solução melhor é substituir ROW(1:1) por COLUMN() :

=IF(ISERROR(INDEX($B$1:$C$800,SMALL(IF($C$1:$C$800=S$2,ROW($C$1:$C$800)),COLUMN()),1)),"",INDEX($B$1:$C$800,SMALL(IF($C$1:$C$800=S$2,ROW($C$1:$C$800)),COLUMN()),1))
    
por 04.09.2017 / 19:23