Desafío de fórmulas: múltiples criterios OR - Rompecabezas

Tabla de contenido

Un problema que surge mucho en Excel es contar o sumar en función de múltiples condiciones de quirófano. Por ejemplo, ¿tal vez necesite analizar datos y contar pedidos en Seattle o Denver, para artículos que son rojos, azules o verdes? Esto puede ser sorprendentemente complicado, ¡así que naturalmente es un buen desafío!

El reto

Los datos a continuación representan pedidos, un pedido por fila. Hay tres desafíos separados.

¿Qué fórmulas en F9, G9 y H9 contarán correctamente los pedidos con las siguientes condiciones:

  1. F9 - Camiseta o sudadera con capucha
  2. G9 - (camiseta o sudadera con capucha) y (rojo, azul o verde)
  3. H9 - (camiseta o sudadera con capucha) y (rojo, azul o verde) y (Denver o Seattle)

El sombreado verde se aplica con formato condicional e indica valores coincidentes para cada conjunto de criterios OR en cada columna.

Para su comodidad, están disponibles los siguientes rangos con nombre:

artículo = B3: B16
color = C3: C16
ciudad = D3: D16

Se adjunta la hoja de trabajo. ¡Deje sus respuestas a continuación como comentarios!

Respuesta (haga clic para expandir)

Mi solución usa SUMPRODUCT con ISNUMBER y MATCH de esta manera:

=SUMPRODUCT( ISNUMBER(MATCH(item,("Tshirt","Hoodie"),0))* ISNUMBER(MATCH(color,("Red","Blue","Green"),0))* ISNUMBER(MATCH(city,("Denver","Seattle"),0)) )

Que contará los pedidos donde …

  • El artículo es (camiseta o sudadera con capucha) y
  • El color es (rojo, azul o verde) y
  • La ciudad es (Denver o Seattle)

Varias personas también sugirieron el mismo enfoque. Me gusta esta estructura porque se escala fácilmente para manejar más criterios y también funciona con referencias de celda (en lugar de valores codificados). Con referencias de celda, la fórmula en H9 es:

=SUMPRODUCT( ISNUMBER(MATCH(item,F3:F4,0))* ISNUMBER(MATCH(color,G3:G5,0))* ISNUMBER(MATCH(city,H3:H4,0)) )

La clave de esta fórmula es la construcción ISNUMBER + MATCH. MATCH se configura "al revés": los valores de búsqueda provienen de los datos y se utilizan criterios para la matriz. El resultado es una matriz de una sola columna cada vez que se usa MATCH. Esta matriz contiene errores # N / A (sin coincidencia) o números (coincidencia), por lo que ISNUMBER se usa para convertir a los valores booleanos TRUE y FALSE. La operación de multiplicar los arreglos coacciona los valores VERDADERO FALSO a 1 y 0, y el arreglo final dentro de SUMPRODUCTO contiene 1 donde las filas cumplen los criterios. SUMPRODUCT luego suma la matriz y devuelve el resultado.

Articulos interesantes...