索引与多个条件匹配

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

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))) (作为数组公式input)

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

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

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

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

这是一个数组公式,在退出编辑模式时必须用Ctrl-Shift-Enter确认。 如果正确完成,则Excel将在公式周围放置{}

在这里输入图像说明