Agregar dígitos o caracteres a celdas en Excel

Hace unos días explicábamos como extraer dígitos en Excel, hoy trataremos como agregar una determinada cantidad de dígitos o caracteres a una celda de Excel de forma automatizada.

Esta posibilidad es muy útil cuando necesitamos agregar a una base de datos uno o varios ceros, o algún digito o código de verificación.

Para ello haremos uso de la función CONCATENAR

La función concatenar, además de unir el texto de dos o más celdas, nos permite agregar texto o caracteres a una celda especifica desde la misa formula.

En este caso, partimos de la celda que contiene el valor inicial, y en una segunda celda colocamos la función que contiene y agregara el texto requerido.

Por ejemplo supongamos que en la celda A2 tenemos el valor 152356 y queremos agregarle dos ceros.

En la celda B2  o donde necesitemos colocar el nuevo valor, escribimos la siguiente fórmula:

=CONCATENAR(A2;"00")

Nótese que el texto o valor que se agrega, está entre comillas. Si queremos agregar el nuevo valor al inicio de la celda, la formula será:

=CONCATENAR("00";A2)

Ahora, es posible que tengamos diferente cantidad de dígitos en la celdas y necesitemos que todas las celdas tengan un determinado número de dígitos, de modo que a unas celdas habrá que agrega un dígito, a otras dos, etc.

Supongamos que necesitamos que todas las celdas tengan 5 dígitos, y algunas tienen 3, otras 4 y algunas 5.

Para solucionar esto, haremos uso de tres funciones diferentes: LARGO, CONCATENAR y la función SI.

=SI(LARGO(A2)=3;CONCATENAR(A2;"00");SI(LARGO(A2)=4;CONCATENAR(A2;"0");A2))

En este caso hemos supuesto la necesidad de agregar uno o dos ceros hasta completar 5 dígitos en cada celda.

En el ejemplo, la función LARGO  encarga de contar el número de dígitos que contiene la celda, la función SI se encarga de condicionar el contenido de la celda y la función CONCATENAR se encarga de unir o agregar los textos si la condición evaluada por la función SI se cumple.

MÁS SOBRE

Gerencie.com en su correo.

Suscríbase y nosotros colocaremos en su bandeja de entrada la mejor información que generamos diariamente.

Siéntase libre de opinar

