Página 1 de 1
Checar e criar faixas de CEPs dado uma lista de CEPs
Enviado: 22 Jan 2022 às 07:57
por leoficz
Bom dia, gente.
Preciso de uma ajuda.
Tenho uma lista de CEPs, que podem ser únicas, por exemplo Cep Inicial 1 - Cep Final 1, ou conter uma faixa, exemplo, Cep Inicial 1 - Cep Final 5.
O problema começa aí. Alguns ceps ou faixas podem estar repetidos ou conter ceps dentro de outras faixas, como por exemplo (assumam o primeiro número como cep inicial, e o segundo como cep final, e todos sequenciais entre o inicial e o final):
Linha A - 1 - 7
Linha B - 3 - 9
Linha C - 2 - 5
Linha D - 8 - 13
Linha E - 10-10
Queria uma ajuda pra saber se é possível fazer um check para eliminar os ceps repetidos e recriar as faixas sequenciais, como por exemplo na linha B acima, que poderia ser reescrita juntando a Linha A e B, virando 1 - 9 (já que os ceps de 3 - 7 já estão na Linha A) e posteriormente com a Linha D, virando 1 - 13.
Em anexo a planilha em questão. Na aba geral, temos todas as faixas de cep que deveriam ser checadas e reescritas para otimização.
Não tenho certeza se é possível fazer isso apenas com as fórmulas do excel ou se seria preciso usar VBA ou mesmo mágica. Mas qualquer ajuda já seria ótimo.
Muito obrigado, pessoal.
Re: Checar e criar faixas de CEPs dado uma lista de CEPs
Enviado: 22 Jan 2022 às 16:50
por osvaldomp
Olá, @leoficz .
Se entendi corretamente o que você quer, o resultado será uma única faixa que englobará todas as demais.
E essa faixa será formada pelo valor mínimo de A como sendo o CEP Inicial, e pelo valor máximo de B como sendo o CEP Final.
Assim, no exemplo que você colocou no seu post acima, a faixa final resultante seria formada por 1 e 13 (Inicial - Final), que engloba todas as demais.
No caso da sua planilha:
Inicial ~~~> mínimo de A ~~~> =MÍNIMO(A:A) ~~~> que retorna 20010000
Final ~~~> máximo de B ~~~> =MÁXIMO(B:B) ~~~> que retorna 24370700
Resultado final ~~~> 20010000 - 24370700
Ou peguei o trem errado ?
Re: Checar e criar faixas de CEPs dado uma lista de CEPs
Enviado: 23 Jan 2022 às 11:04
por leoficz
Fala Osvaldo, tudo bem?
É mais ou menos isso, só que teria que checar todos os ceps da planilha e reorganizá-los para formar faixas coerentes. O problema em usar mínimo é que as faixas não são sequenciais e podem ter ceps que não estão inclusos e não podem estar.
Por exemplo, na linha 2 da planilha anexada, na aba Geral, temos a seguinte faixa de CEP:
20010000 20021022
As linhas 3 a 8 contem ceps que se encaixam na faixa de cep da linha 2:
20010120 20010120
20011030 20011030
20020010 20020010
20020080 20020080
20020100 20020100
20020906 20020906
Isso faz com que a otimização da planilha não fique tão boa. Então estou tentando achar um jeito de fazer um check na faixa inteira para excluir, ou marcar para exclusão posterior, o desnecessário (que já estão em outras faixas) ou criar faixas sequenciais com os valores iniciais e finais.
Usando um exemplo:
Suponhamos que temos na linha 2 a mesma faixa de cep:
20010000 20021022
Na linha 3, teríamos as faixas
20021023 2003100
O cep da linha 3 complementa o da linha 2 e a fórmula (ou milagre mágico) apagaria ou segregaria para podermos apagar posteriormente a linha 3 e deixarmos apenas a linha 2 otimizando a planilha de ceps.
20010000 2003100
E excluiria todas as outras faixas dentro dessa nova.
Re: Checar e criar faixas de CEPs dado uma lista de CEPs
Enviado: 23 Jan 2022 às 15:11
por osvaldomp
leoficz escreveu: ↑23 Jan 2022 às 11:04
Por exemplo, na linha 2 da planilha anexada, na aba Geral, temos a seguinte faixa de CEP: ...
As linhas 3 a 8 contem ceps que se encaixam na faixa de cep da linha 2: ...
Então estou tentando achar um jeito de ... excluir, ... o desnecessário (que já estão em outras faixas)
Se entendi corretamente, no caso acima as faixas existentes em A2:B8 seriam substituídas por uma única faixa, é isso?
E nesse caso quais seriam os CEPs Inicial e Final dessa única faixa ?
Suponhamos que temos na linha 2 a mesma faixa de cep:
20010000 20021022
Na linha 3, teríamos as faixas
20021023 2003100 << falta um dígito no CEP Final
O cep da linha 3 complementa o da linha 2 ... apagaria ... a linha 3 e deixarmos apenas a linha 2 otimizando a planilha de ceps.
20010000 2003100
Apesar de ter um dígito a menos no CEP Final, me parece que o critério seria igual ao que entendi no exemplo anterior, ou seja, restaria uma única faixa que substituiria as faixas existentes em A2:B3, é isso?.
dica - para eliminar da tabela os CEPs inúteis, aqueles com Inicial igual ao Final:
1. cole uma cópia desta fórmula em C2 ~~~> =A2=B2
2. para estender a fórmula pela coluna dê duplo clique no canto inferior direito de C2 ou arraste
3. aplique Filtro na coluna C, critério VERDADEIRO
4. selecione todos os dados filtrados assim: selecione a primeira linha abaixo do cabeçalho, mantenha Shift pressionada, aperte End e em seguida seta-para-baixo
5. clique com o direito sobre qualquer parte da seleção | Excluir Linha | desaplique o Filtro |
6. limpe a coluna C
Com isso a sua tabela será reduzida de 5.509 para 408 linhas com dados.
Re: Checar e criar faixas de CEPs dado uma lista de CEPs
Enviado: 03 Fev 2022 às 06:57
por leoficz
Oi, osvaldomp, bom dia.
Obrigado pela resposta.
O problema não é apenas checar os ceps iniciais e finais, a limpeza já foi feita e está tudo ok. O problema é limpar a planilha, reorganizando essas faixas para que elas não contenham ceps repetidos checando dentro das faixas de cep.
Aparentemente, depois de tentar tudo, não acredito que exista um jeito de fazer isso apenas com o excel. Vou ver alternativas mesmo.
Muito obrigado pelas respostas.