Função de matriz somente retorna primeiro valor

0

Estou tentando usar uma função de matriz no excel, a fórmula é retornar o valor da tabela filtrada. esta é minha fórmula.

{=INDEX(A:A,MIN(IF(SUBTOTAL(3,OFFSET(A2,ROW(A2:A31)-ROW(A2),0)),ROW(A2:A31))))}

O problema é que o valor retornado é apenas o primeiro resultado, ou seja, se após o filtro a primeira célula for A9 quando eu arrastar para baixo a fórmula, ela retornará apenas o valor A9 em toda a célula. Esta é a minha primeira tentativa de usar a função de matriz, então eu não sei o que verificar, eu acho que a fórmula em si é correta, mas porque esta é a minha primeira tentativa, talvez eu perca alguma coisa. Eu já pressiono Ctrl + Shift + Enter para validar.

Na verdade, meu objetivo é retornar o valor das células que atendem a determinados critérios, tentei usar funções diferentes, mas como é muito complicado, tentei usar o filtro integrado do Excel, mas apenas ocultar as células que não atendem aos critérios. não funciona com minha outra fórmula que usa o valor filtrado. Se você tem soluções diferentes da que eu usei por favor sugiro, mas eu prefiro aquelas que não são muito complicadas ou que usam vba. Agradecemos antecipadamente.

    
por Dizz 11.05.2018 / 11:40

1 resposta

1

Eu fiz a mesma pergunta há algum tempo e receba uma boa resposta de Ron Coderre

Ele sugeriu uma solução de fórmula de matriz e não-matriz. As fórmulas são complexas. Eu ofereço uma abordagem muito simples e intuitiva que usa fórmulas simples, sem matriz, com uma coluna auxiliar.

Digamos que temos dados nas colunas A e B . Em C2 digite:

=SUBTOTAL(3,$A$2:$A2)

e copie para baixo:

Acolunaauxiliaréumconjuntosimplesdevaloressequenciais.Nósagorafiltramosporcachorro:

Oajudanteseajustouparapermanecerumasequênciaseqüencialsimples!IssonospermiteusarumaabordagempadrãoMATCH()/INDEX()paracapturarosdadosvisíveis.EmSheet2cellA1digite:

=IFERROR(INDEX(Sheet1!A:A,MATCH(ROWS($1:1),Sheet1!C:C,0)),"")

e copie para baixo:

Se você não puder usar uma coluna auxiliar, tente uma das fórmulas de Coderre.

    
por 11.05.2018 / 16:11