Contar y/o sumar filas con una, dos, tres o mas condiciones con Excel

Una necesidad habitual es poder contar o sumar datos tomando en cuenta solo las filas que cumplen con determinadas condiciones.

Microsoft Excel implementó las funciones CONTAR.SI y SUMAR.SI que realizan cuentas o sumas de con una condición simple sobre una única columna, pero muchas veces esto nos es poco por lo que nos vemos obligados a concatenar columnas así definir una única condición para realizar los cálculos necesarios.

Existe una forma un poco mas rebuscada que permite contar y sumar datos de filas con condiciones múltiples, es utilizando funciones matriciales.

Como ejemplo se tomará la lista que se muestra a la derecha.

Si queremos sumar la cantidad de kilogramos que se solicitaron en Febrero, o sea sumar los datos de la columna D cuando en la columna A contiene febrero la forma tradicional es:


La forma utilizando funciones matriciales es:


Poniendole nombre a cada uno de los parámetros se ve de la siguiente manera:


¿Cómo funciona esto?:

Las condiciones se definen de la forma:

RANGO_CONDICION ="Valor"

cuyo resultados posibles son VERDADERO o FALSO según se cumpla o no la condición, podemos utilizar los operadores =, >, >=, <, <=, o <>.

El valor VERDADERO es representado con un 1, y el FALSO con un 0, por lo que al multiplicar este resultado por el RANGO_A_SUMAR (en este caso D2:D27) por cada fila que cumple la condición suma el obtiene el dato de la columna a sumar.

Por último con SUMAPRODUCTO se suman todas las filas verdaderas obteniendo el resultado final.

Ahora si queremos sumar con dos o mas condiciones, pondremos el producto de tantas condiciones como queramos y al final lo multiplicamos por el valor a sumar:


Aquí se están validando 3 condiciones: que los elementos del primer rango sean igual a "Valor1", y que los elementos del segundo rango sean mayores a "Valor2", y que los elementos del tercer rango sean diferentes de "Valor3". De cumplirse las 3 condiciones sumamos los datos.

También se pueden combinar los resultados, por ejemplo si tenemos que sumar el contenido de dos, o más, columnas cuando cumplen condiciones múltiples lo podemos hacer de la siguiente manera:


Cuando se desea contar registros que cumplen con estas condiciones múltiples, éstas se deben de multiplicar por 1, o anteponer - (dos signos de menos).


ó


A continuación se presentan varios ejemplos:

Contar filas que cumplen con más de una condición (CONTAR.SI con múltiples condiciones):

Cantidad de pedidos de Naranjas que realizó Luis en febrero:


Resultado: 2.

Sumar el producto de dos columnas de filas que cumplen con más de una condición (SUMAR.SI con múltiples condiciones):

Sumar el importe que gastó Luis durante el mes de Febrero:


Resultado: 67.

Contar filas cuya condición es calculada con varias de una columnas. Cantidad de pedidos con importes mayores a 30:


Resultado: 6.

Otros mas:

Cantidad de pedidos de Naranjas que compró Luis en Enero:


Resultado: 0

Cantidad kg de Naranjas que compró Luis en Enero:


Resultado: 0

Cantidad kg de Naranjas que compró Luis en Febrero:


Resultado: 5

Cantidad de pedidos de 3 o mas kilogramos:


Resultado: 8

Importe de los pedidos de 3 o mas kilogramos realizados en marzo:


Resultado: 114.

Cantidad de ventas de 1 kilogramo cada una:


Resultado: 7.

Importe total de los pedidos con importes mayores a 30:


Resultado: 247

Contar cantidad de domingos entre dos fechas o cualquier otro dia de la semana

La formula para calcular la cantidad de un determinado día de la semana (lunes, martes, miércoles, etc.) entre de dos fechas es la siguiente:

Truncar(( Fecha_Final – Fecha_Inicial – DiaDeLaSemana(Fecha_Final-X) + 8) / 7)

Donde X es el número del día de la semana: 0 = Domingo, 1 = Lunes, …, 6 = Sábado.

Esta fórmula puede utilizarse para calcular la cantidad de días laborales entre dos fechas tomando en cuenta los sábados (cosa que las funciones tradicionales no contemplan).

Cálculo en Microsoft Excel en español:

Contar la cantidad de domingos:


Contar la cantidad de lunes:


En B3 se encuentra la fecha final y B2 la fecha inicial.

Cálculo en Google Docs, OpenOffice.org, Calc, Microsoft Excel en inglés:

Traduciendo la fórmula al inglés queda de la siguiente manera:

Contar la cantidad de domingos:


Contar la cantidad de lunes:


Aquí encontrarán un ejemplo al respecto realizado en Google Docs.

Cálculo en Oracle:

Calcular la cantidad de martes que hay entre dos fechas:


Cantidad de martes entre el 2 de enero de 2009 y hoy:


Cálculo en MySQL:

Calcular la cantidad de martes que hay entre dos fechas:


Aquí los cálculos cambian debido a que Weekday retorna 1 para lunes hasta 6 domingo. Para variar el día de la semana se deberá sustituir el 2 que se encuentra en "interval (-2 + 1)" por el número correspondiente con mismo criterio que antes 0: domingo, 1: lunes, etc.

Cálculo en Microsoft Access:

Cantidad de sábados entre ambas fechas.


Cantidad de sábados entre el 2 de enero de 2009 y hoy


NOTA: Tomada de una supuesta tabla "datos".