Sumar y contar con varias condiciones en Excel

Una pregunta que recibo frecuentemente es cómo sumar y contar con varias condiciones en Excel. Cuando estás en esta situación nuestra reacción es utilizar las funciones SUMAR.SI y CONTAR.SI pero pronto nos damos cuenta de que no son el camino correcto.

Si tienes Excel 2007 o una versión superior, entonces puedes utilizar la función SUMAR.SI.CONJUNTO y la función CONTAR.SI.CONJUNTO, de lo contrario puedes utilizar alguno de los métodos que presento a continuación.

Limitaciones de SUMAR.SI y CONTAR.SI

Las funciones SUMAR.SI y CONTAR.SI no nos ayudan a sumar y contar con varias condiciones en Excel porque solo pueden contener una sola condición. Observa la siguiente tabla de datos:

Sumar y contar con varias condiciones en Excel

La función SUMAR.SI funciona correctamente si quiero conocer las ventas del mes de Enero para lo cual puedo utilizar la siguiente fórmula:

=SUMAR.SI(A2:A12, "Enero", D2:D12)

Si quiero contar el número de ventas en el mes de Marzo utilizo la siguiente fórmula:

=CONTAR.SI(A2:A12, "Marzo")

Sin embargo, ¿cómo puedo sumar las ventas del mes de Enero de la región Norte? A continuación veremos dos alternativas para sumar con varias condiciones en Excel.

Sumar con varias condiciones utilizando SUMA

La primera alternativa para sumar con varias condiciones es utilizar la función SUMA. Observa con detenimiento la siguiente fórmula:

=SUMA((A2:A12="Enero") * (B2:B12="Norte") * D2:D12)

Antes de explicar esta fórmula debo decir que para que funcione correctamente debemos utilizarla como una fórmula matricial por lo que después de introducirla en la barra de fórmulas debemos pulsar la combinación de teclas Ctrl + Mayus + Entrar.

En la formula anterior encontrarás que las condiciones se encuentran encerradas entre paréntesis. La condición (A2:A12=”Enero”) será verdadera solamente cuando el valor de la columna A tenga el valor “Enero”. De la misma manera, la condición (B2:B12=”Norte”) será solamente verdadera precisamente cuando la celda de la columna B tenga el valor “Norte”.

El resultado de ambas condiciones es multiplicado y recordando la lógica binaria sabemos que al multiplicar verdadero por verdadero obtendremos como resultado un valor verdadero (uno). Si cualquiera de los factores de la multiplicación es falso obtendremos un valor falso (cero) como resultado.

De esta manera, solo en caso de que ambas condiciones sean verdaderas (igual a uno) obtendremos un valor diferente a cero al realizar la multiplicación por la columna D. Si cualquier condición es falsa, la columna D será multiplicada por cero y no tendrá efecto alguno en la suma total. Observa el resultado de aplicar la fórmula antes descrita:

Sumar con varias condiciones en Excel utilizando la función SUMA

Sumar con varias condiciones utilizando SUMAPRODUCTO

Si conoces la manera en que opera la función SUMAPRODUCTO, te habrás dado cuenta de que opera de manera similar a la fórmula que acabamos de revisar. Es por ello que también podemos sumar con varias condiciones en Excel utilizando la función SUMAPRODUCTO.

=SUMAPRODUCTO((A2:A12="Enero")*1, (B2:B12="Norte")*1, D2:D12)

Observa que las condiciones son las mismas que en la fórmula anterior. La única diferencia es que hacemos la multiplicación de cada condición por 1 para asegurar que tendremos valores numéricos. Observa el resultado de esta función:

Sumar con varias condiciones en Excel con la función SUMAPRODUCTO

Contar con varias condiciones utilizando SUMA

Aunque parezca raro, podemos contar con varias condiciones en Excel utilizando la función SUMA. La fórmula para lograrlo es la siguiente:

=SUMA((A2:A12="Enero") * (B2:B12="Norte"))

Esta fórmula es parecida a la primera que revisamos con la diferencia de que no estamos haciendo la tercera multiplicación por la columna D. Esta función contará las celdas que cumplen con ambas condiciones. Observa el resultado:

Contar con varias condiciones en Excel con la función SUMA

Para que esta fórmula funcione debemos pulsar la combinación de teclas Ctrl + Mayus + Entrar ya que debe ser una fórmula matricial.

Contar con varias condiciones utilizando SUMAPRODUCTO

Te podrás imaginar que también podemos utilizar la función SUMAPRODUCTO para contar con varias condiciones. Esta es la fórmula:

=SUMAPRODUCTO((A2:A12="Enero")*1, (B2:B12="Norte")*1)

El resultado de esta fórmula es el esperado:

Contar con varias condiciones en Excel con SUMAPRODUCTO

Limitaciones de este método

La única limitación que tienen los métodos expuestos en este artículo es que no es posible sumar y contar con varias condiciones bajo la misma columna. Es decir, no podemos poner dos condiciones para una sola columna, como por ejemplo sumar las ventas de Enero y Febrero. Estas son dos condiciones para una misma columna.

