excel 写函数 高手进!

我的意思是 无论是考试成绩0-100 还是“优良等级” 都最终显示为对应的绩点(0 2.0 2.5 3.0 3.5 4.0 4.5 5.0)
具体对应关系如下:
百分制成绩 课程绩点
90~100 5.0
85~89 4.5
80~84 4.0
75~79 3.5
70~74 3.0
65~69 2.5
60~64 2.0
0~59 0
优、优秀 5.0
良、良好 4.5
中等 3.5
及格 2.5
不及格 0

比方说 A1中是成绩,B1中是绩点。
当输60时,B1中就显示2.0
当输69时,B1中显示2.5
······90···,···········5.0
当输优时,B1就要显示为5.0
·····不及格··················0.

就是这个意思,帮忙写一下,谢谢!

第1个回答  2010-12-20
=IF((LEN(A1)=LENB(A1))*(A1<>""),LOOKUP(A1,{0,59,65,70,75,80,85,90},{0,2,2.5,3,3.5,4,4.5,5}),IF((LEN(A1)<>LENB(A1))*(A1<>""),LOOKUP(A1,{"不及格","及格","中等","良","良好","优秀","优"},{0,2.5,3.5,4.5,4.5,5,5}),""))
第2个回答  2010-12-20
如果成绩数据在A1:A100中,B1中公式为
=IF(ISTEXT(A1),LOOKUP(LEFT(A1),{"不",0;"及",2.5;"良",4.5;"优",5;"中",3.5}),LOOKUP(A1,{0,0;60,2;65,2.5;70,3;75,3.5;80,4;85,4.5;90,5}))
用自动填充柄下拉就可以了。本回答被提问者采纳
第3个回答  2010-12-20
=IF(ISNUMBER(A1),LOOKUP(A1,{0,60,65,70,75,80,85,90},{0,2,2.5,3,3.5,4,4.5,5}),LOOKUP(A1,{"不及格","及格","中等","良","良好","优","优秀";0,2.5,3.5,4.5,4.5,5,5}))
第4个回答  2010-12-20
在B列需要的单元格输入以下公式就可以了=IF(A1<60,0,if(A1<65,2.0,IF(A1<70,2.5,IF(A1<75,3.0,IF(A1<80,3.5,IF(A1<85,4.0,IF(A1<90,4.5,5.0)))))))。