Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Sumar si celda contiene un texto

En este ejemplo observaremos como sumar solo si la celda contiene un texto que hayamos definido previamente, observemos que en el cuadro encontramos la venta de algunos productos y nos interesa identificar solo algunos de ellos.

Sumar si celda contiene un texto Sumar si celda contiene un texto

En el ejemplo nos interesa incluir en la suma solo aquellos productos que contienen el texto "apa" como parte de la descripción.

Fórmula para Sumar si celda contiene un texto

Como podemos observar en la celda G5 se utiliza la siguiente fórmula:

=SUMAR.SI(C4:C11,"*apa*",D4:D11)

El primer parámetro de la función SUMAR.SI, contiene la relación de celdas que deben cumplir una determinada condición, la condición referida se encuentra en el segundo parámetro y sirve para identificar cuales de las celdas del primer parámetro contienen el texto "apa", notemos que este texto hace uso de asteriscos al inicio y al final, eso sirve para representar la existencia de cero, uno o mas caracteres, de esta forma, el texto "apa" puede encontrarse al incio, al final o como parte de todo el texto.

Finalmente, el tercer parámetro en la fórmula empleada sirve indicar donde se encuentran los montos que formarán parte de la sumatoria, naturalmente, no todos los indicados en este rango de celdas formarán parte de la suma, sino solo aquellos que se encuentren en la misma fila de los que cumplen con la condición de contar con el texto "apa".

