Chào mọi người, em có 1 thắc mắc muốn nhờ mọi người giải đáp. Em muốn tìm vị trí (STT) của những học sinh có điểm Toán >8, sau đó từ vị trí em lấy dc giá trị điểm và đem tính trung bình cộng thì em phải làm như thế nào? Mong mọi người giúp đỡ, em xin chân thành cảm ơn!
Chào mọi người, em có 1 thắc mắc muốn nhờ mọi người giải đáp. Em muốn tìm vị trí (STT) của những học sinh có điểm Toán >8, sau đó từ vị trí em lấy dc giá trị điểm và đem tính trung bình cộng thì em phải làm như thế nào? Mong mọi người giúp đỡ, em xin chân thành cảm ơn!
Chào mọi người, em có 1 thắc mắc muốn nhờ mọi người giải đáp. Em muốn tìm vị trí (STT) của những học sinh có điểm Toán >8, sau đó từ vị trí em lấy dc giá trị điểm và đem tính trung bình cộng thì em phải làm như thế nào? Mong mọi người giúp đỡ, em xin chân thành cảm ơn!
Public Sub join()
Dim i As Long, rng As Range
Set rng = Sheet1.Range("A3:D" & Sheet1.Range("D65536").End(xlUp).Row)
For i = 1 To rng.Rows.Count
If rng(i, 4) > 8 Then
noi = noi & rng(i, 1) & [COLOR=#ff0000][B]" "[/B][/COLOR]
End If
Next i
Sheet1.Range("[COLOR=#ff0000][B]K2[/B][/COLOR]") = noi
Sheet1.Range("[COLOR=#ff0000][B]L2[/B][/COLOR]") = Application.WorksheetFunction.AverageIf(Sheet1.Range("D3:D" & Sheet1.Range("D65536").End(xlUp).Row), ">8")
End Sub
Chú ý 3 chỗ màu đỏ:
+ Dấu đỏ thứ nhất là dấu phân cách, ở đây tôi để khoảng trắng bạn có thể thay bằng dấu ";" hoặc dấu ","
+ Dấu đỏ thứ 2 và 3 là địa chỉ ô chứa kết quả bạn có thể thay đổi.
...................................................................................
Nhấn nút xuất xem kết quả nhé!
Public Sub join()
Dim i As Long, rng As Range
Set rng = Sheet1.Range("A3:D" & Sheet1.Range("D65536").End(xlUp).Row)
For i = 1 To rng.Rows.Count
If rng(i, 4) > 8 Then
noi = noi & rng(i, 1) & [COLOR=#ff0000][B]" "[/B][/COLOR]
End If
Next i
Sheet1.Range("[COLOR=#ff0000][B]K2[/B][/COLOR]") = noi
Sheet1.Range("[COLOR=#ff0000][B]L2[/B][/COLOR]") = Application.WorksheetFunction.AverageIf(Sheet1.Range("D3:D" & Sheet1.Range("D65536").End(xlUp).Row), ">8")
End Sub
Chú ý 3 chỗ màu đỏ:
+ Dấu đỏ thứ nhất là dấu phân cách, ở đây tôi để khoảng trắng bạn có thể thay bằng dấu ";" hoặc dấu ","
+ Dấu đỏ thứ 2 và 3 là địa chỉ ô chứa kết quả bạn có thể thay đổi.
...................................................................................
Nhấn nút xuất xem kết quả nhé!
dạ vâng em cảm ơn bác nhiều ạ ! Nhưng có cách nào chỉ cần paste giá trị vào 1 bảng thì nó tự xuất ra 2 thông số trên mà không cần bấm "XUẤT" không ạ? Do em làm nhiều lớp đôi khi sửa điểm sợ có khi quên bấm . Nếu được em xin chân thành cảm ơn ạ
dạ vâng em cảm ơn bác nhiều ạ ! Nhưng có cách nào chỉ cần paste giá trị vào 1 bảng thì nó tự xuất ra 2 thông số trên mà không cần bấm "XUẤT" không ạ? Do em làm nhiều lớp sợ có khi quên bấm . Nếu được em xin chân thành cảm ơn ạ
Tôi dùng sự kiện Worksheet_Change, bạn copy đoạn code này cho vào sheet1 nhé!
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long, d As Long, noi As String, rng As Range, tmp As Long
Set rng = Sheet1.Range("A3:D" & Sheet1.Range("D65536").End(xlUp).Row)
If Not Intersect(Target, [A3:D1000]) Is Nothing Then
For i = 1 To rng.Rows.Count
If rng(i, 4) > 8 Then
noi = noi & rng(i, 1) & " "
End If
Next i
Sheet1.Range("K2") = noi
End If
End Sub