如何用excel函數批量替換
因為很想參加今年的數學建模,在數學建模的校內選撥中遇到了這樣一個問題:**即如何用Excel函數批量替換某些元素。**
我的實際問題是
“幾乎學校的每個院系每年都會評定學生獎學金。設立獎學金的目的是鼓勵學生學習期間德智體全面發展。其中,年度的學習成績是獎學金評定的主要依據之一,因此,如何根據學生本年度的各門課成績來合理衡量學生很有必要。附件1是該學院某年級105名學生全年的學習情況。請你們隊根據附件信息,綜合考慮各門課程,至少用3到4種方法將成績最優秀的10%的同學評選出來,作為進一步獎學金評定的候選人,并比較這些方法的優劣。”
此處將附件省去了,只說遇到的問題。我參考了我們學校的評定獎學金的方法,發現在這里引入了一個“**學分績點**”的概念,我覺得這樣的概念同樣也適用于這個按例。
所以接下來遇到的問題就是如果做到一一對應,
![下圖就是根據學分績點的規則得到的替換規則][1]
[1]: http://ww2.sinaimg.cn/large/63a3d9b7gw1egvddte4q9j20go0cijsu.jpg
則現在需要做的其實就是通過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函數批量替換?)
?