Excel 索引将多个条件与不带数组的“小于”条件匹配
我有一个数据列表,由Excel 索引将多个条件与不带数组的“小于”条件匹配,excel,excel-formula,Excel,Excel Formula,我有一个数据列表,由日期、团队及其类别分数分隔类别得分每个团队每天的变化,根据他们当天的实际得分,我需要确定他们所属的类别得分 例如,如果在2018年1月1日,A队的得分为225。A队的整体得分在200到250分之间。分配的得分类别将向上舍入到最后一个类别,即200 然而,第二天,A队的得分类别发生了变化。225分完全取决于分数类别,因此分配的类别为225分 希望这能给出一个清晰的画面 为了帮助解决这一问题,数据总是按照日期和团队进行排序,并以升序得分类别 我正在寻找一个excel公式,希望它不
日期
、团队
及其类别分数
分隔<代码>类别得分每个团队每天的变化
,根据他们当天的实际得分,我需要确定他们所属的类别得分
例如,如果在2018年1月1日,A队的得分为225。A队的整体得分在200到250分之间。分配的得分类别将向上舍入到最后一个类别,即200
然而,第二天,A队的得分类别
发生了变化。225分完全取决于分数类别
,因此分配的类别为225分
希望这能给出一个清晰的画面
为了帮助解决这一问题,数据总是按照日期
和团队
进行排序,并以升序得分类别
我正在寻找一个excel公式,希望它不使用数组函数。
到目前为止,我已经看过了索引匹配公式,但它们都是精确匹配的,不允许我近似于某个值
例如
Date Team Score Category
1/1/2018 A 100
1/1/2018 A 150
1/1/2018 A 200
1/1/2018 A 250
1/1/2018 A 300
1/1/2018 B 300
1/1/2018 B 400
1/1/2018 B 500
2/1/2018 A 150
2/1/2018 A 200
2/1/2018 A 225
2/1/2018 A 300
2/1/2018 A 350
2/1/2018 B 350
2/1/2018 B 450
2/1/2018 B 550
Date: 1/1/2018
Team: A
Actual Score: 225
Category Score (Output): 200
Date: 2/1/2018
Team: A
Actual Score: 225
Category Score (Output): 225
尝试以下数组公式:
= 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
请注意:
此公式仅在特定的日期
和团队
组合的分数类别
按升序排列时有效(因为在匹配
中使用1
的第三个参数需要对数据进行排序),但从您的问题的措辞来看,听起来这不是个问题
如果您的分数类别
和/或实际分数
为负数,则公式可能也会中断,因为if
语句有效地“零”掉了您对该特定日期
和团队
组合不感兴趣的数据。但是如果<代码>实际得分是否定的,那么它可能会错误地认为其中的一个<代码> 0 < /代码>作为匹配。这只是一个猜测,但我没有测试这个
另一个要考虑的是在代码<>日期>代码>和代码>团队/代码>组合的顶部添加<代码> >分数> <代码> >代码> 0代码>代码>。我之所以这样说是因为,例如,如果
实际分数低于最低分数类别(例如,如果实际分数为50
,但最低分数类别为100
),则不会找到匹配项,我猜这个公式会返回一个错误。考虑一下用Excl技能使用宏VBA,这将使您(几乎:)完全控制您的工作簿。嗯,我确实考虑过这一点。但是,考虑到我需要将此文档传递给同事,如果他们不理解VBA,他们将更难理解/维护该表。如何计算实际分数
和类别分数(输出)
?我不清楚你需要什么样的公式。你可以编写一个用户定义的函数,它完全符合你的要求,而不是像任何Excel一样使用它。把它记录到克劳德身上——你就在这里,@AlexP实际分数是我的输入之一。当团队完成任务时,记录在结束日结束时<代码>类别分数(输出)
将(希望)成为公式。我尝试使用索引匹配,但似乎无法获得近似匹配结果。