Fórmula do Excel: filtrar dados horizontais -

Índice

Fórmula genérica

=FILTER(data,logic)

Resumo

Para filtrar dados organizados horizontalmente em colunas, você pode usar a função FILTER. No exemplo mostrado, a fórmula em C9 é:

=TRANSPOSE(FILTER(data,group="fox"))

onde dados (C4: L6) e grupo (C5: L5) são intervalos nomeados.

Explicação

Observação: FILTER é uma nova função de matriz dinâmica no Excel 365. Em outras versões do Excel, existem alternativas, mas são mais complexas.

Existem dez colunas de dados no intervalo C4: L6. O objetivo é filtrar esses dados horizontais e extrair apenas colunas (registros) onde o grupo é "raposa". Para conveniência e legibilidade, a planilha contém três intervalos nomeados: dados (C4: L6) e grupo (C5: L5) e idade (C6: L6).

A função FILTER pode ser usada para extrair dados organizados verticalmente (em linhas) ou horizontalmente (em colunas). FILTER retornará os dados correspondentes na mesma orientação. Nenhuma configuração especial é necessária. No exemplo mostrado, a fórmula em C9 é:

=FILTER(data,group="fox")

Trabalhando de dentro para fora, o argumento include para FILTER é uma expressão lógica:

group="fox" // test for "fox"

Quando a expressão lógica é avaliada, ela retorna uma matriz de 10 valores TRUE e FALSE:

(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE)

Nota: as vírgulas (,) nesta matriz indicam colunas. Ponto-e-vírgula (;) indicaria linhas.

O array contém um valor por coluna nos dados, e cada TRUE corresponde a uma coluna onde o grupo é "raposa". Essa matriz é retornada diretamente para FILTER como o argumento de inclusão e realiza a filtragem real:

FILTER(data,(TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE))

Apenas os dados que correspondem a valores TRUE passam pelo filtro, então FILTER retorna as 6 colunas onde o grupo é "raposa". FILTER retorna esses dados na estrutura horizontal original. Como FILTER é uma função de matriz dinâmica, os resultados atingem a faixa C9: H11.

Esta é uma solução dinâmica - se algum dado de origem em C4: L6 mudar, os resultados do FILTER serão atualizados automaticamente.

Transpor para o formato vertical

Para transpor os resultados do filtro para um formato vertical (linhas), você pode envolver a função TRANSPOSE em torno da função FILTER assim:

=TRANSPOSE(FILTER(data,group="fox"))

O resultado é o seguinte:

Esta fórmula é explicada com mais detalhes aqui.

Filtrar por idade

A mesma fórmula básica pode ser usada para filtrar os dados de maneiras diferentes. Por exemplo, para filtrar dados para mostrar apenas colunas onde a idade é menor que 22, você pode usar uma fórmula como esta:

=FILTER(data,age<22)

FILTER retorna as quatro colunas de dados correspondentes:

Artigos interessantes...