Diễn đàn giaiphapexcel.com sẽ chuyển sang hoạt động ở link sau

http://www.giaiphapexcel.com/diendan/forums


[CLICK] học VBA ở Đà Nẵng tháng 5/2017


Trang 1/2 1 2 cuốicuối
Hiển thị kết quả tìm kiếm từ 1 đến 10 trên tổng số: 13

Ðề tài: Cộng thức cộng các cột cách nhau tuần tự

  1. Cộng thức cộng các cột cách nhau tuần tự

    Tôi có một bảng tính rất dài, sử dụng hết các cột cho phép trong 1 sheet
    Tôi cần tính tổng tuần tự giá trị của các cột C + f + i .....(tuần tự cộng giá trị của cột đầu và những cột cách nhau 3 cột) cho đến hết sheet.
    Nếu cộng bằng tay tôi sợ bị sót, có công thức nào để làm được điều đó không? Nhờ các bạn chỉ giáo
    cảm ơn nhièu

  2. Trước tiên bạn thử với macro này

    Macro sẽ tô màu xanh lơ các cột bạn cần, bạn thử kiểm tra nha!
    Sau đó bạn sửa lại để nó làm phép cộng cho bạn;
    -> /(/ếu bạn không tự sửa được thì nhờ một ai đó, hẹn gặp!


    Sub CongCotCach3()
    On Error Resume Next
    Dim StrC0 As String, StrC1 As String
    ReDim MStrC(1 To 255) As String
    Dim iZ As Integer, iJ As Integer

    StrC0 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    For iJ = 1 To 10
    StrC1 = Choose(iJ, "", "A", "B", "C", "D", "E", "F", "G", "H", "I")
    For iZ = 1 To 26
    MStrC(iZ) = StrC1 & Mid$(StrC0, (iZ Mod 27), 1)
    If iZ Mod 3 = 0 Then
    Range(MStrC(iZ) & 2).Select: Selection.Interior.ColorIndex = 35
    End If
    Next iZ, iJ

    End Sub

  3. #3
    Nhấn Alt+F11 để vào Microsoft Visual Basic
    Nhấn Insert/Module, rồi thêm code sau:
    Code:
    Option Explicit
    Public Sub CongcacCot()
    On Error GoTo thoat
    MsgBox "Ban hay chon vung (boi den) de tinh tong" & vbCrLf & "Macro nay se tinh tong tu cot hien tai cho den cot cuoi cung" & vbCrLf & "Nhan OK de bat dau"
    Dim i As Integer, col1 As Integer, row1 As Integer, row2 As Integer
    Dim n As Integer
    Dim rngData As Range
    Set rngData = Selection
    n = CInt(InputBox("Nhap buoc nhay n = ", , 2))
    col1 = rngData.Column
    row1 = rngData.Row
    row2 = rngData.Rows.Count + row1 - 1
    For i = col1 To 256 Step n
        If Not IsEmpty(Cells(row2, i)) Then Cells(row2 + 1, i).FormulaR1C1 = "=SUM(R[" & -rngData.Rows.Count & "]C:R[-1]C)"
    Next i
    thoat:
    End Sub

  4. Dear all,
    --------
    Có vẻ như các giải pháp đưa ra không thoả mãn yêu cầu của bài toán:
    Giải Pháp Excel > Kiến thức Excel > Excel và các công thức
    Cộng thức cộng các cột cách nhau tuần tự :
    Tôi có một bảng tính rất dài, sử dụng hết các cột cho phép trong 1 sheet
    Tôi cần tính tổng tuần tự giá trị của các cột C + f + i .....(tuần tự cộng giá trị của cột đầu và những cột cách nhau 3 cột) cho đến hết sheet.
    Nếu cộng bằng tay tôi sợ bị sót, có công thức nào để làm được điều đó không?
    Theo tôi, hãy nghĩ tới các công thức có sẵn của Excel trước khi làm điều này thông qua VBA.
    Công thức:
    Phương pháp vận vận dụng đối với bài toán này là phép tính chẵn lẻ: lấy số dư của một phép chia phần nguyên. Ở đây, yêu cầu là sau mỗi 3 cột thì sẽ cộng giá trị một cột, nói cách khác sẽ cộng ở cột thứ 4.
    Chèn vào một dòng và lập công thức và sử dụng hàm MOD(<Number>,<divisor>), với:
    + <Number> = Column(<reference>) - <chỉ số cột trước cột bắt đầu tính tổng> (tại ô đầu tiên kết quả = 1),
    + <divisor> = 4.
    Nếu cột nào mà hàm trả về kết quả là 1 thì thoả mãn điều kiện của phép cộng.
    Bây giờ ở cột tổng cộng, bạn sử dụng hàm SUMIF(). Ngoài ra các bạn có thể vận dụng hàm SUMPRODUCT() để làm điều này.
    Xem ví dụ trong file đính kèm:
    Tập tin đính kèm Tập tin đính kèm
    thay đổi nội dung bởi: Đào Việt Cường, 11-11-06 lúc 01:23 PM
    Always careful - Always successful

  5. Triển khai như Anh Cường, có thể dùng hàm sumproduct theo mod
    =SUMPRODUCT(((MOD(COLUMN(a1:x1),Xi)=1)*(a1:x1)))
    Xi là biến
    Nếu cộng từ cột 5 thì vận dụng vào Mod(...)-4

  6. #6
    Trích Nguyên văn bởi ngũ sắc View Post
    Tôi có một bảng tính rất dài, sử dụng hết các cột cho phép trong 1 sheet
    Tôi cần tính tổng tuần tự giá trị của các cột C + f + i .....(tuần tự cộng giá trị của cột đầu và những cột cách nhau 3 cột) cho đến hết sheet.
    Nếu cộng bằng tay tôi sợ bị sót, có công thức nào để làm được điều đó không? Nhờ các bạn chỉ giáo
    cảm ơn nhièu
    B1=C1+F1+I1+...+IV
    B1 : {=SUM((MOD(COLUMN(C1:IV1),3)=0)*C1:IV1)}
    Nhớ ấn Ctrl+shift+enter sau khi gõ xong công thức

  7. Bạn chỉ giúp mình làm thế nào để sao chép công thức trên xuống các ô ở dưới với

  8. làm cách nào để sao chép công thức xuống các ô bên dưới vậy bạn

  9. Trích Nguyên văn bởi hoangdanh282vn View Post
    B1=C1+F1+I1+...+IV
    B1 : {=SUM((MOD(COLUMN(C1:IV1),3)=0)*C1:IV1)}
    Nhớ ấn Ctrl+shift+enter sau khi gõ xong công thức
    Chi làm được khi từ C1:IV1 là số ; còn khi từ C1:IV1 lẫn số và ký tự bị lỗi, có cách nào khác không??

  10. Công thức cộng các cột cách nhau tuần tự

    Câu trả lời của bạn hoangdanh282vn rất hữu ích cho công việc của mình. Cảm ơn bạn, tuy nhiên trong bảng tính của mình có nhiều cột với nhiều dữ liệu cần phải cộng. Ở bảng mình đính kèm, mình muốn cộng tổng các cột: F, I, L, O.... trả về cột C, tương tự như vậy: các số liệu các cột: H, K, N, Q... trả về cột: E
    Mong các cao thủ chỉ giáo. Cảm ơn rất nhiều!
    Tập tin đính kèm Tập tin đính kèm

Trang 1/2 1 2 cuốicuối

Thông tin về chủ đề này

Users Browsing this Thread

Hiện có 1 người đang xem đề tài này. (0 thành viên và 1 khách)

Đề tài tương tự

  1. ADO cho kết quả khác nhau khi sử dụng Source ở 2 phiên bản Excel khác nhau.
    Viết bởi vba_gpe trong chuyên mục Lập Trình với Excel
    Trả lời: 2
    Bài mới gởi: 30-03-12, 11:58 AM
  2. Chạy 1 dòng code giống nhau tại nhiều cell khác nhau
    Viết bởi USB1394 trong chuyên mục Lập Trình với Excel
    Trả lời: 3
    Bài mới gởi: 28-06-11, 11:00 PM
  3. Chèn background vs màu sắc khác nhau cho các thời gian khác nhau
    Viết bởi vylh trong chuyên mục Excel và Các Biểu Đồ
    Trả lời: 0
    Bài mới gởi: 22-12-09, 12:21 PM

Bookmarks

Bookmarks

Quyền Sử Dụng Ở Diễn Ðàn

  • Bạn không thể đăng đề tài mới
  • Bạn không thể đăng trả lời
  • Bạn không thể đăng file đính kèm.
  • Bạn không thể sửa bài viết.
  •