索引匹配多个条件,且条件小于“没有数组”条件

时间:2018-10-21 09:20:07

标签: excel excel-formula

我有一个由DateTeam及其Category Score分隔的数据列表。每天每个Category Score的{​​{1}}都会发生变化,根据他们当天的实际得分,我需要确定它们所属于的Team

例如,如果在2018年1月1日,团队A的得分为225。团队A的总体得分在200到250之间。所分配的Category Score将四舍五入到最后一个类别,即200

但是,第二天,团队A的Score Category发生了变化。 225分恰好位于Score Category上,因此分配的类别为225。

希望能提供清晰的画面。

为解决此问题,数据始终按Score CategoryDate排序,并以Team升序

我正在寻找一个不希望使用数组函数的Excel公式。 到目前为止,我已经看过“索引匹配”公式,但是它们都是完全匹配的,因此不允许我近似一个值。

例如

Score Category

1 个答案:

答案 0 :(得分:2)

尝试以下数组公式:

= INDEX($C$2:$C$17,MATCH(B21,IF(($A$2:$A$17=B19)*($B$2:$B$17=B20),$C$2:$C$17),1))

请注意,这是一个数组公式,必须在键盘上使用 Ctrl + Shift + Enter 输入,而不仅仅是 Enter

请参见下面的数据示例。我还将此单元格从B22复制到了B27

enter image description here

一些注意事项:

仅当您针对特定Score CategoriesDate的{​​{1}}的组合按升序使用时,此公式才有效(因为在{{1}中使用了Team的第三个参数) }要求对数据进行排序),但是从您的问题的措词方式来看,这听起来似乎不是问题。

如果您的1和/或MATCH为负,则该公式也可能会破坏,因为Score Categories语句实际上将您不感兴趣的数据“归零”这种特定的Actual ScoresIF组合。但是,如果Date为负,则可能错误地将这些Team中的一个视为匹配项。这只是一个猜测,我没有对此进行测试。

要考虑的另一件事是在每个Actual Score0组合的顶部添加Score Category的{​​{1}}。我之所以这样说是因为,例如,如果0低于最低的Date(例如,如果TeamActual Score而最低的Score Category是{{1 }}),那么将找不到匹配项,而我猜想该公式将返回错误。