Os 4 padrões de QUERY que analistas de FP&A usam com mais frequência são WHERE, ORDER BY, SELECT DISTINCT e GROUP BY. O Excel resolve 3 deles de forma direta e um com um contorno. Veja como fica cada substituição quando os dados são reais.
Sintaxe QUERY vs. Equivalente no Excel: Referência Rápida
| Cláusula QUERY | Equivalente no Excel | Observações |
|---|---|---|
SELECT A, B, C | CHOOSE({1,2,3}, A:A, B:B, C:C) | Use dentro do FILTER para selecionar colunas |
WHERE x = 'val' | FILTER(intervalo, condição) | Use * para AND, + para OR |
ORDER BY D DESC | SORTBY(intervalo, col_ordem, -1) | A chave de ordenação pode ficar fora do intervalo de saída |
SELECT DISTINCT A | UNIQUE(A:A) | Combina bem com FILTER e SORT |
GROUP BY A, SUM(B) | UNIQUE() + SUMIFS(…, A2#) | A referência de derramamento é o ponto central |
LIMIT n | TAKE(resultado, n) | Disponível no Excel 365 (2022+) |
De acordo com a documentação da Google Visualization API Query Language, o QUERY usa "uma linguagem de consulta similar ao SQL" com 12 cláusulas suportadas. O conjunto de funções de matriz dinâmica do Excel cobre 8 delas de forma confiável em julho de 2026.
WHERE → FILTER (Com Seleção de Colunas)
O FILTER retorna linhas inteiras. O QUERY permite especificar colunas diretamente: SELECT B, D, F WHERE.... O FILTER não faz isso.
A solução é usar CHOOSE com uma constante de matriz para selecionar colunas específicas antes ou depois da avaliação do FILTER. Para um extrato de receita filtrando contratos ARR acima de R$ 2,5 milhões:
=FILTER(
CHOOSE({1,2,3},
'Detalhe Receita'!B2:B5000, -- Nome da conta
'Detalhe Receita'!D2:D5000, -- Tipo de receita
'Detalhe Receita'!F2:F5000), -- Valor do contrato
('Detalhe Receita'!C2:C5000 = "ARR") *
('Detalhe Receita'!F2:F5000 >= 2500000)
)
O operador * funciona como AND. O + funciona como OR. Para filtros com múltiplas condições que cruzam abas e buscam dados na planilha de premissas:
=FILTER(
CHOOSE({1,2,3,4},
'Razão Geral'!A2:A10000,
'Razão Geral'!C2:C10000,
'Razão Geral'!D2:D10000,
'Razão Geral'!F2:F10000),
('Razão Geral'!B2:B10000 = Premissas!$B$4) *
('Razão Geral'!E2:E10000 >= Premissas!$C$3) *
('Razão Geral'!E2:E10000 <= Premissas!$D$3)
)
Filtro de entidade ancorado em Premissas!$B$4, intervalo de datas em $C$3:$D$3. Essa é a estrutura de fórmula por trás de um extrato de realizados trimestrais para o material do conselho: o tipo de relatório que o CFO pede para reprocessar com uma entidade diferente 20 minutos antes da reunião.
ORDER BY → SORTBY
O SORT cuida de ordenação simples em coluna única, crescente ou decrescente. O SORTBY é o que você precisa quando a chave de ordenação não está no intervalo de saída, o que acontece o tempo todo em tabelas de margem de contribuição, rankings de negócios e resumos de desempenho por SKU.
Ordenando SKUs ativos por margem bruta em reais de forma decrescente, exibindo apenas nome e receita:
=SORTBY(
FILTER(
CHOOSE({1,2}, 'Detalhe SKU'!A2:A500, 'Detalhe SKU'!C2:C500),
'Detalhe SKU'!E2:E500 = "Ativo"
),
FILTER('Detalhe SKU'!D2:D500, 'Detalhe SKU'!E2:E500 = "Ativo"),
-1
)
O array de ordenação precisa ter a mesma quantidade de linhas que o array de saída. O FILTER interno na chave de ordenação deve usar exatamente a mesma condição do externo: se as condições divergirem, você vai receber um erro #VALUE!. Esse é o principal ponto de atenção aqui.
SELECT DISTINCT → UNIQUE
O SELECT DISTINCT do QUERY equivale ao UNIQUE no Excel, e a composição fica mais limpa.
Uma lista dinâmica de dimensões para um relatório de variância de centros de custo, ordenada alfabeticamente:
=SORT(UNIQUE('Razão Geral'!D2:D10000))
Duas funções. No QUERY você escreveria SELECT DISTINCT D ORDER BY D e ainda precisaria tratar a linha de cabeçalho separadamente.
Onde o UNIQUE realmente justifica seu uso em um modelo real: na geração de rótulos de linha para uma tabela de resumo que se expande automaticamente conforme novos centros de custo aparecem no razão. Sem atualizar tabela dinâmica, sem lista fixa para manter, sem referência quebrada quando o financeiro adiciona um departamento no meio do ano.
GROUP BY - O Que Exige um Contorno
É aqui que a analogia com o QUERY começa a falhar. O GROUP BY com agregação do QUERY é uma única fórmula. O Excel não tem equivalente direto: você precisa de 2 fórmulas trabalhando juntas.
O padrão: UNIQUE gera a lista de dimensões, SUMIFS com referência de derramamento faz a agregação.
Na coluna A (rótulos de dimensão, que se expandem automaticamente para baixo):
=SORT(UNIQUE('Razão Geral'!B2:B3000))
Na coluna B (EBITDA agregado, uma única fórmula que cobre toda a coluna):
=SUMIFS('Razão Geral'!F2:F3000, 'Razão Geral'!B2:B3000, A2#)
A referência de derramamento A2# é o elemento central. O SUMIFS avalia cada valor do intervalo derramado e retorna um array correspondente, um resultado por unidade de negócio. Isso replica SELECT B, SUM(F) GROUP BY B ORDER BY B em 2 fórmulas em vez de 1.
Para um GROUP BY com múltiplas condições, como EBITDA por entidade e categoria de custo, extraindo realizados de uma aba de DRE com mais de 5.000 linhas:
=SUMIFS(
'DRE'!D2:D5000, -- Valores a somar
'DRE'!B2:B5000, Dimensoes!A2#, -- Entidade (ref. derramamento)
'DRE'!C2:C5000, ">=" & Premissas!$C$3, -- Início do período
'DRE'!C2:C5000, "<=" & Premissas!$D$3, -- Fim do período
'DRE'!E2:E5000, "Despesa Operacional" -- Tipo de linha
)
É mais verboso que o QUERY, mas mais auditável. Cada condição está visível. Quem vai revisar consegue rastrear cada argumento sem precisar rodar a fórmula em um ambiente de teste.
A Restrição de Versão Que Ninguém Menciona
FILTER, SORT, SORTBY e UNIQUE exigem Excel 365 ou Excel 2021. Não estão disponíveis no Excel 2019 ou versões anteriores. De acordo com a documentação da Microsoft, essas funções de matriz dinâmica foram introduzidas no Excel 365 a partir de 2019, com as licenças perpétuas do Excel 2021 incorporando-as em outubro daquele ano.
Se o seu modelo precisa abrir em versões legadas do Excel, algo comum em bancos e fundos onde a política de TI costuma ficar 3 ou mais anos atrás das versões atuais, cada fórmula de matriz dinâmica vai quebrar. O seu FILTER vira #NAME?. Você volta para SUMIFS na agregação, INDEX/MATCH na filtragem e tabelas dinâmicas para qualquer coisa que se aproxime de um GROUP BY.
Essa é uma restrição real em trabalhos de valuation e DCF onde a contraparte abre o arquivo em um ambiente controlado rodando Excel 2016 ou 2019. O QUERY tem um problema parecido de portabilidade no Sheets (não consegue acessar arquivos externos), mas pelo menos funciona de forma consistente dentro da plataforma.
O Que o QUERY Faz Que o Excel Ainda Não Resolve Bem
Dois padrões não se traduzem com facilidade:
Colunas calculadas inline. O QUERY permite SELECT A, B*C AS margem_bruta WHERE... e retorna a coluna calculada no resultado. O FILTER retorna apenas valores armazenados. Você precisa de uma coluna auxiliar, ou usar BYROW/LAMBDA, que funciona no Excel 365, mas ainda não é prática padrão na maioria dos modelos de FP&A em meados de 2026.
A cláusula PIVOT. O QUERY consegue transpor valores de linha em cabeçalhos de coluna de forma dinâmica. Não existe equivalente no Excel sem VBA ou Power Query. Se o seu QUERY estava fazendo pivô cruzado inline, esse é o caso de uso que genuinamente não tem substituto limpo nas fórmulas padrão do Excel.
Reconstruindo Fórmulas QUERY em Escala
Se você está migrando um modelo do Sheets com 15 a 20 fórmulas QUERY para o Excel, o trabalho de conversão é mecânico, mas trabalhoso. Cada fórmula precisa ser decomposta em operações separadas, as seleções de coluna precisam ser reescritas com arrays CHOOSE e a lógica de GROUP BY precisa ser dividida em pares UNIQUE + SUMIFS.
O ModelMonkey faz isso diretamente na planilha: você descreve o QUERY que tinha no Sheets e ele escreve o equivalente em FILTER/SORT/UNIQUE já ajustado ao layout real dos seus dados e à estrutura das suas abas. Para uma migração completa de modelo que levaria de 2 a 3 horas para um analista sênior fazer com cuidado, o processo roda em minutos. Escolha um plano do ModelMonkey, tanto no Google Sheets quanto no Excel.
Perguntas Frequentes
O Excel tem alguma função equivalente ao QUERY do Google Sheets? Não existe uma função única com o mesmo nome ou comportamento. O Excel substitui o QUERY com uma combinação de funções de matriz dinâmica: FILTER (para WHERE), SORTBY (para ORDER BY), UNIQUE (para SELECT DISTINCT) e o par UNIQUE + SUMIFS (para GROUP BY). Cada padrão requer uma composição diferente.
As funções FILTER e UNIQUE funcionam em todas as versões do Excel? Não. FILTER, SORT, SORTBY e UNIQUE são exclusivas do Excel 365 e Excel 2021. Modelos que precisam rodar em Excel 2019 ou versões anteriores não conseguem usar essas funções. Nesse caso, as alternativas são SUMIFS para agregação, INDEX/MATCH para filtragem e tabelas dinâmicas para agrupamentos.
Como replicar o SELECT DISTINCT do QUERY no Excel?
Use UNIQUE() com o intervalo da coluna desejada. Para ordenar o resultado alfabeticamente, envolva com SORT: =SORT(UNIQUE(A2:A1000)). No QUERY você precisaria de SELECT DISTINCT A ORDER BY A e ainda trataria o cabeçalho separadamente.
É possível fazer GROUP BY com múltiplas condições no Excel sem VBA?
Sim. O padrão é usar UNIQUE para gerar a lista de dimensões em uma coluna e SUMIFS com referência de derramamento (A2#) para agregar os valores. Para múltiplas condições de filtro, adicione os pares de critério extras dentro do SUMIFS. O resultado é mais verboso que o QUERY, mas cada condição fica explícita e rastreável durante a auditoria do modelo.
O que o QUERY faz que o Excel não consegue replicar com fórmulas padrão?
Dois padrões não têm substituto limpo: colunas calculadas inline (como SELECT A, B*C AS margem) e a cláusula PIVOT, que transpõe linhas em colunas dinamicamente. O Excel resolve o primeiro com colunas auxiliares ou BYROW/LAMBDA no 365, mas não tem equivalente para o PIVOT sem recorrer a VBA ou Power Query.