不确定如何编写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”。
谢谢!
答案 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)
编辑:在第一个版本中,我使用了商家和类别的命名范围。我把它改回了单元格引用。
答案 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
然后只是比较两者以获得更大的价值。