Excel formato celda

En la columna A tengo muchos dni alfnumerico y quería que en la columna B aparecieran con la siguiente estructura:
(De izquierda a derecha) nueve posiciones para los números, y si no hay tantos números en el DNI rellenarlos con cero y al final la letra.Por lo tanto nuevo dígitos numéricos y el ultimo la letra.
Ejemplos:
123456J... 000123456J
51234567K... 051234567K
Me valdría tanto una fórmula como una macro.
Gracias

1 respuesta

Respuesta
1
La forma más sencilla sería añadir ceros por la izquierda.
Si el primer DNI está en la celda A1, pon la siguiente fórmula en B1
=SI(A1="";"";DERECHA("000000000" & ESPACIOS(A1);10))
Uso la función espacios por si acaso en A1 hay algún espacio que moleste.
Y he puesto una condición para que, si A1 está vacía no devuelva nada.
Creo que te servirá.
Ante todo muchas gracias por la rapidez y por tu fórmula. Es perfecta! Lo que has dicho y la he utilizado, pero se me complicó con los NIE que esos que empiezan por POR y terminan con Letra.
Ejemplo: si es X12345F debe quedar X00012345F
Es que esto es la leche!
Muchas gracias
La fórmula para incluir los NIE sería esta:
=SI(A1="";"";SI(MAYUSC(IZQUIERDA(A1;1))="X";"X"&DERECHA("00000000" & ESPACIOS(DERECHA(A1;LARGO(A1)-1));9);DERECHA("000000000" & ESPACIOS(A1);10)))
De todas formas, lo más lógico es que te definieras una función en Visual Basic (entras con <Alt><F11>) dentro de un módulo (creas uno con el menú insertar-módulo). El código de esta función sería:
Option Explicit
Function formatesNifNie(ByVal documento As String) As String
    documento = Trim$(UCase$(documento))
    If Left$(documento, 1) = "X" Then
        documento = Right$(documento, Len(documento) - 1)
        formatesNifNie = "X" & Right$("000000000" & documento, 9)
      Else
        formatesNifNie = Right$("0000000000" & documento, 10)
    End If
End Function
Con esta función, la fórmula que pondrías en tu celda sería:
=formatesNifNie(A1)
La ventaja de la función... te permitiría ir reconociendo más tipos de documentos (CIF's, etc...)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas