Em có một vấn đề nhờ mọi người tư vấn, trong bảng excel của em muốn tính tổng của một cột dài. Quy luật của nó là: cứ cộng 1 ô rùi cách 1 ô. Có hàm nào có thể giải quyết mà không dùng VBA không ạ. cảm ơn mọi người.

=SUMIF($E$8:E8,E8,$F$8:F8)Em có một vấn đề nhờ mọi người tư vấn, trong bảng excel của em muốn tính tổng của một cột dài. Quy luật của nó là: cứ cộng 1 ô rùi cách 1 ô. Có hàm nào có thể giải quyết mà không dùng VBA không ạ. cảm ơn mọi người.



Thử với công thức này:đây là vd: mong anh ( chị ) giải quyết gìum em
=SUMPRODUCT((MOD(ROW(D7:D68),2)=1)*($D$7:$D$68))
đây là vd: mong anh ( chị ) giải quyết gìum em
=SUM((MOD(D7:D68,2)=1)*(D7:D68))
Cảm ơn anh (chị) đã giúp em giải quyết vấn đề, tiện thể nếu ai muốn dùng VBA thì em mới viết code này,rất mong học hỏi thêm. Mọi người có thể tham khảo:
Function tinhtong(ran As Range) As Double
Dim i, j As Integer
tinhtong = 0
For i = 0 To 300
j = i * 2 + 1
tinhtong = tinhtong + ran(j, 1).Value
Next i
End Function
Public Function Tong(Rng As Range) As Double
Dim I As Long
For I = 1 To Rng.Rows.Count Step 2
Tong = Tong + Rng(I)
Next I
End Function
Như vầy cũng được rồi. Điều kiện tính tổng bắt đầu từ ô đầu tiên trong Rng, cách khoảng 1 ô tính 1 ô.
...
Public Function Tong1(Rng As Range, Optional ByVal nhay As Integer = 0) As Double
' tham số nhay: cho biết điệu kiện tổng; 0 = tổng vô điều kiện; trị lẻ = tổng các ô lẻ; trị chẵn = tổng các ô chẵn
Dim I As Long
For I = IIf(nhay, IIf(nhay And 1, 1, 2), 1) To Rng.Rows.Count Step IIf(nhay, 2, 1)
Tong1 = Tong1 + Rng(I)
Next I
End Function
[/cdoe]