我有一个由Date
,Team
及其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 Category
和Date
排序,并以Team
升序
我正在寻找一个不希望使用数组函数的Excel公式。 到目前为止,我已经看过“索引匹配”公式,但是它们都是完全匹配的,因此不允许我近似一个值。
例如
Score Category
答案 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
。
一些注意事项:
仅当您针对特定Score Categories
和Date
的{{1}}的组合按升序使用时,此公式才有效(因为在{{1}中使用了Team
的第三个参数) }要求对数据进行排序),但是从您的问题的措词方式来看,这听起来似乎不是问题。
如果您的1
和/或MATCH
为负,则该公式也可能会破坏,因为Score Categories
语句实际上将您不感兴趣的数据“归零”这种特定的Actual Scores
和IF
组合。但是,如果Date
为负,则可能错误地将这些Team
中的一个视为匹配项。这只是一个猜测,我没有对此进行测试。
要考虑的另一件事是在每个Actual Score
和0
组合的顶部添加Score Category
的{{1}}。我之所以这样说是因为,例如,如果0
低于最低的Date
(例如,如果Team
是Actual Score
而最低的Score Category
是{{1 }}),那么将找不到匹配项,而我猜想该公式将返回错误。