Muitas vezes, você só tem o nome da rua ou avenida, a cidade e o estado, mas precisa encontrar o CEP correspondente. Já publicamos uma planilha e uma maneira de consultar o CEP, desde que você tenha o código postal numérico. Para consultar CEP usando logradouro, nós fizemos uma atualização na planilha que já disponibilizamos e vamos te entregar gratuitamente essa nova versão.
Com essa funcionalidade, a planilha retorna até 5 resultados possíveis, organizados em ordem de proximidade.
Além de disponibilizar o código para Apps Script com essa funcionalidade, ao final, você poderá fazer uma cópia dessa nova versão da planilha de Consulta de CEP, onde é possível:
- consultar um único CEP.
- consultar vários CEPs.
- e buscar CEP usando nome da rua/logradouro.
Código para Apps Script
Para que essa planilha funcione corretamente, ao clicar no botão consultar, uma função é executada no Apps Script.
Essa função é responsável por coletar o nome do rua, cidade e UF que você inseriu nas células da planilha. Em seguida, a API do ViaCEP é chamada para retornar os resultados.
function consultarCEP() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Consultar CEP_Logradouro");
// Ler os valores das células C15, C16 e C17
var logradouro = sheet.getRange("C15").getValue().replace(/\d+/g, '').trim().replace(/\s+/g, "+");
var cidade = sheet.getRange("C16").getValue().trim();
var uf = sheet.getRange("C17").getValue().trim();
// Verificar se todos os dados estão preenchidos
if (!logradouro || !cidade || !uf) {
sheet.getRange("B20:F24").clearContent();
SpreadsheetApp.getUi().alert("Por favor, preencha todos os campos obrigatórios (Logradouro, Cidade e UF).");
return;
}
// URL da API ViaCEP
var url = `https://viacep.com.br/ws/${uf}/${cidade}/${logradouro}/json/`;
try {
// Fazer a requisição
var response = UrlFetchApp.fetch(url);
var json = JSON.parse(response.getContentText());
// Verificar se há resultados
if (!Array.isArray(json) || json.length === 0) {
SpreadsheetApp.getUi().alert("Nenhum resultado foi encontrado.");
}
sheet.getRange("B20:F24").clearContent();
// Pegar os 5 primeiros resultados
var resultados = json.slice(0, 5);
// Escrever os dados na planilha
resultados.forEach((item, index) => {
sheet.getRange(20 + index, 2).setValue(item.cep || "");
sheet.getRange(20 + index, 3).setValue(item.logradouro || "");
sheet.getRange(20 + index, 4).setValue(item.bairro || "");
sheet.getRange(20 + index, 5).setValue(item.localidade || "");
sheet.getRange(20 + index, 6).setValue(item.uf || "");
});
} catch (error) {
// Em caso de erro, limpar resultados e mostrar alerta
sheet.getRange("B20:F24").clearContent();
SpreadsheetApp.getUi().alert("Erro ao buscar os dados: " + error.message);
}
}
Lembrando que esse script está configurado para funcionar em uma planilha nos moldes da imagem que mostramos no início do post. Por conta disso, recomendamos que você faça uma cópia da nossa versão.
Vantagens de usar um recurso de consultar CEP usando logradouro
Se você lida com muitas informações de endereço diariamente, principalmente com pedidos de lojas, ordens de compra e afins, essa planilha pode te auxiliar ao buscar CEP usando somente o nome da rua, cidade e estado.
Por ser simplificada, preenchendo somente as 3 informações (nome da rua, cidade e estado), o script retornará os 5 CEPs mais próximos. Dependendo do seu caso de uso, essa pode ser uma limitação, mas que felizmente pode ser resolvida alterando essa linha do código:
var resultados = json.slice(0, 5);
Basta alterar o 5 para um número que seja de no máximo 50, que é o limite de resultados retornados pela API do ViaCEP.
Além disso, você pode utilizar essa planilha como parte do seu sistema de cadastros e relatórios, mantendo sua base de clientes com endereços sempre atualizados e completos. Consultar CEP usando logradouro também pode ser útil quando o seu cliente não sabe o código postal.
Esperamos que tenha curtido essa nova atualização da planilha de consultas de CEP. Lembrando que também temos um grupo 100% gratuito no WhatsApp para tirar dúvidas e compartilhar conhecimento, participe agora mesmo da Comunidados.