Excel 2016 年根据排名更改评分标准
Excel 2016 Change grading criteria based on rank
编辑:我认为这个问题现在已经解决了。
你们是天才(至少对我来说 :) )
我将 Solar Mike 的解决方案应用于我的实际 Excel 数据(这里的数据是一个简化版本)并且有效!
非常感谢,我送你一些虚拟啤酒!
请帮我想出以下情况的评分公式。
我有以下简化情况:
我 class 中的所有学生都被预先分配了 3 个等级之一:A、B、C。
所有 3 个排名都有不同的评分标准:
A 级:
90 岁及以上:X
80 到 89: Y
79 及以下:Z
B 级:
80 岁及以上:X
70 到 79: Y
69 岁及以下:Z
等级C:
70 岁及以上:X
60 到 69: Y
59 及以下:Z
所以当我在 Excel 中输入学生的分数时,我想根据他们的排名获得他们的成绩(X、Y 或 Z)。
请查看随附的屏幕截图。我想根据B列和C列的值得到学生在D列的成绩(D列的当前值是手动输入的。请帮我做一个公式来自动获取它们)。
标准在单元格 B6:D15.
中
请帮忙!
这可以通过 index() 和 match() 来完成,看看这个:
单元格D3中的公式被拖下是:
IF(C3="","",INDEX($I:$K,MATCH(C3,$H:$H,1),MATCH(B3,$I:$K,0)))
if()是在分数为空时放空
在D2
中输入:
=MID("ZYX",MATCH(C2,CHOOSE(CODE(B2)-64,{1,80,90},{1,70,80},{1,60,70})),1)
在这种情况下不需要查找-table。如果需要,更改数组中的范围。澄清一下:
=MID("ZYX",<Step2>, 1)
- 从 ZYX
到 MID
. 的长度为 1 的子串
MATCH(C2,<Step3>)
- Return 元素在数组中的位置,即 >=
到 C2
.
CHOOSE(CODE(B2)-64,{1,80,90},{1,70,80},{1,60,70})
- Returns 根据 B2
. 在第 2 步中选择合适的数组
逐步完成公式评估以查看它是如何一步步完成的。
注意: 如果您不确定是否可以同时使用小写和大写,那么只需包含一个 UPPER(B2)
B2
参考。
根据 OP 的布局,尝试使用 IMAGINARY
中的函数。
在D2
中,公式复制下来:
=INDEX({"X";"Y";"Z"},MATCH(C2,INDEX(-IMAGINARY(OFFSET($C,MATCH(B2,B:B,0),0,3)&"i"),0),-1))
编辑:我认为这个问题现在已经解决了。 你们是天才(至少对我来说 :) ) 我将 Solar Mike 的解决方案应用于我的实际 Excel 数据(这里的数据是一个简化版本)并且有效! 非常感谢,我送你一些虚拟啤酒!
请帮我想出以下情况的评分公式。 我有以下简化情况:
我 class 中的所有学生都被预先分配了 3 个等级之一:A、B、C。
所有 3 个排名都有不同的评分标准:
A 级:
90 岁及以上:X
80 到 89: Y
79 及以下:Z
B 级:
80 岁及以上:X
70 到 79: Y
69 岁及以下:Z
等级C:
70 岁及以上:X
60 到 69: Y
59 及以下:Z
所以当我在 Excel 中输入学生的分数时,我想根据他们的排名获得他们的成绩(X、Y 或 Z)。 请查看随附的屏幕截图。我想根据B列和C列的值得到学生在D列的成绩(D列的当前值是手动输入的。请帮我做一个公式来自动获取它们)。 标准在单元格 B6:D15.
中请帮忙!
这可以通过 index() 和 match() 来完成,看看这个:
单元格D3中的公式被拖下是:
IF(C3="","",INDEX($I:$K,MATCH(C3,$H:$H,1),MATCH(B3,$I:$K,0)))
if()是在分数为空时放空
在D2
中输入:
=MID("ZYX",MATCH(C2,CHOOSE(CODE(B2)-64,{1,80,90},{1,70,80},{1,60,70})),1)
在这种情况下不需要查找-table。如果需要,更改数组中的范围。澄清一下:
=MID("ZYX",<Step2>, 1)
- 从ZYX
到MID
. 的长度为 1 的子串
MATCH(C2,<Step3>)
- Return 元素在数组中的位置,即>=
到C2
.CHOOSE(CODE(B2)-64,{1,80,90},{1,70,80},{1,60,70})
- Returns 根据B2
. 在第 2 步中选择合适的数组
逐步完成公式评估以查看它是如何一步步完成的。
注意: 如果您不确定是否可以同时使用小写和大写,那么只需包含一个 UPPER(B2)
B2
参考。
根据 OP 的布局,尝试使用 IMAGINARY
中的函数。
在D2
中,公式复制下来:
=INDEX({"X";"Y";"Z"},MATCH(C2,INDEX(-IMAGINARY(OFFSET($C,MATCH(B2,B:B,0),0,3)&"i"),0),-1))