索引与多个条件匹配

时间:2016-08-31 13:22:16

标签: excel indexing match sumifs

我有按百分位数排名的产品列表。我希望能够检索小于特定百分位数的第一个值。

Product Orders  Percentile  Current Value  Should Be 
Apples  192     100.00%     29             29
Apples  185     97.62%      29             29
Apples  125     95.24%      29             29
Apples  122     92.86%      29             29
Apples  120     90.48%      29             29
Apples  90      88.10%      29             29
Apples  30      85.71%      29             29
Apples  29      83.33%      29             29
Apples  27      80.95%      29             29
Apples  25      78.57%      29             29
Apples  25      78.57%      29             29
Apples  25      78.57%      29             29
Oranges 2       100.00%     0              1
Oranges 2       100.00%     0              1
Oranges 1       60.00%      0              1
Oranges 1       60.00%      0              1
Lemons  11      100.00%     0              2
Lemons  10      88.89%      0              2
Lemons  2       77.78%      0              2
Lemons  2       77.78%      0              2
Lemons  1       55.56%      0              2 

目前,我在“当前值”列中的公式为:=SUMIFS([Orders],[Product],[@[Product]],[Percentile],INDEX([Percentile],MATCH(FALSE,[Percentile]>$O$1,0)))(作为数组公式输入)

$ O $ 1包含我匹配的百分位数(85.00%)。

“苹果”(29)的当前值是正确的,但是您可以看到我的公式没有为“剩余产品”生成正确的值,如“应该”但返回“0”。不知道如何设置它以使它做我需要它。我用SumProduct尝试了几件事但是无法使用它。我需要有更多经验的人来帮助我。

1 个答案:

答案 0 :(得分:2)

您不需要SUMIFS(),只需要INDEX / MATCH:

=INDEX([Orders],MATCH(1,([Percentile]<$O$1)*([Product]=[@Product]),0))

这是一个数组公式,必须在退出编辑模式时使用Ctrl-Shift-Enter确认。如果操作正确,那么Excel会将{}放在公式周围。

enter image description here