Descomponer numero en cifras en celdas individuales

Tengo datos numéricos (ID) de 9 dígitos en una celda y en otra celda una fecha.

Necesito descomponer los 9 dígitos de ID y los 8 de la fecha en cifras individuales, en celdas individuales.

¿Hay alguna fórmula o función que me permita hacer esto?

Muchas Gracias

1 respuesta

Respuesta
1

Te anexo una macro. En la imagen te muestro cómo deben estar tus números y cómo quedaría el resultado, es una forma más práctica, si es que tienes más números hacia abajo en la columna "B".


Sub DescomponerNumeros()
'Por.Dante Amor
    col1 = "B"
    col2 = "F"
    fila = 5
    '
    For i = fila To Range(col1 & Rows.Count).End(xlUp).Row
        c = Columns(col2).Column
        For j = 1 To 9
            Cells(i, c) = Mid(Cells(i, col1), j, 1)
            c = c + 1
        Next
        '
        c = Columns(col2).Column + 10
        col3 = Columns(col1).Column + 1
        fec = Format(Cells(i, col3), "ddmmyyyy")
        For j = 1 To 8
            Cells(i, c) = Mid(fec, j, 1)
            c = c + 1
        Next
        '
    Next
    MsgBox "Fin"
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: DescomponerNumeros
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

Saludos. Dante Amor

Hola. Muchas gracias por tu trabajo, pero lo mío era sólo un ejemplo.

Pensé que me darían una función o una fórmula que yo luego adaptaría a mi necesidad real, y de paso aprendía algo nuevo del fabuloso Excel.

En realidad tengo en una columna un rango de 5 celdas a saber

1º celda = 11 dígitos

2º celda = 14 dígitos

3º celda = 2 dígitos ( el primero puede ser cero) 

4º celda = 4 dígitos ( los tres primeros pueden ser cero)

5º celda = 8 dígitos (Fecha -el primero puede ser cero)

Hago la aclaración de los ceros por que la celda sólo contendrá un dígito en el caso de la celdas 3º y 4º, y según el formato (Que lo podemos solucionar) 7 dígitos en el caso de la quinta celda.

Y lo que necesito es que quede así:

Hay que recordar que la celda tercera (B4) también puede empezar con cero.

Me podrás ayudar.

Muchas gracias.

Te anexo la fórmula para cuando es número

En la celda D2 pon esta fórmula

=EXTRAE($B2;1;1)

En la celda E2

=EXTRAE($B2,2,1)

En la celda F2

=EXTRAE($B2,3,1)

En cada fórmula se tiene que cambiar el primer número, ese número indica el carácter que quieres extraer.

Si tienes versión 2010, en lugar de poner EXTRAE, tienes que poner "MED".


Para el caso de fecha tienes que poner 8 fórmulas, así

=IZQUIERDA(TEXTO(DIA(B2),"00");1)

=DERECHA(DIA(B2);1)

=IZQUIERDA(TEXTO(MES(B2);"00");1)

=DERECHA(MES($B2);1)

=EXTRAE(AÑO(B2);1;1)

=EXTRAE(AÑO(B2),2,1)

=EXTRAE(AÑO(B2),3,1)

=EXTRAE(AÑO(B2),4,1)


Una vez que pusiste todas las fórmulas puedes copiarlas o arrastrarlas hacia abajo. Recuerda que las fórmulas para fecha son diferentes.

Saludos. Dante Amor

Te completo las fórmulas


Para el caso de la fila 2 tienes que poner esta fórmula y la repites 10 veces a la derecha, cambia el primer número desde el 1 hasta el 11.

=EXTRAE($B2;1;1)


Para el caso de la fila 3 copia las fórmulas de la fila 2 en la fila 3 y completa 3 fórmulas más para llegar a 14.


Para el caso de la fila 4

En la columna "D" pon esta fórmula

=EXTRAE(TEXTO($B4;"00");1;1)

Y en la columna E:

=EXTRAE(TEXTO($B4;"00");2;1)


En el caso de la fila 5, estas son las fórmulas

=EXTRAE(TEXTO($B5;"0000");1;1)

=EXTRAE(TEXTO($B5;"0000");2;1)

=EXTRAE(TEXTO($B5;"0000");3;1)

=EXTRAE(TEXTO($B5;"0000");4;1)


En el caso de la fila 6

=IZQUIERDA(TEXTO(DIA(B2),"00");1)
=DERECHA(DIA(B2);1)
=IZQUIERDA(TEXTO(MES(B2);"00");1)
=DERECHA(MES($B2);1)
=EXTRAE(AÑO(B2);1;1)
=EXTRAE(AÑO(B2),2,1)
=EXTRAE(AÑO(B2),3,1)
=EXTRAE(AÑO(B2),4,1)

Saludos.Dante Amor

En las últimas fórmulas puse el separador, y debe ser el separador ;

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas