Cómo encontrar rangos en excel

Cómo encontrar rangos en excel

En la columna A, tengo algunos números, formateados como texto debido a los ceros a la izquierda:

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

Usando la columna A como entrada, quiero completar otras dos columnas, B y C, así:

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

Cuando hay una secuencia de números (como un rango), quiero tener el número inicial en la columna B y el número final en la columna C.

Sin embargo, si es un número único, puede permanecer en la propia columna B.

Tengo 10000 números que tienen rangos y los números individuales quieren separarse como se indica arriba

¿Cómo se puede lograr esto en Excel?

Respuesta1

Usando datos de muestra extendidos

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

y suponiendo que sea una lista ordenada, estos son los pasos que pueden ayudar:

1) Defina un nombre pool, que incluya el rango de datos + una celda más, que esté vacía.

ingrese la descripción de la imagen aquí

2) Defina un nombre nn, que cuente el tamaño del poolcomo

=ROWS(pool)

3) Defina un nombre newrangepara que sea una fórmula:

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

4) Seleccione el rango al lado de la poolcolumna in Be ingrese una fórmula matricial (presione Ctrl+ Shift+ Enteren lugar de solo Enter):

=newrange 

ingrese 0debajo de la última celda y seleccione:

ingrese la descripción de la imagen aquí

5) A continuación, copie esta selección, péguela como valores y ordene de forma ascendente:

ingrese la descripción de la imagen aquí

6) Ingrese C1:

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

7) Ingrese D1:

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

8) Seleccione C1:D1y arrastre/copie hacia abajo hasta que aparezcan celdas vacías en la columna C:

ingrese la descripción de la imagen aquí

información relacionada