En un caso como este, la mejor opción es utilizar dos veces la función SUMAR.SI de la siguiente manera:

=SUMAR.SI(A2:A12, "Enero", D2:D12) + SUMAR.SI(A2:A12, "Febrero", D2:D12)

Artículos relacionados
Fórmulas matriciales en Excel
La función SUMAPRODUCTO en Excel

18 comentarios en “Sumar y contar con varias condiciones en Excel

  1. Elina

    Muchas gracias, no puedo creer que errores tan simples puedan complicar tanto una formula sencilla, su explicacion hizo que me diera cuenta de mi error y me salvo el dia.

  2. Fabrizzio

    Como puedo contar si tengo un rango de datos y quiero que solo cuento aquellos que sean menor a un número. Pero sin expresar el numero, sino el resultado de una formula =C1-2? Ejemplo: =CONTAR:SI(A1:A20,”>C1-2″)?

    1. Moisés Ortíz Autor

      Hola Fabrizzio, utiliza la siguiente fórmula:
      =CONTAR:SI(A1:A20,”>” & C1-2)

      Lo importante es concatenar el signo “>” utilizando el caracter &.

  3. Sergio

    Que tal amigo, te felicito nuevamente, este tipo de ayuda que brindas esta super, es como tener un maestro por internet, es mucha la ayuda que proporcionas, me han servido muchisimo las herramientas de excel y esto me facilita y le facilito el trabajo a mis compañeros porque les hago mas facil su trabajo, gracias

  4. Juan Angel

    Muchas gracias, hace tiempo estaba buscanto una formula parecida. Sinceramente muchísimas gracias.

  5. martha

    Felicidades Moisés, como me ha ayudado tu página.

  6. Ruth

    Hola Moisés, muy buena tu explicación y las distintas posibiliades para calcular esto. Estoy intentando hace horas de hacer algo así, pero no me resulta. Ahora le puse la fórmula que tú propusiste y Excel corrige automáticamente el coma después del primer *1 por un ; o un *. Muestra que el resultado es 0 aunque debería haber una suma. Te muestro mi fórmula: =SUMAPRODUCTO((‘Ventas 13’!B2:B300=”Januar 2013″)*1;(‘Ventas 13’!F2:F300=”CD”)*1;K2:K300) Tienes alguna idea a qué se debe? Gracias de antemano!

    1. Moisés Ortíz Autor

      Hola Ruth, el punto y coma (;) se debe a la configuración regional de tu equipo y no afecta en lo absoluto al resultado.
      El problema debe estar en otro lado y lo único que se me ocurre es la comparación que estas haciendo con “Januar 2013″. Si las celdas de la columna B son fechas, entonces no habrá coincidencias porque la comparación la estas haciendo como si la columna B tuviera texto y son dos cosas diferentes.

  7. Vero Tapia

    Hola, buen día, disculpa como puedo contar y sumar con tres condiciones cuando una de ellas es un campo de fecha, es decir, sumar cuentas que pertenezcan a cierto grupo de cierta sucursal y sean cuentas aperturadas en el mes de septiembre por ejemplo. Saludos y de antemano gracias.

  8. JOSE MARIA DIAZ

    Hola: Tengo un poblema con EXCEL 2003 , tengo que contar de 2 columnas las coincidencias. Pero ningun ejemplo de aqui me funciona. Par el exel 2003 no funciona el contar.si.conjunto , que puedo hacer?

    1. Moisés Ortíz Autor

      Hola Jose María, la función CONTAR.SI.CONJUNTO no está disponible en Excel 2003.
      Intenta con el método de la función SUMAPRODUCTO, está probado que funciona correctamente en Excel 2003.

  9. JOHNBO

    Gracias. Me acabas de ayudar a salir de un gran embrollo.

  10. Juan

    Si quiero que sume los valores de una columna pero con la excepción de un criterio, como hago?
    Saludos

    1. Moisés Ortíz Autor

      Hola Juan, utiliza el operador <> para indicar que deseas sumar los valores que sean diferentes al valor indicado, por ejemplo, la siguiente fórmula suma los valores de la columna D cuyo valor de la columna A es diferente a Enero:
      =SUMA((A2:A12<>“Enero”) * D2:D12)

  11. Patricio

    gracias me sirvió de mucho para contar con varias condiciones en Excel

  12. MaFE

    Como puedo hacer una formula que me cuente con tres condiciones, tengo esta pero no me sale:
    =contar.si((H2:H150;”Martha Mera”),(I2:I150;”Citas”),(M2:M150;”pendiente”))

    1. Moisés Ortíz Autor

      Hola MaFE, no es posible contar con varias condiciones utilizando la función CONTAR.SI. En todo caso utiliza la función CONTAR.SI.CONJUNTO o alguno de los métodos mostrados en este artículo que hacen uso de la función SUMA o SUMAPRODUCTO.