Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Dúvidas sobre cálculos, funções simples e aninhadas, fórmulas matriciais, etc.
#68819
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.
Você não está autorizado a ver ou baixar esse anexo.
#68826
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 ?
#68828
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.
#68829
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.
#69000
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.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord