數據分析師 - 面試題(二)


使用VBA腳本實現Excel中的功能統計:

(1) 統計總分大於180分的學生人數

(2) 統計數學大於語文成績的人數

(3) 將各科成績 < 60 分的數據標記底色為紅色,字體加粗

成績單
學生編號 語文 數學 英文
st1 66 95 55
st2 91 74 46
st3 96 97 32
st4 47 52 93
st5 34 41 53
st6 65 91 92



 

 

 

 

 

 

解:

(1)

Sub 宏1()
    Dim n&, i&, j&, arr, a&, b&, c&
    arr = ActiveSheet.UsedRange
    a = ActiveSheet.Rows(1).Find("語文").Column
    b = ActiveSheet.Rows(1).Find("數學").Column
    c = ActiveSheet.Rows(1).Find("英文").Column
    n = 0
    
    For i = 2 To UBound(arr)
        j = Val(arr(i, a)) + Val(arr(i, b)) + Val(arr(i, c))
        If j > 180 Then
        n = n + 1
        End If
    Next
    
    MsgBox "總分大於180分的人數為:" & n
End Sub

(2)

Sub 宏2()
    Dim n&, i&, arr, a&, b&
    arr = ActiveSheet.UsedRange
    a = ActiveSheet.Rows(1).Find("數學").Column
    b = ActiveSheet.Rows(1).Find("語文").Column
    n = 0
    
    For i = 2 To UBound(arr)
        If Val(arr(i, a)) > Val(arr(i, b)) Then
        n = n + 1
        End If
    Next
    
    MsgBox "數學成績大於語文的人數為:" & n
End Sub

(3)

Sub 宏3()
    
    Dim t As Range
    Set t = ActiveSheet.UsedRange
    
    t.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, Formula1:="=60"
    t.FormatConditions(1).Font.Bold = True
    t.FormatConditions(1).Interior.ColorIndex = 3
   
    MsgBox "格式修改完畢"  
End Sub

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM