Como usar a função QUERY do Google Sheets

O Planilhas Google PESQUISA é uma ferramenta muito poderosa e versátil. Tanto que você pode chamá-la de "one-stop-shop" para todos os seus requisitos lógicos, de pesquisa, de soma, de contagem, de média, de filtragem e de classificação. A função busca informações específicas de um conjunto de dados por meio de uma instrução de consulta, da mesma forma que busca conjuntos de resultados de um banco de dados usando consultas. A sintaxe da função linguagem de consulta usado nessa função é semelhante ao SQL.

Sintaxe

=QUERY(data, query, [headers])
  • dados - é a referência ao intervalo de células sobre o qual queremos fazer a consulta.
  • consulta - é o texto com o qual a função QUERY produz as informações que estamos procurando no conjunto de dados. Como se espera que seja uma cadeia de caracteres, ela deve ser colocada entre aspas. Ou também pode ser uma referência a uma célula, onde o texto da consulta está armazenado.
  • cabeçalhos - é um parâmetro opcional que indica o número de linhas de cabeçalho na parte superior dos dados. Se não for informado, o Planilhas Google adivinha o valor com base no conteúdo do campo dados.

Cláusulas e operadores

A linguagem de consulta usada na função QUERY do Google Sheets é uma linguagem baseada em texto semelhante ao SQL. A consulta usa cláusulas para executar ações. Abaixo está uma lista das cláusulas possíveis que você pode usar para executar uma ampla variedade de ações em seus dados.

consulta 1 do google sheets

Se você usa muito a função QUERY, verá que também faz uso de vários operadores lógicos para definir condições dentro da função. Abaixo está uma lista de operadores lógicos que você pode usar.

consulta 2 do google sheets

Funções básicas de QUERY

Em primeiro lugar, para entender como a função é usada, considere os seguintes dados de amostra. Ele consiste em informações correspondentes a uma lista de alunos que se inscreveram em vários cursos em uma universidade. Em todos os próximos exemplos, inserirei a função na célula H1. Ela também será exibida na barra de funções nos snapshots.

consulta 3 do google sheets

Exemplo #1: Selecionar colunas com base em uma condição

Começarei com uma demonstração bem básica e aumentarei a complexidade ao longo do artigo para ajudá-lo a entender a função passo a passo. Para começar, usarei a função QUERY para buscar os nomes dos alunos que estão residindo no campus.

