Excel复杂公式示例

时间:2018-07-19 23:12:39

标签: excel

因此,我很努力地感谢您的帮助。我当前需要的是下面列出的。首先,我有一个包含许多个人和信息的数据集。我感兴趣的是几列。


表1:

因此每个Individual都被标记为FreeArc 1Arc 2Arc 3。每个人也都有许多与之相关的人,最后是成本。

Individual  | # of people  | Cost  | Type | Compliant with Costs?
A           |3             |45     |Free  |Yes/No?
B           |2             |57     |Arc 2 |

表2:

然后我在下面有一张表格,该表格已细分。免费可以拥有1个2或3个个人,费用为1个30-40(2个)和40-50个(3个)在20-30美元之间。

            |Free  |Arc 1 |Arc2  | Arc 3    
# of people | Cost | Cost | Cost | Cost
1           |20-30 |30-40 | 60-70| 90-100
2           |30-40 |40-50 | 70-80| 100-110
3           |40-50 |60-70 | 80-90| 110-120

因此,我想采用上述Individual列,并说个人A1是否免费且有3个人,其成本在40-50美元之间,如果是,则不是。

我知道这会使用一些公式,如果公式可能很多,我也尝试过Index(match()),但也无法弄清楚,如果您能帮助的话,将不胜感激。

下面是一个示例Excel文件的示例,看起来只有两个人很容易,但是有数百个,所以我希望有一个简单的公式。再次感谢您的帮助。


Excel Screenshot Link(与上面的示例相同)

2 个答案:

答案 0 :(得分:2)

如果您按如下方式更改参考表,则可以轻松使用求和符来提取最小值和最大值,并查看您的费用是否介于两者之间

#   Type    Min Max
1   Free    20  30
1   Arc 1   60  70
2   Free    30  40

答案 1 :(得分:1)

我同意,最好的方法是重组参考表,但是如果您想知道如何直接获得答案,可以结合使用=INDEX(MATCH(),MATCH())=LEFT()=MID()来获得答案,如以下示例所示:


E2中的公式为:

=IF(AND(C2>= (LEFT(INDEX($I$1:$M$5,MATCH(B2,$I$1:$I$5,0),MATCH(D2,$I$1:$M$1,0)),FIND("-",INDEX($I$1:$M$5,MATCH(B2,$I$1:$I$5,0),MATCH(D2,$I$1:$M$1,0)))-1)*1), C2<=MID(INDEX($I$1:$M$5,MATCH(B2,$I$1:$I$5,0),MATCH(D2,$I$1:$M$1,0)),FIND("-",INDEX($I$1:$M$5,MATCH(B2,$I$1:$I$5,0),MATCH(D2,$I$1:$M$1,0)))+1,256)*1),"Yes","No")

enter image description here enter image description here