Excel IF,ELSE,AND

时间:2015-04-17 04:18:42

标签: excel if-statement

不确定如何编写excel公式来解决此问题。

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

 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    

我想做的是说日期是否会下降 介于两者之间(日期1和日期2),&商家名称是目标,则值为50 * 3.

否则,如果商家名称为BP,则值为2 * 50。

如果类别是气体,则值为5 * 50

如果类别正在用餐,则值为4 * 50

如果没有critera,则为1 * 50.

如果它属于其他日期,我也想做同样的事情,3& 4如果确实如此,那么在给定日期的情况下计算该交易的奖励值。

同样作为奖励,如果商家和类别都匹配,我会想要选择两个值中的较高者。

过去一小时我一直在搞乱IF函数,似乎无法弄明白,只是发回“null”。

谢谢!

2 个答案:

答案 0 :(得分:2)

如果我理解正确的话,这个公式就像你描述的那样,当数据布局时就像截图一样。     = 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)

enter image description here

编辑:在第一个版本中,我使用了商家和类别的命名范围。我把它改回了单元格引用。

答案 1 :(得分:0)

我认为您的电子表格如下所示:

| 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(),您可以返回匹配行中的值。因此,如果Target匹配,它将返回3.如果未找到,则返回#N / A.所以使用IFERROR(),你可以检查这个。以下是我所拥有的。 使用这是第一个日期范围的单元格B6:

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

使用此单元格C6作为下一个日期范围

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

然后只是比较两者以获得更大的价值。