Cộng nhiều ô trên nhiều sheet

  • #1

Tôi có 1 tệp chứa 46 sheet dữ liệu và 1 sheet tổng. Tôi muốn cộng tổng 46 ô A1 của các sheep với nhau thì phải dùng công thức nào. Bình thường tôi làm thủ công rất mất thời gian. Mong các cao thủ chỉ giúp.
Xin cảm ơn nhiều

  • #2

edu8 đã viết:

Tôi có 1 tệp chứa 46 sheet dữ liệu và 1 sheet tổng. Tôi muốn cộng tổng 46 ô A1 của các sheep với nhau thì phải dùng công thức nào. Bình thường tôi làm thủ công rất mất thời gian. Mong các cao thủ chỉ giúp.
Xin cảm ơn nhiều

Cái này hình như phải dùng Macro hoặc Indirect gì đấy, vào web mình cũng học được vài chiêu.

  • #3

Tại Sh tong, =SUM(Sheet1:Sheet56!A1), vd là cộng các số tại A1

Cộng nhiều ô trên nhiều sheet

  • #4

ThuNghi đã viết:

Tại Sh tong, =SUM(Sheet1:Sheet56!A1), vd là cộng các số tại A1

Anh Sơn nhà ta đã có đoạn code rất hay này:

Public Sub Consolidate2()
'Hop nhat thong tin tren tung sheet
'Chuong trinh se tu dong tinh tong tat ca cac o trong mot vung nao do cua tat ca cac sheet
'Can chu y dia chi cua cac o dang R1RC
'Neu ban chua quen voi cach nay thi vao Tools/Options, chon tab General
'roi danh dau vao tuy chon R1C1 reference style de xac dinh vung cho de dang
Dim arrayData()
Dim i As Integer
Dim sh As Worksheet
ReDim arrayData(1 To ActiveWorkbook.Worksheets.Count - 1)
Sheets("Master").Select
i = 0
For Each sh In Worksheets
If sh.Name <> ActiveSheet.Name Then
i = i + 1
'Vung R800C13:R800C19 tuong tu nhu vung M800:N800
arrayData(i) = sh.Name & "!R800C13:R800C15"
sh.Cells(800, "M").Formula = "=sum(M1:M799)"
sh.Cells(800, "N").Formula = "=sum(N1:N799)"
sh.Cells(800, "O").Formula = "=sum(O1:O799)"
End If
Next sh
Range("M800").Select
Selection.Consolidate Sources:=arrayData(), _
Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=False
End Sub

Bạn edu8 nghiên cứu xem, nếu không dùng được hỏi tiếp nhen

  • #5

minh dung` ham` indirect ket' ho.p voi' sumoffset
la` duoc, minh da tung` lam` toi' 150 sheet

Cộng nhiều ô trên nhiều sheet

  • #6

anhchanghamhoc đã viết:

minh dung` ham` indirect ket' ho.p voi' sumoffset
la` duoc, minh da tung` lam` toi' 150 sheet

Em post lên đi để mọi người cùng nghiên cứu học hỏi.

Cộng nhiều ô trên nhiều sheet

  • #7

Các bác chú ý, đây là chỉ tình trên 1 cell thôi. Dùng ndirect ket' ho.p voi' sumoffset thì không biết phải dùng đến bao nhiêu cell nhỉ ?
Tại sao trong bài toán này không dùng cách nhanh nhất là cộng thủ công nhỉ ? Hoặc nếu dùng Indirect cũng được, chỉ 1 cell nhưng thật là dài, hơn nữa nếu tên sheet thay đổi thì sẽ lập tức bị lỗi.
Thân !

Cộng nhiều ô trên nhiều sheet

  • #8

Chỉnh sửa lần cuối bởi điều hành viên: 21/12/06

Cộng nhiều ô trên nhiều sheet

  • #9

Bạn làm thử cách này nhé minh thấy cũng nhanh mà đơn giản.
Bạn dùng hàm Sum và kích chuột vào ô A1 của sheet 1 và bạn giữ Shift sau đó kích chuột sang ô A1 của sheet 46 là được mà.