24 Opiniones
  1. Raul Torres dice:

    Buen dia

    Alguien que me pueda ayudar,, supongamos que en la celda A1 tengo el siguiente texto: P1M1A101 pero quiero agregarle un valor en medio entre M1 Y A1, por ejemplo que quedara de esta manera: P1M101A101 como se podría realizar dicho procedimiento.

  2. Jose Ordaz dice:

    He realizado el ejercicio de ejemplo de la parte superior, todo excelente.
    =SI(LARGO(A2)=3;CONCATENAR(A2;"00");SI(LARGO(A2)=4;CONCATENAR(A2;"0");A2))
    pero los dígitos en cero me los añade a la derecha. mi necesidad es colocarlos a la izquierda. como haría, porque en mi columna hay celdas de 1, 2, y 3 caracteres, pero necesito llenarlos con hasta 9 dígitos pero con cero a la izquierda sin colocar comas (,) puntos(.) o rallas (_-=) solo los caracteres numéricos.
    alguien por favor que me pueda ayudar, GRACIAS !

  3. Azael dice:

    Tengo un problema pero es con unos correos supongamos solo me dan artemio.hernandez hasta hay y la terminacion la debo de poner yo que siempre es la misma que es @outlook.com se puede ya que es una lista muy grande... espero me puedan ayudar.

  4. Ivan dice:

    Y si tengo que añadir a una columna entera un guión en medio, es posible? Con el ejemplo inicial sería 152-356. Gracias!!

    • Ivan dice:

      Oww ya he visto que una persona tenía el mismo caso que yo!! Voy a ver si me desenvuelvo con la ayuda que tuvo, aunque esto de las macros no se si sabré hacerlo...

  5. Miguel Hdz dice:

    Hola espero alguien me pueda ayudar me URGE, tengo una cadena de caracteres con N cantidad, la condición que requiero es separar cada 3 letras con un guión "-" por ejemplo tengo MEXTAMMEXUSAMEX y la quiero separar así MEX-TAM-MEX-USA-MEX, algunos campos son de 3 caracteres otros de más caracteres, otro problema es que en algunos casos ya tengo el guión "-" con la separación cada 3 carácter.

    Ojala me puedan apoyar son 60,000 registros.

    gracias.

    • juan daniel dice:

      usa este código en macros aclaro no soy experto pero tuve la misma necesidad que tu en separar cada 3 números con un guion y esto me funciono ojala te sirva, para los que ya tienes separados te recomiendo selecciones la colunma y sustituyas el guin por nada y después aplicas la macro, cualquier duda y si no puedes te paso la hoja de Excel me escribes un inbox a p_mix72@hotmail.com. Saludos

      Sub PONEGUION()
      Separa = "-"
      Do
      'secuencia de separación del número
      Texto = Trim(ActiveCell.Value)
      If InStr(1, Texto, Separa) = 0 Then 'controla si ya está separado o no
      Cadena = ""
      For posicion = Len(Texto) To 1 Step -1
      Carakter = Mid(Texto, posicion, 1)
      Cadena = Carakter & Cadena
      If (Len(Texto) - posicion + 1) Mod 3 = 0 And posicion 1 Then Cadena = Separa & Cadena
      Next
      ActiveCell.Value = Cadena
      End If
      ActiveCell.Offset(1).Select
      Loop Until IsEmpty(ActiveCell)

      End Sub

  6. angel dice:

    Espero no este cerrado este tema necesito agregar una coma despues de 20 o 21 espacios por ejemplo: en una celda tengo :
    074814E046504.0142064
    074814E046303.0145784
    074814E046508.0140660
    074814E046312.0140021
    y necesito que queden asi:
    074814E046504.0142064,
    074814E046303.0145784,
    074814E046508.0140660,
    074814E046312.0140021,

    agradeceria mucho su ayuda... SAludos

  7. roberto dice:

    hola:
    tengo el sgte. problema:
    tengo registros que tengo que "separar", vale decir:
    31,21,2,34,5,16 (este es el registro de una celda)
    los cuales tengo que separar, el problema es con los números que son menores a 10 (2 y 5 respectivamente en este ejemplo), y lamentable son 5.000 registros por cumplir, alguna idea?

  8. Alejandro dice:

    Mi problema es el siguiente en A1 tengo CR-CN-JUN15- y en B1 tengo 001, aplico la formula concatenar y el resultado es el siguiente CR-CN-JUN15-1. mi pregunta es como hacer si quiero el siguiente resultado CR-CNJUN15-001? lo he intentado de todas las formas pero ninguna me da resultado, si alguien sabe y pueda ayudarme lo agradecería mucho.

    Saludos.

  9. karen dice:

    hola, necesito ayuda, quiero saber cómo formo un código, es decir, con los primeros digitos del primer apelido más los primeros dígitos del área, más los dos últimos dígitos del número de pago y enmayúscular: ejemplo: SEVE01, servando, vendedor, 000701 ...pleaseee!

  10. JOTA JOTA dice:

    yo quiero saber como puedo agregar un carater entre medio de un valor de una celda
    ejemmm....456665211...a 45666521-1...donde la celda puede contener diferentes cantidades..

    agardecido por una resp.....
    jota

    • ferny dice:

      J-J , espero no sea tarde intenta esto... (imagina que el valor esta en A2

      =CONCATENAR(IZQUIERDA(A2,LARGO(A2)-1),"-",DERECHA(A2,1))

      primero obtengo los primeros caracteres de la celda segun su tamaño, inserto el guion y al final pongo el ultimo caracter.

      Espero te sirva. Saludos.

  11. Maby dice:

    Hola lo que yo quisiera es saber como agregar ceros a un formato, por ejemplo mi formato debe ser 002-000100 y tengo varios datos que solo son 002-110, entonces debo cambiar de 002-110 a 002-00110, muchas gracias.

    • WzDChile dice:

      Maby, yo lo hice de la siguiente forma, espero te sirva.

      Digamos que la cifra 002-110 esta en la celda A5.

      Primero inserto una columna y agrego la siguiente formula:

      =+CONCATENAR("002-00";EXTRAE(A5;5;3))

      Y luego copio la formula hacia abajo y si es necesario despues Inserto valores en la columna original.

      Saludos.

  12. Uri dice:

    Buen día, yo quisiera saber cómo hacer para que cuando copie un número a otra celda se enteponga la letra 'P' de manera automática. Agradecería inmensamente.

  13. Miriam dice:

    como hago para que un texto como un apellido en una celda le agregue 40 caracteres en el total, y encadenarlo con la función concatenar, para tomarlo en un bloc de notas
    ayuda!!

  14. marina linares dice:

    Necesito tomar un texto de una celda, y encadenarlo con la funcion concatenar, pero completar 60 espacios o caracteres para tomarlo en un bloc de notas y me tome los 60 caracteres; lo hago con texto(A2,"00000 y cuento 60 ceros) pero no me completa cuando lo aplico, porque puede ser?

    • Cindy dice:

      Hola que tal, como estas amigo he revisado, el problema que planteas, solo me quedo la duda de con que caracteres te gustaría completar los 60, si con números o espacios.
      Pero a continuación te dejo una formula que en algún momento te podría ayudar.
      Supongamos que en la celda D14 tenemos los siguientes caracteres de texto ADFGH y que deseamos completar con la letra A a la derecha hasta que se completen 60 caracteres en total, para ello podríamos usar la siguiente formula:

      =SI(LARGO(D13)=60;D13;CONCATENAR(REPETIR("A";(60-LARGO(D13)));D13))

      Lo cual nos arrojaría el siguiente resultado:
      AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFGH

      Si le aplicas la función largo a la celda en donde está este resultado LARGO(D14) te saldrá 40, esta formula funciona tanto para texto como para números, tu puedes modificarla de acuerdo al número de caracteres que desees completar, para números quedaría sería:
      Supongamos que en la celda D4 tenemos el número 45789 y asimismo deseamos completar 60 caracteres en total y queremos completar con ceros los números faltantes hasta completar 60, podríamos usar la siguiente fórmula:
      =SI(LARGO(D4)>=60;D4;CONCATENAR(D4;REPETIR("0";(60-LARGO(D4)))))

      Nos daría como resultado=
      457890000000000000000000000000000000000000000000000000000000

      De este modo comprobamos que sirve tanto para texto como para números.
      También puedes agregar los caracteres que desees a la izquierda, en este caso si deseamos al número 45789 agregarles ceros a la izquierda hasta que se complete 60 caracteres, deberíamos usar la siguiente fórmula:
      =SI(LARGO(D12)>=60;D12;CONCATENAR(REPETIR("0";(60-LARGO(D12)));D12))

      Resultado:
      000000000000000000000000000000000000000000000000000000045789

      Con la fórmula repetir eliges que textos o caracteres deseas que se repitan para completar los 60.
      Espero que esto te haya sido de gran ayuda,
      Saludos cordiales =)

      • Cindy dice:

        Disculpa arriba me equivoqué te pasé el resultado de una celda D13 En donde agrego los caracteres a la izquierda, para la celda D14 la formula y el resultado sería el siguiente:

        =SI(LARGO(D14)=60;D14;CONCATENAR(D14;REPETIR("A";(60-LARGO(D14)))))
        Resultado:
        ADFGHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

  15. Daniel Garma C. dice:

    Hola!
    Tenia el problema de agregar o eliminar ceros y visitando este foro pude solucionar mi problema, sin embargo me tope con algunas complicaciones que me gustaria aclarar para los futuros visitantes de la página.

    en el comando que se muestra en el encabezado:

    =SI(LARGO(A2)=3;CONCATENAR(A2;"00");SI(LARGO(A2)=4;CONCATENAR(A2;"0");A2))

    No me funciono en la versión 2010 salvo que solo corregi los (;) por (,) quedando de la siguiente forma:

    =SI(LARGO(A2)=3,CONCATENAR(A2;"00"),SI(LARGO(A2)=4,CONCATENAR(A2;"0"),A2))

    Muy bien explicado, gracias! por la información.

En Gerencie.com está permitido opinar, criticar, discutir, controvertir, disentir, etc. Lo que no está permitido es insultar o escribir palabras ofensivas o soeces. Si lo hace, su comentario será rechazado por el sistema o será eliminado por el administrador. Por último, trate de no escribir en mayúscula sostenida, resulta muy difícil leerle.