Excel IF,ELSE和

不知道如何写一个Excel公式来解决这个问题。

这是我的Excel电子表格中的内容。 事务是单元格A1,1042是单元格B2。 这应该是一个样本信用卡交易。 它具有购买date,商家,类别和购买价值的信息。

Transaction # 1042 Date 2/14/15 Merchant Target Category Groceries Value 50 Points (solving for this) Card 1 Date Range: 2/10/15 2/17/15 2/18/15 2/22/15 Gas 5 10 Dining 4 9 Target 3 8 BP 2 7 Everything 1 6 

我试图做的是说如果date介于(date1和date2)之间,并且商家名称是目标,那么值是50 * 3。

否则,如果商家名称是BP,那么值是2 * 50。

或者如果类别是气体,那么值是5 * 50

或者如果该类别是用餐,则值为4 * 50

或者,如果它没有任何的标准,那么它的1 * 50。

如果这种情况属于其他date,那么我也想这样做,3&4,如果是这样,那么计算给定date的交易的奖励价值。

另外作为奖励,如果商家和类别都有匹配,我会select两个值中较高的一个。

我一直在搞IF函数的最后一个小时,似乎得不到任何东西,只是发回“空”。

谢谢!

如果我理解正确,那么这个公式就会像屏幕截图一样进行数据的布局。 = MAX(B5 * MAX(IFERROR(INDEX($ B $ 10:$ C $ 14 MATCH(B3,$ A $ 10:$ A $ 14,0),MATCH(B2,$ B $ 9:$ C $ 9,1)), 0),IFERROR(INDEX($ B $ 10:$ C $ 14 MATCH(B4,$ A $ 10:$ A $ 14,0),MATCH(B2,$ B $ 9:$ C $ 9,1)),0)), B5)

在这里输入图像说明

编辑:在第一个版本中,我使用Merchant和Category的命名范围。 我已经把它改回到单元格引用。

我假设你的电子表格如下所示:

 | Transaction # | 1042 | | Date | 2/14/15 | | Merchant | Target | | Category | Groceries | | Value | 50 | | Points | (ans1) | (ans2) | | | Card 1 | | Date Range: | 2/10/15 | 2/17/15 | 2/18/15 | 2/22/15 | | Gas | 5 | | 10 | | | Dining | 4 | | 9 | | | Target | 3 | | 8 | | | BP | 2 | | 7 | | | Everything | 1 | | 6 | | 

使用VLOOKUP(),您可以返回匹配行中的值。 所以如果目标匹配,它会返回3.如果没有find它返回#N / A。 所以使用IFERROR(),你可以检查这个。 以下是我的。 使用这个单元格B6作为第一个date范围:

 =IF(B2>C9,IF(B2<D9,IFERROR(VLOOKUP(B3,A10:E14,2,FALSE),B14),0),0)*B5 

使用这是下一个date范围的单元格C6

 =IF(B2>E9,IF(B2<F9,IFERROR(VLOOKUP(B4,A10:E14,4,FALSE),D14),0),0)*B5 

那么就比较两者的较大的价值。