=QUERY(A1:F15, ”Select A where F = ‘Yes'”,1)

consulta 4 do google sheets

Antes de prosseguir, examinarei alguns dos conceitos básicos do QUERY neste primeiro exemplo. Para começar, observe que os dados selecionados incluem os cabeçalhos - eles serão usados como parte do resultado da função. Você pode ver que a função retornou não apenas os nomes dos alunos que residem no campus, mas também o cabeçalho Name, que é muito útil para acompanhar o significado dos resultados!

Depois de selecionar os dados, a parte principal da consulta está entre aspas como um comando de cadeia de texto. Usei duas das cláusulas listadas no gráfico acima: Select e Where. O comando ‘select’ é usado para retornar colunas - dizer à função para “Select A” leva a uma saída da coluna A inteira.

A cláusula ‘where’ permite que você adicione uma condição. Aqui, adicionei a condição de que a coluna F deve ser igual a “Yes” (Sim). Para as linhas em que a coluna F é “No” (Não), a função ignora esses dados e não os inclui na saída.

Combinando as duas cláusulas em uma única consulta, digitei “Select A where F = ‘Yes’”. Essencialmente, isso está dizendo à função para retornar todos os nomes (da coluna A) dos alunos que moram no campus (os dados na coluna F são ‘Sim’).

Dica: se estiver selecionando todas as colunas do conjunto de dados, você pode digitar Select * para fazer isso rapidamente, em vez de listar cada coluna!

Exemplo #2: Selecionar colunas com base em uma condição

Agora vou mostrar o mesmo exemplo, mas encontrando os alunos que NÃO estão no campus.

=QUERY(A1:F15, ”Select A where F ‘Yes'”,1)

consulta 5 do google sheets

A única diferença aqui é que eu mudei o operador lógico na cláusula ‘where’ para <>, que significa “não igual”. Portanto, estou pedindo que a função me forneça a lista de nomes de alunos que NÃO têm um ‘Sim’ na coluna F.

Exemplo #3: Selecionar várias colunas

Agora vou buscar os nomes, idades e departamentos dos alunos que fizeram mais de 7 cursos.

=QUERY(A1:F15, ”Select A, B, C where D > 7″,1)

consulta ao google sheets 6

Novamente, começo com a cláusula Select, mas, desta vez, seleciono várias colunas listando-as separadas por vírgulas. Escolhi as colunas A, B e C para serem selecionadas. Também alterei a cláusula Where para filtrar os dados dos alunos que têm menos de 7 cursos.

Exemplo #4: Múltiplas condições WHERE

Agora vou dar um passo adiante. Mostrarei os nomes, os departamentos e as datas de ingresso dos alunos com 25 anos ou menos que ingressaram na universidade entre 25 de dezembro de 2016 e 20 de janeiro de 2017. Observe que, no texto da consulta, as datas sempre devem estar no formato aaaa-mm-dd, entre aspas simples.

=QUERY(A1:F15, ”Select A, C, E where B = data ‘2016-12-25’ and E <= date = ‘2017-01-20′” ,1)

consulta 7 do google sheets

Como você pode ver, é possível adicionar várias condições Where simplesmente separando-as com “and”. Isso permite que você filtre os dados de qualquer maneira que possa imaginar!

Exemplo #5: Células de referência

E se você precisar fazer referência à data de uma célula? Não há problema! Você pode fazer isso com a ajuda de operadores de concatenação e uma função de texto. Ao fazer isso no exemplo abaixo, você obterá os nomes e as datas de ingresso dos alunos que ingressaram após 1º de janeiro de 2017.

=QUERY(A1:F15, ”Select A, E where E > date ‘” & TEXT(I1, ”yyyy-mm-dd”)&”‘”,1)

consulta do google sheets 8

Um aspecto importante a ser observado ao usar datas em sua consulta é que as datas só podem estar no formato aaaa-mm-dd e devem ser colocadas entre aspas simples e precedidas pela string “date”. Portanto, para indicar 1º de janeiro de 2020 em sua consulta, você precisaria digitar: date ‘2020-01-01’.

Funções aritméticas e de agregação

Além das várias cláusulas listadas acima, você pode usar funções aritméticas regulares em suas consultas. Operações como adição, subtração, multiplicação e divisão, bem como as funções de agregação soma, média, contagem, máximo e mínimo, são todas válidas.

Exemplo #6: Multiplicação e adição

Vou começar demonstrando algumas funções aritméticas simples: multiplicação e adição. Neste exemplo, quero que a idade seja em meses em vez de anos (portanto, multiplicarei por 12) e quero adicionar um crédito para cada aluno.

=QUERY(A1:F15, ”Select C, (B*12), (D+1)”,1)

consulta do google sheets 9

Como você pode ver, tudo o que você precisa fazer é executar a operação na coluna de sua escolha. O resultado não é muito bonito, mas discutiremos como alterar os cabeçalhos e a formatação mais adiante neste guia.

Exemplo #7: Média

Agora mostrarei uma operação de agregação - a função média. A média de uma coluna é acessada com a abreviação ‘avg’. Você também precisa informar à função quais itens devem ser agregados à média, ou seja, como você deseja agrupar os dados. É por isso que eu também disse à função para agrupar os dados pela coluna C (dept), usando a cláusula Group by.

=QUERY(A1:F15, ”Select C, avg(B) group by C”, 1)

consulta do google sheets 10

Você já viu a função QUERY usar funções aritméticas básicas, como multiplicação e adição, bem como operações de agregação, como a média.

Funções complexas de QUERY

Agora que você já viu alguns exemplos básicos usando as cláusulas Select e Where para filtrar um conjunto de dados, bem como algumas funções aritméticas, mostrarei alguns exemplos mais complexos usando uma variedade de cláusulas e operações.

Exemplo #8: Selecionar, somar e agrupar por

Você pode usar uma combinação de Select, Sum e Group By para listar todos os departamentos e exibir o número de cursos feitos em cada departamento. A cláusula Group By é usada junto com funções de agregação (como Sum) para informar à função como os dados devem ser agrupados e somados - caso contrário, a função de agregação não funcionará.

=QUERY(A1:F15, ”Select C, sum(D) group by C”, 1)

consulta 11 do google sheets

Exemplo #9: Rotular e classificar

No exemplo anterior, você notará que a função QUERY retornou a segunda coluna com o cabeçalho “sum Courses”. Honestamente, isso é um pouco estranho - felizmente, você pode corrigir isso renomeando-a. Além disso, também usarei a segunda coluna (agora renomeada para ‘Cursos realizados’) para classificar em ordem crescente. Veja como fazer isso.

=QUERY(A1:F15, ”Select C, sum(D) group by C order by sum(D) label sum(D) ‘Courses Taken'”, 1)

consulta ao google sheets 12

Exemplo #10: Contagem

Você pode exibir o número de instâncias em que o aluno está fazendo cursos de cada departamento? Claro que sim! A função QUERY também oferece essa opção - você pode usar o operador de contagem para fazer isso.

=QUERY(A1:F15, ”Select C, count(D) group by C label count(D) ‘# Instances'”, 1)

consulta ao google sheets 13

Em vez de usar o operador Sum (soma) para somar todos os cursos realizados, estou usando o operador Count (contagem) para contar o número de ocorrências de um aluno que cursou qualquer número de créditos em cada departamento. Também estou usando novamente as cláusulas Select, Group by e Label para obter o resultado desejado.

Exemplo #11: Limite e pedido por

A cláusula Limit limita os resultados a um número específico. Por exemplo, na captura de tela abaixo, limito a saída a 10 linhas. Essa cláusula é frequentemente usada em conjunto com a cláusula Order by, que coloca os dados em ordem ascendente ou descendente.

=QUERY(A1:F15, ”Select A, B order by B asc limit 10″, 1)

consulta ao google sheets 14

Aqui, usei a cláusula Order by para classificar os dados da idade mais baixa para a mais alta e, em seguida, usei a cláusula Limit para limitar o resultado a 10, o que me deu os 10 alunos mais jovens.

Exemplo #12: Pivô

A cláusula Pivot permite essencialmente que você crie suas próprias tabelas dinâmicas usando a função QUERY. No exemplo abaixo, peguei um exemplo anterior e o dinamizei pela coluna A. O resultado é que os nomes dos alunos agora são os cabeçalhos, com os dados que selecionei nas linhas abaixo de cada nome.

=QUERY(A1:F15, ”Select C, sum(D) group by C pivot A”, 1)

consulta ao google sheets 15

O uso da cláusula Pivot é um uso um pouco mais avançado das consultas, mas se você brincar com ela, descobrirá os muitos usos que ela tem!

Uso de ‘OR’ em consultas

Até agora, você viu muitas consultas que usam ‘and’ para acrescentar critérios adicionais à consulta. Mas você também pode usar ‘or’, assim como em outras funções do Planilhas Google, como as instruções IF.

Exemplo #13: Uso de OR em uma consulta

Este exemplo é uma réplica de um exemplo anterior, mas, em vez de especificar que a idade precisa ser 25 anos ou menos E a data de união deve estar entre as datas especificadas, estou especificando que qualquer ponto de dados que atenda a QUALQUER um desses critérios passará pelo filtro e aparecerá no resultado.

=QUERY(A1:F15, ”Select A, C, E where B = data ‘2016-12-25’ and E <= data = ‘2017-01-20’ ,1)

consulta ao google sheets 16

Cabeçalhos

Até agora, todos os exemplos foram feitos com uma única linha de cabeçalhos nos dados e um ‘1’ no parâmetro de cabeçalho dentro da função QUERY. Agora, mostrarei o que fazer se você tiver cabeçalhos que abrangem várias linhas.

Exemplo #14: Várias linhas de cabeçalhos

O cabeçalho é uma entrada opcional que é útil quando os cabeçalhos se estendem por várias linhas. Nesses casos, esse parâmetro o ajuda a combinar facilmente os cabeçalhos em uma única linha, como mostrado abaixo.

=QUERY(A1:F16, ”Select A, B, C, D where F “No””, 2)

consulta ao google sheets 17

Tudo o que você precisa fazer é colocar um ‘2’ como o cabeçalho após a consulta! Independentemente do número de linhas que seus cabeçalhos abrangem, basta colocar esse número no parâmetro cabeçalho parâmetro - é tão simples quanto isso!

Consultar várias guias ou planilhas

O que acontece quando seus dados estão espalhados em várias guias da planilha ou até mesmo em uma planilha diferente? Você ainda pode usar a função QUERY nessas várias guias e planilhas!

Exemplo #15: Consulta em guias ou planilhas

Neste exemplo, você pode ver como usar a função QUERY em várias guias. A chave é ter os dados no mesmo formato em todas as planilhas - portanto, neste exemplo, as idades precisam estar na segunda coluna em ambas as planilhas. Em seguida, o formato muda um pouco - em vez de se referir às colunas pela letra (coluna A, B, etc.), você precisará se referir a elas pelo número (Col1, Col2, etc.).

Por fim, você também precisará colocar os intervalos de dados entre chaves {} e separá-los com um ponto e vírgula. As diferentes guias ou planilhas são identificadas com o nome da planilha seguido de um ponto de exclamação e, em seguida, o intervalo de células dentro da planilha. Tudo isso faz mais sentido quando você dá uma olhada no exemplo abaixo!

=QUERY({Sheet4!A1:F7;Sheet3!A1:F9}, “Select Col1”)

consulta ao google sheets 18

Sem dúvida, essa é uma das funções mais complexas a serem dominadas no Planilhas Google. Pode valer a pena dedicar seu tempo para dominar bem essa função, pois ela é, sem dúvida, uma das ferramentas mais potentes do Planilhas Google. Incentivamos você a explorar mais a PESQUISA função aqui.

Não deixe de conferir esta relevante postagem do blog sobre Como criar tabelas dinâmicas no Planilhas Google.

Nota do editor: Esta é uma versão revisada de uma postagem anterior que foi atualizada para maior precisão e abrangência.

Você também pode gostar...

Recursos e fórmulas do Google Sheets

Como encontrar a taxa de juros nominal usando o Planilhas Google

Sarah é uma jovem profissional que está tomando decisões financeiras importantes. De cartões de crédito a hipotecas, empréstimos estudantis e investimentos...
Recursos e fórmulas do Google Sheets

Extrair dados do Google Agenda para o Planilhas Google usando o Apps Script

Esta postagem foi publicada originalmente em nosso fórum da comunidade. Objetivo: Este guia demonstra como usar o Google Apps Script para extrair dados...
Recursos e fórmulas do Google Sheets

Usando a função PROPER para colocar a primeira letra de cada palavra em maiúscula no Planilhas Google

Observação: esta postagem foi publicada originalmente em nosso fórum da comunidade. Alguma vez você já precisou limpar uma lista de nomes, títulos ou qualquer...