Cộng nhiều ô trên nhiều sheet

cadafi

Working with mind, Living with nature!

  • #10

Lần chỉnh sửa cuối: 24/6/08

  • #11

Chào các bác,

Em có các sheet 001, 002, 003 có chứa các đơn hàng, em muốn tổng hợp lại số lượng đã bán thì làm thế nào ạ

Em cảm ơn nhiều

  • Tong hop hang.xlsx

    29.2 KB · Đọc: 123

  • #12

Mình cần tính tổng của 1 loại sp của các sheet ra 1 sheet tổng hợp. ai biết chỉ dùm mình với

  • BK NK TP T10-2015.xls

    225.5 KB · Đọc: 146

  • #13

Mình cần tính tổng của 1 loại sp của các sheet ra 1 sheet tổng hợp. ai biết chỉ dùm mình với

Bạn chạy Macro sau:

Mã:

Option Explicit
Public Sub GPE()
Dim Dic As Object, Ws As Worksheet, sArr, dArr
Dim I As Long, K As Long, CoL As Long, Tem As String
ReDim dArr(1 To 65000, 1 To 3)
Set Dic = CreateObject("Scripting.Dictionary")
For Each Ws In Worksheets
    If Ws.CodeName <> "Sheet1" And Ws.CodeName <> "Sheet5" Then
        sArr = Ws.Range(Ws.[B3], Ws.[B65000].End(3)).Resize(, 4).Value
        For I = 1 To UBound(sArr)
            Tem = UCase(sArr(I, 1))
            If Not Dic.Exists(Tem) Then
                K = K + 1
                Dic.Add Tem, K
                    dArr(K, 1) = sArr(I, 1)
                    dArr(K, 2) = sArr(I, 2)
                    dArr(K, 3) = sArr(I, 4)
                Else
                    dArr(Dic.Item(Tem), 3) = dArr(Dic.Item(Tem), 3) + sArr(I, 4)
            End If
        Next I
    End If
Next Ws
With Sheet5
    .[B3:D65000].ClearContents
    .[B3].Resize(K, 3) = dArr
End With
Set Dic = Nothing
End Sub

Cộng nhiều ô trên nhiều sheet

  • #14

Xin lỗi em đào mộ. Bác nào giúp em tính tổng theo từng tháng ở sheet Tong hop được ko ạ? E dùng Sumproduct đúng như theo hướng dẫn nhưng ko ra (

  • Tinh tong nhieu sheet.xlsx

    627.3 KB · Đọc: 237

  • #15

Xin lỗi em đào mộ. Bác nào giúp em tính tổng theo từng tháng ở sheet Tong hop được ko ạ? E dùng Sumproduct đúng như theo hướng dẫn nhưng ko ra (

Bạn sửa ô P4 lại là: T1TS (do thừa một khoảng trắng)

  • #16

Xin lỗi em đào mộ. Bác nào giúp em tính tổng theo từng tháng ở sheet Tong hop được ko ạ? E dùng Sumproduct đúng như theo hướng dẫn nhưng ko ra (

bài này chỉ dùng công cụ consolidate có sẵn là tuyệt đỉnh.Không có công thức nào chơi lại

  • #17

em muốn tổng hợp file sau thì phải làm sao nhờ mấy anh chỉ em với
tên sheet của em ko theo qui luật và nằm trước sheet tổng hợp

  • DUTOAN.xls

    4.5 MB · Đọc: 57

  • #18

Xin phép bạn mình cmt để lưu post

Cộng nhiều ô trên nhiều sheet

  • #19

Nếu đơn thuần là sum các sheet con vào sheet tổng theo tiêu đề cột và tiêu đề hàng, các bạn hãy thử công cụ consolidate của excel thử xem.

Xem thêm bài viết tại đây về công cụ consolidate
http://www.giaiphapexcel.com/forum/showthread.php?t=10217

Có anh chị cao thủ nào chỉ em cộng tổng của các sheet mà định dạng sheet tổng k giống các sheet con k ạ?