3 condiciones en una fórmula de Excel if (y)

1

Necesito ayuda para combinar 3 condiciones en una fórmula Excel if (y), es decir.

Si printer = ABC y Cartridge = A1000 y Paper = Gloss, entonces price = 100

(y, obviamente, el cartucho podría ser A2000 para un color diferente o el papel podría ser Matt)

He intentado

=IF(AND(C10="ABC",C16="A1000",C24="Gloss"),100, IF(AND(C10="ABC",C16="A1000",C24="Matt"),90, IF(AND(C10="ABC",C16="A2000",C24="Gloss"),110,0))) por ejemplo

El usuario seleccionará la impresora, y el cartucho y el papel de los filtros de la lista desplegable.

¿Alguien puede ayudarme por favor?

Joanne
fuente
¿Esto no está funcionando? Tu fórmula propuesta me parece bien. Si necesita ayuda para la depuración, por lo general, divido la fórmula en tres celdas para ver los resultados de cada instrucción if posterior. Quizás pueda decirnos lo que espera que suceda y lo que ve que está sucediendo que está mal. Al menos no me queda muy claro.
N8sBug
La fórmula es bastante larga ya que hay 3 impresoras y 2 opciones de cartucho cada una, y puede imprimir en brillo o mate para cada impresora y cartucho. ¿Sabe si hay un límite en el número de if (y) s que puede usar en una fórmula? De lo contrario tendré que dividirlo como se sugiere.
Joanne
:) Personalmente he tenido 20 afirmaciones, pero las dividí en varias columnas, el máximo que he encontrado es de alrededor de 7-8 ... Entonces, no, no conozco un límite (aunque, seguro que existe uno). Sin embargo, si necesita dividir la fórmula en varias columnas para simplificar esto.
N8sBug
1
Ayudaría a saber qué versión de Excel está utilizando; Hay algunas formas interesantes de solucionar esto, pero dependen de la versión.
CLockeWork
Si la lista se vuelve demasiado larga, VBa mayo sea ​​una opción, permanece fuera del camino y, si está bien configurada, debería ser fácil de actualizar. Pero, es VBa y así puede asustar a algunas personas
Dave

Respuestas:

1

Estás tratando de agrupar muchas combinaciones en una sola. IF declaración. Hay un límite de cuántos puedes anidar, pero normalmente es más grande de lo que cualquiera necesita (pensé que 18 estaba bien).

El problema real es que esta forma de hacerlo significa que no puede cambiar los precios ni agregar opciones sin cambiar la fórmula. Por suerte la solución a esto es fácil.

Primero necesitarás una tabla de búsqueda:

  1. Haga una tabla en algún lugar con las siguientes columnas: Clave, Impresora, Cartucho, Papel y Precio
  2. En la columna Clave pegue esta fórmula: =[@Printer]&[@Cartridge]&[@Paper] *
  3. Rellena la tabla con todas las combinaciones y precios.
  4. Nombra la tabla PrintingOptionsLookups Table


A continuación, donde pondría su fórmula IF, en lugar de eso, use esta fórmula:

=VLOOKUP(CONCATENATE(C10,C16,C24),PrintingOptionsLookups,5,FALSE)


Esto resumirá las selecciones en un solo valor y luego buscará una coincidencia en la columna Clave, luego devolverá el precio. De esa manera, puede agregar productos y cambiar los precios en el futuro sin tener que modificar la fórmula.


* Las tablas y referencias como esta requieren Excel 2007 y superiores

CLockeWork
fuente
0

También puede utilizar SUMPRODUCT. Como dice ClockeWork, en Excel 2007 y superiores, puedes usar una tabla. (SUMPRODUCT debería funcionar en versiones anteriores de Excel.) Ver http://www.excelhero.com/blog/2010/01/the-venerable-sumproduct.html para una excelente explicación de SUMPRODUCT.

Usando la tabla de CLockeWork con sus nombres de columna, la fórmula sería

= SUMPRODUCT (PrintingOptionsLookups [Precio]             * (MyPrinter = PrintingOptionsLookups [Printer])             * (MyCartridge = PrintingOptionsLookups [Cartucho])             * (MyPaper = PrintingOptionsLookups [Papel])            )

Vea el gráfico a continuación.

enter image description here

F106dart
fuente