Cần giúp đở về cách tính tỗng tất cả các hàm sum có trong sheet.... (1 người xem)

Người dùng đang xem chủ đề này

phplovesn

Thành viên mới
Tham gia
7/3/11
Bài viết
12
Được thích
1
Anh chị nào giúp em giờ em có sheet có rất nhiu hàm sum đã tính rồi h em mún viết 1 cái hàm sao cho nó tính tất cả hàm sum có sheet trong mong các anh chi giúp đỡ nhá ( hàm sum đã cộng em đã tô màu vàng rồi đó)
đây là bản tính của em mong anh chị giúp
http://www.mediafire.com/?ha1jo8615gdj8cc
 
Lần chỉnh sửa cuối:
Anh chị nào giúp em giờ em có sheet có rất nhiu hàm sum đã tính rồi h em mún viết 1 cái hàm sao cho nó tính tất cả hàm sum có sheet trong mong các anh chi giúp đỡ nhá ( hàm sum đã cộng em đã tô màu vàng rồi đó)
đây là bản tính của em mong anh chị giúp
http://www.mediafire.com/?ha1jo8615gdj8cc
Mình nghĩ dùng VBA đi. Bạn thử đoạn code này nhé:
PHP:
Sub Sum_Color()
Dim AdRs(1 To 10000) As String
Dim i As Integer
Dim CllCount As Integer
Dim Cll As Range
Dim Txt As String
CllCount = 0
For Each Cll In Selection    
If Not Cll.Interior.ColorIndex = xlNone And Cll <> ActiveCell Then        
CllCount = CllCount + 1        
AdRs(CllCount) = Replace(Cll.Address, "$", "")    
End If
Next
If CllCount = 0 Then Exit Sub
For i = 1 To CllCount    
Txt = Txt & "+" & AdRs(i)
Next i
ActiveCell.Formula = "=" & Right(Txt, Len(Txt) - 1)
End Sub
Cách dùng: đặt con trỏ vào ô muốn tính tổng, kéo và bôi đen từ ô đó đến hết vùng muốn tính tổng và chạy đoạn code trên.
 
Anh chị nào giúp em giờ em có sheet có rất nhiu hàm sum đã tính rồi h em mún viết 1 cái hàm sao cho nó tính tất cả hàm sum có sheet trong mong các anh chi giúp đỡ nhá ( hàm sum đã cộng em đã tô màu vàng rồi đó)
đây là bản tính của em mong anh chị giúp
http://www.mediafire.com/?ha1jo8615gdj8cc
Bạn so sánh kết quả công thức của bạn ở ô G43:
=SUM(F44;F40;F37;F33;F28;F23;F19;F16;F10;F7)
Với công thức này xem có khác nhau không rồi tùy nghi sử dụng nhé.
=SUM(F4:F44)/2
 
Có thể dùng thêm cách sau với trường hợp chưa tô màu các ô có chứa hàm SUM, bằng cách dùng Function (chèn thêm 1 module trong code và copy hàm sau)
PHP:
Function SumTotal(Optional r As Range) As Double
Dim c As Range, d As Double
Application.Volatile
If r Is Nothing Then Set r = ActiveSheet.UsedRange
    For Each c In r
    If c.HasFormula Then
        If InStr(c.Formula, "=SUM") Then
            d = d + c.Value
        End If
    End If
    Next
    SumTotal = d

End Function

Lưu ý: nếu muốn tính tổng của tất cả các công thức chứa hàm SUM thì gọi hàm:
SumTotal()
- nếu muốn chỉ định tính trong 1 vùng thì dùng
SumTotal(vùng cần tính tổng)
 
Lần chỉnh sửa cuối:
em không hiểu cho lắm mong mấy anh nói kĩ hơn 1 chút ạ
 
oke cách của bạn mình đã làm dc rồi nguyên tắc đơn giản là chỉ cần sum đầu tiên tới sum cuối cùng là dc (cách này cũng dc nhưng hơi lâu có cách nào khác để mình add hàm hoặc code trực tiếp lun chỉ cần có hàm sum là nó tỗng sẵn lun )
ah bạn ba tê có thể giải thích mình =sum(f4:f44)/2 là sao không? đang thắc mắc /2 á
 
Lần chỉnh sửa cuối:
Nếu chỗ "vàng vàng" được cho là tương đương với ô kề bên trái không có dữ liệu:
Mã:
=SUMPRODUCT(($E$4:$E$59="")*($F$4:$F$59))
 
Nếu chỗ "vàng vàng" được cho là tương đương với ô kề bên trái không có dữ liệu:
Mã:
=SUMPRODUCT(($E$4:$E$59="")*($F$4:$F$59))
bebo cũng siêng ghê nhỉ? Sum đơn giản mà người ta còn chê lâu, cái Sumproduct() dài thoòng ai ham.
Mình thấy mấy chữ "lun" là "mắc quạu" rồi.
Ẹc...
 
ah bạn ba tê có thể giải thích mình =sum(f4:f44)/2 là sao không? đang thắc mắc /2 á
Phạm vi F4:F44 bao gồm chi tiết và tổng của các chi tiết. Như vậy sum(F4:F44)/2 = sum(tổng các chi tiết)=sum(các chi tiết)
Nếu bác Ba Tê để ý một chút thì sẽ thấy cuối bảng dữ liệu, F59, có chi tiết mà không có tổng. Do đó, cũng có thể có trường hợp nếu dòng chi tiết chỉ có 1 dòng thì sẽ không có dòng SUM? trường hợp này dùng cách lấy tổng / 2 sẽ die.
Nên chăng dùng SUMPRODUCT như bài 8?
 
Phạm vi F4:F44 bao gồm chi tiết và tổng của các chi tiết. Như vậy sum(F4:F44)/2 = sum(tổng các chi tiết)=sum(các chi tiết)
Nếu bác Ba Tê để ý một chút thì sẽ thấy cuối bảng dữ liệu, F59, có chi tiết mà không có tổng. Do đó, cũng có thể có trường hợp nếu dòng chi tiết chỉ có 1 dòng thì sẽ không có dòng SUM? trường hợp này dùng cách lấy tổng / 2 sẽ die.
Nên chăng dùng SUMPRODUCT như bài 8?
Đàng nào thì cũng quét chọn vùng cần tính, chú ý quét đến dòng Sum cuối cùng là được chớ gì.
Sumproduct() mắc quét 2 vùng! "Lâu thầy bà"
Hi, hi...
 

Bài viết mới nhất

Back
Top Bottom