Compartir a través de


Cómo usar un AND lógico o OR en una instrucción SUM+IF en Excel

Resumen

En Microsoft Excel, cuando se usan las funciones lógicas AND o O dentro de una instrucción SUM+IF para probar un intervalo para más de una condición, es posible que no funcione según lo previsto. Una instrucción IF anidada proporciona esta funcionalidad; sin embargo, en este artículo se describe un segundo método más sencillo que usa las siguientes fórmulas.

Para condiciones AND

=SUM(IF(Test1*Test2*...*Testn))

Para condiciones OR

=SUM(IF(Test1+Test2+...+Testn))

Más información

Use una instrucción SUM+IF para contar el número de celdas de un rango que supere una prueba determinada o para sumar esos valores en un intervalo para el que los valores correspondientes de otro intervalo (o el mismo) cumplen los criterios especificados. Se comporta de forma similar a la función DSUM en Microsoft Excel.

Ejemplo

En este ejemplo se cuenta el número de valores del intervalo A1:A10 que se encuentra entre 1 y 10, ambos incluidos.

Puede usar la siguiente instrucción IF anidada:

=SUM(IF(A1:A10>=1,IF(A1:A10<=10,1,0)))

El siguiente método también funciona y es más fácil de leer si va a realizar varias pruebas:

=SUM(IF((A1:A10>=1)*(A1:A10<=10),1,0))

El método siguiente cuenta el número de fechas que se encuentran entre dos fechas dadas:

=SUM(IF((A1:A10>=DATEVALUE("1/10/99"))*(A1:A10<=DATEVALUE("2/10/99")),1,0))

Nota:

  • Debe escribir estas fórmulas como fórmulas de matriz presionando CTRL+MAYÚS+ENTRAR simultáneamente. En Macintosh, presione COMMAND+RETURN en su lugar.
  • Las matrices no pueden hacer referencia a columnas completas.

Con este método, se multiplican los resultados de una prueba lógica por otra prueba lógica para devolver TRUE y FALSE a la función SUM. Puede equivaler a lo siguiente:

TRUE*TRUE=1
TRUE*FALSE=0
FALSE*TRUE=0
FALSE*FALSE=0

El método mostrado anteriormente cuenta el número de celdas del rango A1:A10 para las que ambas pruebas se evalúan como TRUE. Para sumar valores en las celdas correspondientes (por ejemplo, B1:B10), modifique la fórmula como se muestra a continuación:

=SUM(IF((A1:A10>=1)*(A1:A10<=10),B1:B10,0))

Puede implementar un OR en una instrucción SUM+IF de forma similar. Para ello, modifique la fórmula mostrada anteriormente reemplazando el signo de multiplicación (*) por un signo más (+). Proporciona la siguiente fórmula genérica:

=SUM(IF((Test1)+(Test2)+...+(Testn),1,0))

Referencias

Para obtener más información sobre cómo calcular un valor basado en una condición, seleccione Ayuda de Microsoft Excel en el menú Ayuda, escriba sobre cómo calcular un valor basado en una condición en el Asistente de Office o en el Asistente para respuestas y, a continuación, seleccione Buscar.