同事提出一個要求,他希望在B16:D32、F16:H32、J16:L32區(qū)域的任意一個單元格中輸入相關得分時能夠顯示不同的等級,具體等級如下。
<60:顯示“待及格”
大于60小于75:顯示“及格”
大于75小于85:顯示“良好”
≥85:顯示“優(yōu)秀”
這里介紹兩種不同的解決方案。
方法一:設置條件格式
對于大部分朋友來說,可以考慮利用條件格式完成上述要求。
第1步:輸入公式
首先請選中B16:D32單元格區(qū)域,按住Ctrl鍵依次選擇F16:H32、J16:L32單元格區(qū)域,依次選擇“樣式/條件格式/管理規(guī)則”,打開“條件格式規(guī)則管理器”對話框,單擊左上角的“新建規(guī)則”按鈕,打開“新建格式規(guī)則”對話框,選擇“使用公式確定要設置格式的單元格”(如圖1),在這里手工輸入公式“=B16<60”。
第2步:設置格式
單擊右下角的“格式”按鈕,打開“設置單元格格式”對話框,切換到“數(shù)字”選項卡,在分類列表選擇“自定義”,在右側依次輸入“\"不\"\"及\"\"格\"”,注意每個漢字之間使用英文半角的雙引號隔開,確認之后(如圖2),按照類似的方法繼續(xù)添加其他的公式和格式(如圖3),請注意必須按照列表中的順序進行調整,否則會影響最后的等級轉換。
現(xiàn)在,我們可以在B16:D32、F16:H32、J16:L32區(qū)域的任一單元格輸入相應的得分,輸入完成之后會自動顯示相應的等級(如圖4)。
方法二:借助VBA代碼
可能你會覺得前面設置條件格式的步驟過于繁瑣,而且也容易出錯,我們也可以考慮使用VBA代碼解決這一問題:操作的方法很簡單,按下“Alt+F11”組合鍵,打開Microsoft Visual Basic for Application編輯器窗口,在左側列表右擊“Sheets (Sheet1)”,選擇“查看代碼”,此時會自動激活右側的代碼窗格(如圖5),在這里輸入或粘貼如下代碼:
Private Sub
Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range(\"B6:D32,F(xiàn)16:H32,J16:L32\")) Is Nothing Then Exit Sub
If Target.Value = \"\" Then Exit Sub
On Error GoTo 100
Application.EnableEvents = False
Select Case Target.Value
Case Is < 60
Target.Value = \"待及格\"
Case Is < 75
Target.Value = \"及格\"
Case Is < 85
Target.Value = \"良好\"
Case 85 To 100
Target.Value = \"優(yōu)秀\"
End Select
100
Application.EnableEvents = True
End Sub
上述代碼中的“B6:D32,F(xiàn)16:H32,J16:L32”可以根據(jù)實際情況進行更改,至于不同得分的等級也可以根據(jù)需要自行設置,檢查無誤之后依次選擇“文件/關閉并返回到Microsoft Excel”命令,返回Excel主界面,之后就可以在指定區(qū)域直接輸入得分,此時會自動轉換為相應的等級。
通過本文的介紹,我們可以利用類似的方法實現(xiàn)數(shù)值與文本的自動轉換,感興趣的朋友不妨一試。