学习群里,有位朋友传来体育评分标准,要求将学生们的体育成绩折合为分数。
学习群里,有位朋友传来体育评分标准,要求将学生们的体育成绩折合为分数。
评分标准非常细,为方便解,将数据截取一段,如下:
依据左侧评分标准,折合分数填写到右侧分数一列。
公式实现
在I3单元格输入公式:
=IF(G3=”男”,LOOKUP(H3,$B$4:$B$17,$A$4:$A$17),LOOKUP(H3,$D$4:$D$17,$C$4:$C$17)),公式向下填充,即得所有学生的体育分数。
公式解析
总公式:
其中:
LOOKUP(H3,$B$4:$B$17,$A$4:$A$17)
是利用LOOKUP函数向量的查找方式。
在B4:B17单列内查找H3,如果查的到,返回H3所对应的A4:A17单列内的值;如果差不到,返回比H3小且最接近H3的值所对应的A4:A17单列内的值。
比如,H3=11.92,B4:B17中没有11.92,比11.92小的最接近的数值是11.911,公式则返回11.911对应的A4:A17中A16的值63。
此处:B4:B17的值必须是升序排列才能用LOOKUP。
备注:LOOKUP的向量查找法
LOOKUP 的向量形式在单行区域或单列区域(称为“向量”)中查找值,然后返回第二个单行区域或单列区域中相同位置的值。
语法
LOOKUP(lookup_value, lookup_vector, [result_vector])
LOOKUP 函数向量形式语法具有以下参数:
lookup_value 必需。 LOOKUP 在第一个向量中搜索的值。 Lookup_value 可以是数字、文本、逻辑值、名称或对值的引用。
lookup_vector 必需。 只包含一行或一列的区域。 lookup_vector 中的值可以是文本、数字或逻辑值。
重要: lookup_vector 中的值必须按升序排列:…, -2, -1, 0, 1, 2, …, A-Z, FALSE, TRUE;否则,LOOKUP 可能无法返回正确的值。 文本不区分大小写。
result_vector 可选。只包含一行或一列的区域。result_vector 参数必须与 lookup_vector 参数大小相同。其大小必须相同。
备注
如果 LOOKUP 函数找不到 lookup_value,则该函数会与 lookup_vector 中小于或等于 lookup_value 的最大值进行匹配。
如果 lookup_value 小于 lookup_vector 中的最小值,则 LOOKUP 会返回#N/A 错误值。