63 comentarios

  1. Excelente información. Me ha resultado muy útil.
    Dos consultas, siguiendo con el ejemplo del calzado:
    1-. ¿Como se puede hacer una suma con una segunda condición?, por ejemplo, que sume las celdas si en la descripción del producto aparece, además de "app", el número 3.

    2-. ¿Se puede poner en una formula, que haga referencia a otra celda, la condición o criterio "*apa*"?
    En el ejemplo, poner en la celda F1: "apa" y en la fórmula =SUMAR.SI(C4:C11,"*apa*",D4:D11) reemplazar "*apa*" por una formula que haga referencia a la celda F1.

    Gracias

    Saludos cordiales

    • Hola Ignacio, espero que esto te ayude.

      =SUMAR.SI(C4:C11,"*" & F1 & "*",D4:D11)

      Saludos

      • Hermano, usted me salvó la vida con esta respuesta. No necesité ni más ni menos. Gracias

    • Hola como puedo hacer lo mismo pero que la formula me sume solo los numeros y obvie las celdas donde hay letras

      • Espero que después de 3 años hayas resuelto tu problema. Pero para eso haces lo mismo que indicó Javier (para sumar las celdas que tienen un texto que contiene otro texto, caso "apa" dentro de Zapatilla o Zapato), y colocas tu rango de suma con la columna que desees. Excel no sumará textos, solo números en forma automática. Así que si tu columna de "cantidades a sumar", también hay celdas alfanuméricas, éstas no serán consideradas por excel

        • Hola Oswaldo. Consulta. Tengo una valor numerico en la celda A1. Y otro valor numerico en la celda C1. El resultado de la suma o la resta de esos numeros, lo da en la celda D1.
          Pero yo quiero que sume, si en la celda B1 escribo el signo +. Y quiero que reste si escribo el signo -. Es muy dificil ?.
          Te agradeceria tu respuesta. Saludos cordiales.

  2. Muchísimas gracias Javier por tus aportes, me han resultado de gran ayuda.

  3. quiero hacer una sumatoria, pero que busque varios textos de contenido, es decir " * " ó " * " ó " * ", etc

  4. SE PUEDE AGREGAR UNA CONDICIÓN POR FECHA ? TENGO UNA BASE DE DATOS CON LA FORMA QUE PONES ME FACILITA MUCHO PERO ME FALTARÍA PONERLE LA RESTRICCIÓN CON FECHA

  5. ¿En SUMAR.SI en vez de un texto como "criterio", se puede poner el valor de una celda?

    He probado esto y no funciona

    =SUMAR.SI(C1:C1000;"A9";E1:E1000)

    Siendo A1 a A1000 listado de codigos de producto (p.e 04.01.01)

    C1 a C1000 donde se han introducido los codigos de producto; y el precio vendido en cada operacion en E1 a E1000

    Para sacar un sumatorio del importe total (columna E) de cada código (columna C)

    • Hola,

      en tu fórmula, he puesto la celda sin comillas y me ha funcionado, pero sólo en una hoja de un libro, en otra hoja distinta de ese mismo libro no me ha funcionado; supongo que será por el formato de la celda, pero no doy con el problema.

      =SUMAR.SI(C3:C250;F3;D3:D250)

      Esta es mi fórmula, como ves, la casilla de referencia va sin comillas.

      • Gracias por tu ayuda.

  6. Hola,
    tan solo quiero saber como desarrollar la formular para...
    Si en un rango de A1....A40 yo pogo "3" quiero que en la casilla H3 me sume "1". Es decir si yo en ese rango he puesto seis veces el 3 en la casilla H3 me tiene que salir 6.
    Como lo desarrollo.

    Gracias con antelación

    • Esto es lo que necesito, por favor compartir si ya tienes la respuesta

      • no se si lo pudieron resolver, pero si entiendo la que quieren hay una formula que se llama Contar, y unicamente ponen el rango que quieren contar y excel devuelve la cantidad de veces que hay numeros en esas celdas.

      • Hola.
        No sé si ya tenéis la respuesta, pero para hacer lo que indicáis podéis usar la fórmula CONTAR.SI

        Si en el rango A1:A10 hay la siguiente información:

        A1: 10
        A2: 20
        A3: 10
        A4: 15
        A5: 20
        A6: 10
        A7: 20
        A8: 20
        A9: 12
        A10: 10

        Entonces, la fórmula

        =CONTAR.SI(A1:A10;20)

        dará como resultado 4, que son las veces que aparece el número 20 en ese rango.

        ¡Un saludo!

        • Gracias me has ayudado mucho con esa indicación me salvaste

  7. Buenas.
    Alguna fórmula para poner que si una celda tiene un nombre, entonces sume otras celdas (sin valor numérico, cómo la función "contar")

  8. Hola, tengo una celda que pueder ser "normal o stock". Como hago para que si dice normal le sume a una fecha 90 días y si es stock le sume 10 días? Es para definir fecha de entrega de acuerdo a stock
    gracias!

    • =Si( A1="NORMAL"; Fecha + 90; Fecha + 10).
      Aquí se asume que la columna A tiene los valores NORMAL o STOCK. Lo que faltaría definir es donde está tu fecha base para sumar los 90 o 10 días. La fecha puede ser la función HOY que te devuelve la fecha del día en que haces el registro. =SI(A1 = "NORMAL"; HOY() + 90; HOY() +10)

  9. ALGUIEN QUE ME DIGA COMO COMBINAR ESTAS DOS FORMULAS EN EXCEL

    =SUMAR.SI('acumulado por UERA'!AG$6:AG$330419,"*TEMPORAL AUTOCONSUMO NO CONFORMIDAD*",'acumulado por UERA'!AD$6:AD$330419)

    =SUMAR.SI('acumulado por UERA'!AD6:AD330419,">0")

  10. Hola! Necesito una formula para contar todos los items que tengan el 0 en cuarto lugar.
    28707251718
    28372828182
    27507171811
    Se entiende? Hay manera? Grax

    • Si... puedes usar si lógico con la función encontrar

  11. Hola quiero hacer un IF con una las frases que contengan soldadura,

    I
    soldadura exteriores
    Encamisado
    Soldadura interiores

    Puedo utilizar?

    =if(I:I="*soldadura*", "yes" , "not" )

  12. Hola, si quisiera sumar los porcentajes que aparecen en una sola fila, pero esa fila tiene campos de varios tipos, como por ejemplo texto, fecha, numérico, porcentaje (que es el que me interesa), y hay varios de esos, que no siguen un orden... Hay alguna forma? Probé de utilizar esta formula SUMAR.SI(H17:AH17;">0%";H17:AH17), pero me detecta los campos de números también, no solo los de porcentaje. Muchas gracias. Saludos

  13. buen dia, a ver si me pueden apoyar en esto.
    resulta que estoy haciendo una tabla dinamica en el que trabajo con numeros pero en mi matriz hay textos los cuales no necesito analizar, pero sabemos que excel cuando existen numeros y textos, los textos no los considera en el analisis y por ejemplo una suma no lo considera, pero que pasa si tengo puros texto y necesito hacer una suma, excel automaticamente pone cero, el cual no me conviene ya que al poner un cero y si necesito obtener un promedio de datos el cero si lo cuenta, y yo no requiero que me lo considere dado que es un texto.
    la pregunta es como hacer para que excel cuando sume textos no le ponga cero, si no que le ponga, "error" o "#NA", o lo que sea pero que no ponga cero en la suma. por su atención gracias.

  14. Quiero usar la fórmula sí para crear una regla en formato condicional y que se marque de determinado color si a uno contiene texto lo que sea entonces v2 es color amarillo

    • Para hacer un formato condicional tienes que ir a Inicio, Formato condicional, nueva regla y agregar-la allí dentro de los campos que tu elijas

  15. Saludos a todos, tengo una gran duda,
    Se puede configurar una celda para q cuando le ponga una cantidad se le sumen y resten lo de otras celdas?

    De antemano gracias por su ayuda

  16. Hola, el criterio de la suma puede ser un valor de una celda fija? Ejemplo, yo quiero sumar un rango y la condición es que sea mayor a 5, pero quiero ponerlo en una celda, de manera tal que al modificar el dato de esa celda, se modifique el resultado de la suma. Gracias.

  17. Buen dia a todos, yo tengo una duda
    si tengo una Fila con 1 y 2, quiero que cuando lea el rango de celdas, las celdas se vayan agrupando, es decir, si detecta 1, en la celda A1, agregar la direccion de la celda y que se vayan sumando.
    Ejemplo
    A1 1
    A2 2
    A3 2
    A4 1
    A5 1

    Y el resultado de sea asi =(A1+A4+A5)

    Saludos!

  18. Buenas necesito hacer una formula que me haga interes compuesto cada vez que sume 100. rangos de 10 es decir

    inversión 100
    dia 1 180
    dia 2 185
    dia 3 195
    dia 4 200 a qui reinvertiría 100 pero imaginaros que se pasa y llego a 110 reinvertiria 110 solo si se pasa si no se reinvertiría 100

    es posible o no exixte esta formula?

    Gracias de ante mano

  19. lo que quiero es que cada vez que llegue a 100 y a partir de aquí cada múltiplos de 10, existe o no por que no encuentro la formula para poder acerlo

  20. excelente formulas
    una pregunta sepria una formula para sumar por ejemplo manzana pero de diferente hojas
    saludos

Página de comentarios 1 de 3
1 2 3

Deja una respuesta

Los campos requeridos estan marcados con *.