使用多个条件索引最少的数据子集

时间:2015-12-14 18:17:42

标签: arrays excel indexing excel-formula

我想知道在Excel中是否可以索引我的数据子集以找到该子集的最小值。理想情况下,我想在一个公式中执行此操作,而不必创建多个帮助区域。我最接近的是以下公式...

{=INDEX(INDEX(Employees!$A$3:$A$47,MATCH(1,(B12=Employees!$B$3:$B$47)*('NEW Project'!C4<Employees!$C$3:$C$47),0)),MATCH(MIN(Employees!$J$11:$J$19),Employees!$J$11:$J$19,0))}

...但是这个公式只执行第一个索引而且不允许我索引(索引)所有可能的答案来搜索它们以找到最小值。

我提到的数据如下:

Worksheet: Employees
A           B           C                     ...          J  
Employee | Title | Max $ Amount for Project | ... | Hours on Projects
Bert     | PM    | $35,000,000              | ... | 148
Shauna   | PM    | $15,000,000              | ... | 32
Dan      | QA    | $5,000,000               | ... | 360

我想要做的是找到我的员工的一个子集,这是我进入单元格(L2)的特定职位名称,并且基于假设的未来项目具有足够高的Max $ Amount for Project我输入另一个单元格(M2)的值,并返回当前空闲时间最长的单元格(项目的最小小时数)。

例如,$ 27,000,000项目(M2),寻找项目经理(L2)

我希望将我的员工列表编入索引以找到PM(其中2个)并抓住其中一个目前已经专门用于项目的当前最低值的人员,并且还有权处理这个规模的项目。公式将返回&#34;伯特&#34;因为他是唯一一个可以在该职位上从事该价值项目的人。但是,如果我有一个12,000,000美元的新项目价值并且正在寻找PM,该公式将返回&#34; Shauna&#34;因为她目前在项目上的时间较少,并且可以将这个新项目纳入她比Bert's不那么繁忙的时间表中。

感谢您提供任何帮助,如果您需要进一步澄清,请告诉我们!

1 个答案:

答案 0 :(得分:0)

使用此公式:

=INDEX(A:A,MATCH(MIN(IF(B:B="PM",IF(C:C>=5000000,J:J))),J:J,0))

这是一个数组公式,必须使用Ctrl-Shift-Enter。

不了解数据用于插入标准的位置。如果L2保持所需的标题,M2保持最小值,那么公式将是

=INDEX(A:A,MATCH(MIN(IF(B:B=L2,IF(C:C>=M2,J:J))),J:J,0))