1. AyudaExcel utiliza cookies. Si continuas utilizando AyudaExcel, estás aceptando la utilización de nuestras cookies. Más información.
  2. ¡Bienvenid@ a AyudaExcel! El foro más visitado sobre Excel en habla hispana.

    Si esta es tu primera visita, asegúrate de revisar los temas de la sección Utilización y Funcionamiento para familiarizarte con las funciones del foro. Si deseas publicar mensajes, será necesario que te Registres para que puedas dejar respuestas y crear tus propios mensajes, recuerda que es gratuito.

Solucionado sumar celdas con numeros y letras

Tema publicado en 'Excel General' iniciado por ARY1004, 6 Jul 2010.

Estado del tema:
Cerrado para nuevas respuestas
  1. ARY1004

    ARY1004 Usuario

    Registrado:
    2 Ene 2009
    Mensajes:
    47
    Me Gusta recibidos:
    0
    Hola que tal a todos buenos dias,

    Necesito de su ayuda, quisiera saber como puedo hacer una suma de celdas que contengan numeros y letras, nadamas quiero la suma de numeros. Le adjunto un ejemplo.

    Mil gracias!!!

    Adjuntos:

  2. Nicotuc

    Nicotuc Moderador Staff AyudaExcel

    Registrado:
    26 Ago 2008
    Mensajes:
    1.221
    Me Gusta recibidos:
    78
    Prueba con la siguiente formula en A12:

    +SUMA(izquierda(A3;2);izquierda(a4;2);izquierda(a5;2);izquierda(a6;2);izquierda(a7;2);izquierda(a8;2);izquierda(a9;2);izquierda(a10;2);izquierda(a11;2))

    De seguro hay una formula mas corta pero por ahora lo vemos
  3. logroastur

    logroastur Incondicional de Ayuda Excel

    Registrado:
    10 Oct 2009
    Mensajes:
    2.522
    Me Gusta recibidos:
    296
    Buenas si lo deseas puedes usar la siguiente UDF Sumaconletras, (la cual es un codigo re aprovechado de Verzulsan, que espero no se me enoje por haber lo apropiado); para ello copia el codigo y pegalo en un modulo standar y recuerda que debes de tener activadas las macros, posteriormente puedes usar la formula lo cual seria

    =Sumaconletras("A1:A11")

    CÓDIGO:
    Function Sumaconletras(Rangosuma As Range) As Double
    
    Dim Cadena As String, Largo As Long, trozo(1 To 2) As String, i
    
    For Each celda In Rangosuma
        If celda = Empty Then
           Sumaconletras = Sumaconletras
        Else
           Cadena = celda
           Largo = Len(Cadena)
           i = 1
             Do While (i <= Largo)
                 If AscW(Mid(Cadena, i, 1)) > 57 Then
                      trozo(1) = Mid(Cadena, 1, i - 1)
                      trozo(2) = Mid(Cadena, i + 1, Largo - i)
                      Cadena = trozo(1) & trozo(2)
                       i = i - 1
                      Largo = Len(Cadena)
                 End If
                      i = i + 1
             Loop
         Sumaconletras = Sumaconletras + Cadena
        End If
      Next celda
    End Function

    un saludo
  4. ARY1004

    ARY1004 Usuario

    Registrado:
    2 Ene 2009
    Mensajes:
    47
    Me Gusta recibidos:
    0
    Hola,

    Mil gracias a las dos personas que hicieron el favor de ayudarme a solucionar mi problemilla, la verdad es que pude hacerlo de las dos maneras y quedo perfecto.


    Gracias!!!
  5. Nicotuc

    Nicotuc Moderador Staff AyudaExcel

    Registrado:
    26 Ago 2008
    Mensajes:
    1.221
    Me Gusta recibidos:
    78
    OK me alegro que te sirvan la/s soluciones, por ahora lo dejamos abierto para que algun otro compañero pueda dar otra idea
  6. qwerty123

    qwerty123 Usuario

    Registrado:
    20 Ago 2009
    Mensajes:
    109
    Me Gusta recibidos:
    1
    Hola.

    Otra posible solución, siempre que los datos sigan el mismo patrón, es decir, dos números y una letra:

    CÓDIGO:
    =SUMAPRODUCTO(--IZQUIERDA("0" & A3:A11;3))
    Si no fuese así, podrías utilizar una función propia, parecida a la de logroastur:

    HTML:
    Public Function SumarCLetras(DatosASumar As Range) As Variant
    Dim aDato As Range, rDato As Range
        SumarCLetras = 0
        For Each aDato In DatosASumar.Areas
            For Each rDato In aDato.Cells
                SumarCLetras = SumarCLetras + IIf(Val(rDato) = 0, _
                    Val(StrReverse(Mid(Val("9" & StrReverse(rDato)), 2))), Val(rDato))
            Next
        Next
    End Function
    
    Un saludo.
  7. Carlos

    Carlos Usuario Activo

    Registrado:
    21 Oct 2009
    Mensajes:
    1.034
    Me Gusta recibidos:
    12
    Género:
    Masculino
    También pudieras con esta:

    CÓDIGO:
    =SUMA(--EXTRAE(A3:A11,1,2))
    
    Es matricial confirmarla con CTRL+SHIFT+ENTER se pondrá entre corchetes {}

    Y si quieres quitarle lo matricial cambiar SUMA por SUMAPRODUCTO:

    CÓDIGO:
    =SUMAPRODUCTO(--EXTRAE(A3:A11,1,2))
    
    Nota: Es considerando el patrón de 2 números al inicio, como lo dijo qwerty123.

    Si te sirve comentas....
  8. Nicotuc

    Nicotuc Moderador Staff AyudaExcel

    Registrado:
    26 Ago 2008
    Mensajes:
    1.221
    Me Gusta recibidos:
    78
    De esto hablaba yo cuando dije que de seguro habia otras formulas para hacerlo mas facil y corto al trabajo.

    Carlos, si hay alguna celda vacia me da el error #¡VALOR! porque puede ser?
    Última edición: 8 Jul 2010
  9. Carlos

    Carlos Usuario Activo

    Registrado:
    21 Oct 2009
    Mensajes:
    1.034
    Me Gusta recibidos:
    12
    Género:
    Masculino
    Buen día Nicolás;

    El detalle es que EXTRAER arroja texto, y para hacer la SUMA convertimos el texto en número con "--",,, cuando extraes de una celda vacía, se extrae vacío y eso no lo puedes convertir a número,,, por eso es el error,,, dicha fórmula sólo servirá si todas las celdas están llenas....
  10. Gerson Pineda

    Gerson Pineda Moderador Staff AyudaExcel

    Registrado:
    30 Mar 2009
    Mensajes:
    6.521
    Me Gusta recibidos:
    476
    Género:
    Masculino
    Hola a todos!
    Siguiendo con lo que consulta Nicotuc, creo que esta formula funciona y nos saca de apuros si hubiera celdas vacias o solo letras, es matricial
    PHP:
    =SUMA(SI(ESERROR(--EXTRAE(A3:A11,1,2)),0,--EXTRAE(A3:A11,1,2)))
    Espero sirva de algo

    Saludos desde Honduras
Estado del tema:
Cerrado para nuevas respuestas

Compartir esta página