Como encontrar intervalos no Excel

Como encontrar intervalos no Excel

Na coluna A, tenho alguns números, formatados como texto devido aos zeros à esquerda:

+-------------+
|  A          |
+-------------+
| 01011111001 |
| 01011111002 |
| 01011111003 |
| 01011111012 |
| 01011111013 |
+------+------+

Usando a coluna A como entrada, quero preencher duas outras colunas, B e C, assim:

+-------------+--------------+
|  B          |  C           |
+-------------+--------------+
| 01011111001 | 010111111003 |
| 01011111012 | 010111111013 |
| 01011111115 |              |
| 01011111117 |              |
| 01011111019 | 0101111111020|
+------+------+--------------+

Quando há uma sequência de números (como um intervalo), quero ter o número inicial na coluna B e o número final na coluna C.

No entanto, se for um número único, pode permanecer na própria coluna B.

Eu tenho 10.000 números que possuem intervalos e números únicos que desejo separar como acima

Como isso pode ser feito no Excel?

Responder1

Usando dados de amostra estendidos

01011111002
01011111003
01011111004
01011111005
01011111006
01011111008
01011111009
01011111011
01011111012
01011111013
01011111014
01011111015
01011111016
01011111017
01011111018
01011111020
01011111023
01011111026
01011111027
01011111028
01011111031
01011111032
01011111033
01011111034

e supondo que seja uma lista ordenada, aqui estão as etapas que podem ajudar:

1) Defina um nome pool, que inclua o intervalo de dados + mais uma célula, que está vazia.

insira a descrição da imagem aqui

2) Defina um nome nn, que conte o tamanho do poolcomo

=ROWS(pool)

3) Defina um nome newrangepara ser uma fórmula:

=MOD((-1+(N(OFFSET(pool,1,,nn-1)-OFFSET(pool,,,nn-1)<>1)*ROW(OFFSET(pool,,,nn-1)))),nn)+1

4) Selecione o intervalo próximo à poolcoluna in Be insira uma fórmula de matriz (pressione Ctrl+ Shift+ Enterem vez de apenas Enter):

=newrange 

entre 0abaixo da última célula e selecione:

insira a descrição da imagem aqui

5) Em seguida, copie esta seleção, cole como valores e ordene em ordem crescente:

insira a descrição da imagem aqui

6) Entre C1:

=IF(OFFSET($A$1,B1,)>0,OFFSET($A$1,B1,),"")

7) Entre D1:

=IF(OFFSET($A$1,B2-1,)=C1,"",OFFSET($A$1,B2-1,))

8) Selecione C1:D1e arraste/copie para baixo até que células vazias apareçam na coluna C:

insira a descrição da imagem aqui

informação relacionada