如何用excel函数批量替换
因为很想参加今年的数学建模,在数学建模的校内选拨中遇到了这样一个问题:即如何用Excel函数批量替换某些元素。
我的实际问题是
“几乎学校的每个院系每年都会评定学生奖学金。设立奖学金的目的是鼓励学生学习期间德智体全面发展。其中,年度的学习成绩是奖学金评定的主要依据之一,因此,如何根据学生本年度的各门课成绩来合理衡量学生很有必要。附件1是该学院某年级105名学生全年的学习情况。请你们队根据附件信息,综合考虑各门课程,至少用3到4种方法将成绩最优秀的10%的同学评选出来,作为进一步奖学金评定的候选人,并比较这些方法的优劣。”
此处将附件省去了,只说遇到的问题。我参考了我们学校的评定奖学金的方法,发现在这里引入了一个“学分绩点”的概念,我觉得这样的概念同样也适用于这个按例。
所以接下来遇到的问题就是如果做到一一对应,
则现在需要做的其实就是通过Excel来进行一一替换将90~100分的成绩替换成5的学分绩点,依次类推。
相信到这个时候你已经明白了我的问题了,现在开始回答这样一个有一天你也可能遇到的问题。
我们知道Excel中有一个函数的概念,因此这里需要引入if函数。
我的主要参考资料其实是http://zhidao.baidu.com/question/57838343.html?qbl=relate_question_0&word=%C7%F3excel%C5%FA%C1%BF%CC%E6%BB%BB%BA%AF%CA%FD 这个百度知道的帖子。从这里面举一反三,得到了整个算法。
下面说说要注意的事项:
1在一般说来有几个if就有几个括号这是没错的,你完全可以依照一个两个if的函数来做出一个8个if的函数出来,道理都是一样的。
2注意要用的是英文半角的输入法。
3如果是出现了将数值替换成字母ABCD等的情况,只需要将ABCD加上“”即可,比如”A”,就像是C语言一样。
4在掌握这样一个函数的基础上,还应该对SUM函数,以及排序这些最基本的问题有一个熟练的应用。因为这些都是与我们的生活密切相关的。8个if的函数因为太长了是不能够被“编译的”(这个词不合适吧,理解就好),这个时候可将扩展名换为exls格式的,我用的是Excel2013,如果改变扩展名之后文件不能打开,可以将那个源文件里的数据全部粘贴到一个exls文件中,已到达函数可用的目的。
5注意在2003版的Excel上,
最后贴出我的两个if函数来看看,你们也可以照着写一下。多复杂的都是这个道理。
最后我实现了对排名最靠前的10名同学的筛选,初步完成了这个模型。应该说这是我用Excel以来做的最费事的一个Excel。其实我也没有做过几个Excel,哈哈哈
最后请尊重别人劳动成果,如果转载或引用,请注明出处如何用excel函数批量替换