excel高手进,求和问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 05:23:58
如图用excel作的成绩单,分考查科目和考试科目,其中考试科目用数字分数表示,考查课由优秀,良好,中等,及格,不及格表示,其中优秀=90分,良好=80分,中等=70分,及格=60分,不及格=0分。请问能不能将考查课中的汉字转换为数字与考试课求和。要求不改变成绩单显示格式,别告诉我把汉字改成数字或在后边加一列单元格添上相应数字。

如果楼主一定不允许改变表格格式及引入辅助列的话,可能会稍麻烦一些。
我的办法如果比较笨,大家不要笑啊~~~呵呵~~:)

假设如楼主所附图片中的情况,第一行是标题行,C、D、I列是用优秀/良好/中等/及格/不及格表示的,J列是汇总列。那么J2的公式为:

=SUM(A2:I2)+VALUE(MIDB("优秀90良好80中等70及格60不及格0", FINDB(C2, "优秀90良好80中等70及格60不及格0") + LENB(C2), 2))+VALUE(MIDB("优秀90良好80中等70及格60不及格0", FINDB(D2, "优秀90良好80中等70及格60不及格0") + LENB(D2), 2))+VALUE(MIDB("优秀90良好80中等70及格60不及格0", FINDB(I2, "优秀90良好80中等70及格60不及格0") + LENB(I2), 2))

看着好象有点儿头大,如果想要简化一下的话,可以把这个串“优秀90良好80中等70及格60不及格0”定义一个名字,比如叫做“Keys”。那么J2的公式就简化成:

=SUM(A2:I2)+VALUE(MIDB(Keys, FINDB(C2, Keys) + LENB(C2), 2))+VALUE(MIDB(Keys, FINDB(D2, Keys) + LENB(D2), 2))+VALUE(MIDB(Keys, FINDB(I2, Keys) + LENB(I2), 2))

稍好一点儿吧? :)

定义名称的方法:选择菜单“插入-名称-定义”,“在当前工作簿中的名称为”填入 Keys ,“引用位置”填入 ="优秀90良好80中等70及格60不及格0",确定即可。

________________________________________
补充:
还想到另外一种做法,J2中的公式为:

=SUM(A2:I2)+CHOOSE(MATCH(C2, {&q