Chỉ cộng những cell ở những cột không bị Hide

Liên hệ QC

AnhThu-1976

Thành viên tích cực
Tham gia
17/10/14
Bài viết
1,016
Được thích
163
Cho em hỏi trường hợp sau:
Bình thường là Sum(A1:E1)
Bây giờ em hide bớt 3 cột B, C, D, thì làm sao chỉ còn Sum 2 cột A & E (chỉ sum các cột không bị ẩn)
P/S: Hàm Subtotal chỉ áp dụng cho những dòng bị Filter, nên không dùng cho các cột bị Hide
Anh chị xin vui lòng giúp công thức trong trường hợp trên, em cảm ơn!
 
Cho em hỏi trường hợp sau:
Bình thường là Sum(A1:E1)
Bây giờ em hide bớt 3 cột B, C, D, thì làm sao chỉ còn Sum 2 cột A & E (chỉ sum các cột không bị ẩn)
P/S: Hàm Subtotal chỉ áp dụng cho những dòng bị Filter, nên không dùng cho các cột bị Hide
Anh chị xin vui lòng giúp công thức trong trường hợp trên, em cảm ơn!
SUBTOTAL không có tác dụng với cột ẩn đâu. Tuy nhiên ta có thể "chơi chiêu" một chút bằng cách dùng 1 dòng phụ. Xem file
 

File đính kèm

  • SubtotalWithHiddenColumns.xlsx
    8.9 KB · Đọc: 35
SUBTOTAL không có tác dụng với cột ẩn đâu. Tuy nhiên ta có thể "chơi chiêu" một chút bằng cách dùng 1 dòng phụ. Xem file

Khi thay đổi ẩn thêm hoặc bớt thì save lại kết quả vẫn không đổi cho đến khi F2 vào công thức và Enter thì kết quả mới được cập nhật.
 
Cho em hỏi trường hợp sau:
Bình thường là Sum(A1:E1)
Bây giờ em hide bớt 3 cột B, C, D, thì làm sao chỉ còn Sum 2 cột A & E (chỉ sum các cột không bị ẩn)
P/S: Hàm Subtotal chỉ áp dụng cho những dòng bị Filter, nên không dùng cho các cột bị Hide
Anh chị xin vui lòng giúp công thức trong trường hợp trên, em cảm ơn!
Copy đoạn code dưới đây Paste vào Module rồi dùng hàm sau (Fill xuống).
=SumBoAn($A1:$E1)

Mã:
Function SumBoAn(VungCanTinh As Range) As Double
    Dim xcell As Range
    Dim Cong As Double
    For Each xcell In VungCanTinh
        If xcell.Rows.Hidden = False And xcell.Columns.Hidden = False Then
            Cong = Cong + xcell.Value
        End If
    Next
    SumBoAn = Cong
End Function

Lưu ý: Áp dụng luôn cho cả trường hợp Sum từng cột bỏ qua dòng ẩn, dùng hàm sau (Fill ngang).
=SumBoAn(A$14:A$18)
 
Lần chỉnh sửa cuối:
Copy đoạn code dưới đây Paste vào Module rồi dùng hàm sau (Fill xuống).
=SumBoAn($A1:$E1)

Mã:
Function SumBoAn(VungCanTinh As Range) As Double
    Dim xcell As Range
    Dim Cong As Double
    For Each xcell In VungCanTinh
        If xcell.Rows.Hidden = False And xcell.Columns.Hidden = False Then
            Cong = Cong + xcell.Value
        End If
    Next
    SumBoAn = Cong
End Function

Lưu ý: Áp dụng luôn cho cả trường hợp Sum từng cột bỏ qua dòng ẩn, dùng hàm sau (Fill ngang).
=SumBoAn(A$14:A$18)
Cho em hỏi, khi che cột hay mở cột thì kết quả cũng không thay đổi kể cả bấm F9 và Save
Chỉ khi nào bấm F2 rồi enter thì kết quả mới thay đổi
Hỏi có cách nào khắc phục không? Em cảm ơn!
 
SUBTOTAL không có tác dụng với cột ẩn đâu. Tuy nhiên ta có thể "chơi chiêu" một chút bằng cách dùng 1 dòng phụ. Xem file
Thưa bác @ndu96081631 hàm Subtotal trên Office 365 (và hình như từ Office 2013 trở đi thì phải) có mã hàm bỏ qua giá trị ẩn, đó là:
= SUBTOTAL(function_num,ref1,[ref2],...) trong đó:
Function_number: Với mã hàm tổng là 9, sẽ cộng cả giá trị ẩn. Với mã hàm tổng là 109 sẽ bỏ qua giá trị ẩn
 
Web KT
Back
Top Bottom