
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.
2) Defina un nombre nn
, que cuente el tamaño del pool
como
=ROWS(pool)
3) Defina un nombre newrange
para 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 pool
columna in B
e ingrese una fórmula matricial (presione Ctrl+ Shift+ Enteren lugar de solo Enter):
=newrange
ingrese 0
debajo de la última celda y seleccione:
5) A continuación, copie esta selección, péguela como valores y ordene de forma ascendente:
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:D1
y arrastre/copie hacia abajo hasta que aparezcan celdas vacías en la columna C
: