Transforme sua planilha em algo mais profissional, dando uma cara de sistema: aprenda a criar um campo de pesquisa no Google Sheets de forma simples e eficiente. Vamos te mostrar como fazer isso sem usar códigos no Apps Script, apenas com a poderosa função QUERY.
Ao final, você conseguirá desenvolver um campo de pesquisa como este:
Função QUERY: o que é e como usar?
A função QUERY do Google Sheets permite realizar consultas em tabelas, similar ao que é feito com SQL em bancos de dados. Com ela, você pode filtrar, ordenar e organizar dados de maneira estruturada. A sintaxe básica da função é:
=QUERY(intervalo; consulta; [cabeçalhos])
- intervalo: a área da planilha que contém os seus dados.
- consulta: o comando SQL que especifica o que você deseja buscar. Exemplo:
SELECT *
para retornar todos os dados. - cabeçalhos: (opcional) indicar se você deseja retornar o título das colunas (1) ou não (0).
- Se definir como -1, o Google Sheets irá deduzir se a consulta tem dados com um cabeçalho.
Criando um campo de pesquisa no Google Sheets
Primeiramente, você precisa garantir que a sua base de dados está organizada. No nosso caso, trabalharemos com uma base de vendas que contém:
- número do pedido, nome do cliente, nome do produto, valor (R$), data da compra e entrega, status.
Na página consulta, será onde criaremos o campo para realizar a pesquisa. Como não estamos criando uma página para armazenar dados, e sim só para consultar, não há problemas em utilizar o recurso de mesclagem de células.
Então vamos unificar o intervalo C4:G5 em uma única célula, usando a funcionalidade de Mesclar. Isso já vai dar uma cara de campo de pesquisa.
Adicionando a função QUERY
A função QUERY será responsável por trazer os dados da base de vendas, com base no valor digitado no campo de busca. Nesse exemplo, queremos retornar as seguintes colunas:
- número do pedido, nome do cliente, nome do produto, preço, data da compra e o status
Essa será a fórmula com a função QUERY:
=SE(C4="";""; SEERRO(QUERY(base_de_vendas!A2:G;"select Col1, Col2, Col3, Col4, Col5, Col7 where Col2 contains '"&C4&"'";0);"Nenhum pedido foi localizado."))
Entendo a lógica a função QUERY
select Col1, Col2, Col3, Col4, Col5, Col7
: Especifica as colunas que serão exibidas no resultado.where Col2 contains '"&D4&"'
: Define que o filtro de pesquisa será quando o valor de C4 contém nome do cliente (Col2).SEERRO
: Garante que, caso a consulta não encontre resultados, seja exibida a mensagem “Nenhum pedido foi localizado.“SE(D4="";"")
: Evita que a consulta seja executada quando o campo de pesquisa estiver vazio.
Note que a fórmula está inserida na célula B10, que é a partir de onde queremos que os dados retornados sejam exibidos. A célula C4 dentro dessa da fórmula é a referência para o intervalo mesclado – onde a informação a ser pesquisada será digitada.
Além disso, o título das colunas foi definido manualmente nessa planilha, então o parâmetro cabeçalho da função QUERY foi definido como 0.
Adicionando um segundo critério no campo de pesquisa
Nesse exemplo, a tentativa de busca é feita somente com nome dos clientes. Mas e se eu quisesse que fosse também buscado entre o nome dos produtos?
Ou seja, para além de pesquisar “Maria”, “João” ou “Carlos”, também pode buscar por “Pijama”, “Jeans” ou “Vestido”. É bem simples de adaptar, pois o SQL é uma linguagem muito flexível.
Note que o comando responsável por fazer o filtro é o:
where Col2 contains '"&C4&"'
Col2 na base de vendas é a coluna com o nome do cliente, então o que precisamos é adicionar um OR (que significa OU no inglês) e efetuar o mesmo where na Col com o nome do produto: que é a Col3.
Então, a fórmula ficaria assim:
=SE(C4="";""; SEERRO(QUERY(base_de_vendas!A2:G;"select Col1, Col2, Col3, Col4, Col5, Col7 where Col2 contains '"&C4&"' or Col3 contains '"&C4&"'";0);"Nenhum pedido foi localizado."))
Caso queira fazer uma cópia da nossa planilha de demonstração, basta usar o formulário abaixo.
Esperamos que tenha curtido esse passo a passo. Se ficou com alguma dúvida, use a nossa seção de comentários aqui abaixo.
Participe também da Comunidados, nosso grupo 100% gratuito no WhatsApp para compartilhar conhecimento e resolver dúvidas.