A função de deslocamento do Excel retorna #VALUE! Erro quando combinado com a função de linha

A função de deslocamento do Excel retorna #VALUE! Erro quando combinado com a função de linha

Por que seguir a função do Excel retorna um erro? O erro ocorre somente quando a referência retornada é maior que 1 célula. Na fórmula, a referência retornada tem 1 linha de altura e 2 linhas de altura.

    =OFFSET($A$2,ROW(G6),0,1,2) 

Responder1

Existem duas maneiras diferentes de sua fórmula retornar#VALOR!erro aqui, dependendo de como você está tentando empregá-lo:

Em primeiro lugar, se você tem uma fórmula que retorna uma matriz de valores, isso faz diferençaondevocê coloca a fórmula (caso não seja "array digitado").

Coloque essa fórmula em A10 (não inserida na matriz) e você verá o valor de A8, coloque a fórmula em B10 e verá o valor de B8, coloque a fórmula em algum lugar diferente das colunas A e B e você obterá#VALOR!Esse é o comportamento padrão no Excel para esse tipo de função.

Em segundo lugar, se você tentar "inserir na matriz" a fórmula em um intervalo horizontal de 2 células para ver os dois valores (como sugere o chuff), você também obterá#VALOR!erro queécausado porLINHAfunção.

Isso acontece porqueLINHA()retorna um "array" (mesmo quando é uma única linha como aqui) que algumas funções não processam corretamente - você pode ver isso se destacarLINHA(G6)e pressione a tecla F9 - você verá {6} em vez de 6. A solução é usar apenas 6 na fórmula ou, presumindo que você deseja a flexibilidade fornecida porLINHA, você pode envolver outra função, comoSOMA, por exemplo

=OFFSET($A$2,SUM(ROW(G6)),0,1,2)

várias outras funções farão o mesmo trabalho queSOMAaqui, por exemploMÁX.,MÍNIMO.....ou você pode substituirLINHAcomLINHAS, por exemplo

=OFFSET($A$2,ROWS(G$1:G6),0,1,2)

informação relacionada