huongmuine
Thành viên GPE
- Tham gia
- 27/5/10
- Bài viết
- 228
- Được thích
- 32
- Giới tính
- Nam
Chưa hiểu bạn muốn gì? Bạn có diễn đạt yêu cầu không? Tại nhìn vào không hiểu gì?Chào các anh chị!
MÌnh có file điểm và thường thống kê với hàm countif và countifs.
Nhờ anh chị chỉ giúp công thức để có thể thống kê được thuận tiện hơn ( với điều kiện dòng 5 và cột J trong file )
Xin cảm ơn
Mình thống kê điểm từ 1 đến 10 cho từng môn học ( như bảng kết quả trong file ).Chưa hiểu bạn muốn gì? Bạn có diễn đạt yêu cầu không? Tại nhìn vào không hiểu gì?
Cảm ơn bạn đã giúp đỡ.Thử, fill hết các ô.
Mã:P7=COUNTIFS(INDEX($D$7:$L$38,,MATCH($O7,$D$6:$L$6,0)),O$5&P$5,$C$7:$C$38,IF(P$6="Nu","x","<>="))
Sub TongHopSoLieu()
Dim Rws As Long, J As Long, Cot As Integer, Nu As Integer, W As Integer
Dim Arr()
On Error Resume Next
Rws = [D5].CurrentRegion.Rows.Count
Arr() = [C5].Resize(Rws, 5).Value
ReDim dArr(1 To 4, 1 To 20)
For J = 1 To UBound(Arr())
If Arr(J, 1) = "x" Then Nu = 1 Else Nu = 0
For Cot = 2 To 5
W = 21 - 2 * Arr(J, Cot)
dArr(Cot - 1, W) = dArr(Cot - 1, W) + 1
If Nu Then
dArr(Cot - 1, Nu + W) = dArr(Cot - 1, Nu + W) + 1
End If
Next Cot
Next J
[p5].Resize(4, 20).Value = dArr()
End Sub
Cảm ơn SA_DQ đã giúp đỡ ạ.Thêm 1 tham khảo bỡi VBA:
PHP:Sub TongHopSoLieu() Dim Rws As Long, Dm As Integer, J As Long, Cot As Integer, Nu As Integer, W As Integer, Hg As Integer Dim Arr() On Error Resume Next Rws = [D5].CurrentRegion.Rows.Count Arr() = [C5].Resize(Rws, 5).Value ReDim dArr(1 To 4, 1 To 20) For J = 1 To UBound(Arr()) If Arr(J, 1) = "x" Then Nu = 1 Else Nu = 0 For Cot = 2 To 5 dArr(Cot - 1, 21 - 2 * Arr(J, Cot)) = dArr(Cot - 1, 21 - 2 * Arr(J, Cot)) + 1 If Nu Then dArr(Cot - 1, Nu + 21 - 2 * Arr(J, Cot)) = dArr(Cot - 1, Nu + 21 - 2 * Arr(J, Cot)) + 1 End If Next Cot Next J [p5].Resize(4, 20).Value = dArr() End Sub