我需要帮助将 3 个条件组合成 Excel if(and) 公式,即。
如果打印机 = ABC、墨盒 = A1000、纸张 = 光面纸,则价格 = 100
(显然墨盒可能是 A2000,用于不同的颜色,或者纸张可能是哑光的)
我试过了
=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)))
例如
用户将从下拉列表过滤器中选择打印机、墨盒和纸张。
谁能帮帮我吗?
答案1
你试图把很多组合塞进一个IF
语句中。嵌套的数目是有限制的,但通常比任何人需要的都大(我原以为 18 个就够了。)
真正的问题是,这样做意味着你不能在不改变公式的情况下改变价格或添加选项。幸运的是,这个问题的解决方案很简单。
首先你需要一个查找表:
- 制作一个包含以下列的表格:钥匙、打印机、墨盒、纸张和价格
- 在 Key 列中粘贴此公式:
=[@Printer]&[@Cartridge]&[@Paper]
* - 填写表格中的所有组合和价格
- 命名表
PrintingOptionsLookups
接下来,您要放置 IF 公式的位置,请使用以下公式:
=VLOOKUP(CONCATENATE(C10,C16,C24),PrintingOptionsLookups,5,FALSE)
这会将选择汇总为单个值,然后在 Key 列中查找匹配项,然后返回价格。这样,您可以在将来添加产品并更改价格,而无需修改公式。
*此类表格和参考资料需要 Excel 2007 及更高版本
答案2
您也可以使用 SUMPRODUCT。正如 ClockeWork 所说,在 Excel 2007 及更高版本中,您可以使用表格。(SUMPRODUCT 应该适用于早期版本的 Excel。)请参阅http://www.excelhero.com/blog/2010/01/the-venerable-sumproduct.html 对于 SUMPRODUCT 的精彩解释。
使用 CLockeWork 的表及其列名,公式如下
=SUMPRODUCT(PrintingOptionsLookups[价格] * (我的打印机 =PrintingOptionsLookups[打印机]) * (我的墨盒 =PrintingOptionsLookups[墨盒]) * (我的纸张 =PrintingOptionsLookups[纸张]) )
参见下图。