Como encontrar intervalos no excel

0

Na coluna A, eu tenho alguns números, formatados como texto devido a 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 em col B e o número final em Col C.

No entanto, se for um único número, isso pode permanecer no próprio col B.

Tenho 10000 números que têm intervalos e números únicos que querem separar como acima

Como isso pode ser feito no Excel?

    
por janarthanan .r 20.06.2017 / 08:18

1 resposta

0

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 assumindo que é uma lista ordenada, aqui estão os passos que podem ajudar:

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

2)Definaumnomenn,quecontaotamanhodopoolcomo

=ROWS(pool)

3)Definaumnomenewrangeparaserumafórmula:

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

4)SelecioneointervaloaoladodepoolnacolunaBeinsiraumafórmuladematriz(pressioneCtrl+Desloc+DigiteaoinvésdeapenasEnter):

=newrange

insira0abaixodaúltimacélulaeselecione:

5)Emseguida,copieestaseleção,colecomovaloreseclassifiqueemordemcrescente:

6)DigiteemC1:

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

7) Digite em D1 :

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

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

    
por 21.06.2017 / 13:58