Tính tổng có nhiều điều kiện

Thảo luận trong 'Ứng dụng Excel' bắt đầu bởi topic, 20 Tháng mười hai 2004.

30,635 lượt xem

  1. topic

    topic Guest

    Chào các bạn ! :flower1:
    Tôi đang có một tình huống nan giải nhờ các bạn trong diễn đàn chỉ giúp. Tôi có một bảng danh sách trong EXCEL trong đó mỗi người có nhiều dữ liệu cần theo dõi, nay tôi cần tính tổng số theo nhóm tức là cộng những người thỏa mãn các điều kiện đưa ra (nếu dùng hàm SUMIF thì chỉ thỏa mãn được 1 điều kiện). Bạn nào có kinh nghiệm xin chỉ giúp.
     
    #1
  2. thanglong

    thanglong Guest

    theo mình bạn co thể sort các nhóm có cùng diều kiện rồi cộng chúng lại, trong Excel còn có một công cụ khác là :Advanced filter... Bạn lọc chúng ra rồi sum,sumif, hoặc Dsum.
    Chúc bạn thành công.
     
    #2
  3. tranvanhung

    tranvanhung Gãi ngứa

    Bài viết:
    2,976
    Đã được thích:
    9
    Nơi ở:
    Biên Hoà - Đồng Nai
    Để đơn giản thì bạn sử dụng hàm này: If(and(condition 1,condition 2, condition 3,....) là được à.
     
    #3
  4. Bình_OverAC

    Bình_OverAC Over Abnormal / Crazy

    Bài viết:
    845
    Đã được thích:
    7
    Nơi ở:
    Nha Trang
    Hình như là nó không đơn giản như bác tranvanhung noi dau
    Cái này bạn có thẻ dùng công thức mãng (muốn biết về công thức mãng vui lòng tìm lại trong các bài cũ).
    Câu của bác tranvanhung làm em nảy ra một ý tưởng thay thế conditional sum hay công thức mãn là dùng thêm một cột bằng cách sau:
    1. Tạo một cột nữa tạm gọi là cột điều kiện với công thức
    = and(condition1, condition2...) với các condition này là các điều kiện của các cột tương ứng,
    2. viêt công thức sumif
    = sumif (cột điều kiện, true,cột giá trị cộng)

    theo tự em thấy thì nó hơi bị hay đấy (^_^) từ đây em sẽ áp dụng cái này khỏi mất công dùng công thức mảng rối lắm mà đôi khi không thoả mản ý em.
     
    #4
  5. handung107

    handung107 Thành viên thân thiết

    Bài viết:
    576
    Đã được thích:
    13
    Nơi ở:
    VN
    Bạn hãy dùng công thức mảng.
    Td : Sheet DATA có các cột: NGAY, DVKH,NOTK, COTK, S_TIEN
    Tính tổng S_TIEN bên nợ TK 131 của khách hàng "KH001" hoặc "KH002" và trong thời gian từ ngày 01/09/04 đến 10/09/04.
    Công thức mảng như sau :
    [=SUM((DAY(Ngay)>=1)*(DAY(Ngay)<=10)*(IF((dvkh="KH001")+(dvkh="KH002"),1,0))*(NoTK=131)*S_tien)].
    Các công thức mảng bao giờ cũng được kết thúc bằng Ctrl+Shift+Enter
    Hoặc bạn có thể dùng công thức :
    =SUMPRODUCT((DAY(Ngay)>=1)*(DAY(Ngay)<=10)*((dvkh="KH001")+(dvkh="KH002"))*(NoTK=131)*S_tien)
    Công thức dưới không phải là công thức mảng nhưng cũng dùng để tính tổng nhiều điều kiện. Bạn có thể xem các bài về công thức mảng rải rác trong Excel Fan và Thủ thuật Excel, bài của Tuankctdcn phân tích về công thức mảng rất hay.
     
    #5
  6. tranvanhung

    tranvanhung Gãi ngứa

    Bài viết:
    2,976
    Đã được thích:
    9
    Nơi ở:
    Biên Hoà - Đồng Nai
    Ui, nói tới vấn đề mảng thì nói làm gì, đâu có phải ai cũng làm được đâu.

    To OverAC: Làm như cậu cũng được nhưng như vậy thì cậu phải làm dạng bắc cầu rồi.
    Có thể thêm như thế này cũng được (If(and(cond 1, cond 2, cond 3,...)or(cond 1, cond 2, cond 3,...)). Như thế cũng tạm ổn đấy.
     
    #6
  7. handung107

    handung107 Thành viên thân thiết

    Bài viết:
    576
    Đã được thích:
    13
    Nơi ở:
    VN
    To Over AC, tạo thêm một cột điều kiện rồi dùng hàm Sumif không phải là giải pháp tốt hơn đâu, nếu em không thích dùng công thức mảng hãy thay thế nó bằng hàm SumProduct. cấu trúc của hàm rất đơn giản :
    SUMPRODUCT((TenMang1=DK1)*(TenMang2=DK2)*(TenMang3=DK3)) với các điều kiện AND. Còn các điều kiện OR thì công thức mảng trở thành :
    SUMPRODUCT(((TenMang1=DK1)+(TenMang2=DK2))*(TenMang3=DK3)) (OR DK1,DK2)
    Chị cũng rất thích dùng hàm SumProduct hơn công thức mảng nhiều
     
    #7
  8. Bình_OverAC

    Bình_OverAC Over Abnormal / Crazy

    Bài viết:
    845
    Đã được thích:
    7
    Nơi ở:
    Nha Trang
    Thế là em không hiểu thấu đáo về hàm sumproduct rồi.

    Em thử ví dụ của chị handung rồi. Quá hay. Nói thật là từ trước tới giờ có bao giờ em dùng hàm sumproduct đâu (mặc dù có biết qua về nó). Bây giờ mới biết nó thật tuyệt



    Cám ơn chị handung nhiều
     
    Last edited: 20 Tháng mười hai 2004
    #8
  9. deepblue

    deepblue Thành viên sơ cấp

    Bài viết:
    183
    Đã được thích:
    1
    Nơi ở:
    Mù Cang Chải
    Đã bạn nào dùng thử hàm Dsum chưa, tôi nghĩ là nó có thể giải quyết được đây
     
    #9
  10. quocnghia

    quocnghia Thành viên sơ cấp

    Bài viết:
    64
    Đã được thích:
    0
    Có cách nào khác nữa không các bạn.
     
    #10
  11. Tuanktcdcn

    Tuanktcdcn Lão già ham vui

    Bài viết:
    548
    Đã được thích:
    50
    Nơi ở:
    Hà Nội
    Tính tổng có điều kiện

    Bạn có thể có nhiều cách như:
    DSUM nếu bạn chỉ tính cho một cell thì ok nhưng nếu bạn cần copy công thức cho các cell khác thì DSUM không dùng được vì nó phải có thêm các criteria tương ứng.
    SUMIF chỉ tính tổng theo điều kiện đơn->không phù hợp cho những sổ tổng hợp theo nhiều tiêu thức khác nhau.
    SUM(IF(...,0),..),0)) là một dạng cấu trúc công thức mảng. Nếu bạn sử dụng tốt dạng này, tôi tin rằng bạn sẽ càng "ngưỡng mộ" Excel hơn, nhưng nếu không biết cách thì bạn phải cần mẫn hơn trong quá trình lọc (Filter, Advanced Filter) mà không phải đã đúng ý bạn.
    Câu trả lời cuối chính xác để tính tổng có nhiều điều kiện là dùng công thức mảng.
    (Trong diễn đàn đã có một số bài nói về công thức mảng-Formula Array, các bạn có thể tìm đọc thêm)
     
    #11
  12. handung107

    handung107 Thành viên thân thiết

    Bài viết:
    576
    Đã được thích:
    13
    Nơi ở:
    VN
    Nếu chỉ để tính tổng với nhiều điều kiện khác nhau, hàm SumProduct hoàn toàn có thể thay thế công thức mảng, nhưng nếu bạn muốn tìm hiểu về công thức mảng, bạn nên bắt đầu cũng từ việc "tính tổng với nhiều điều kiện khác nhau", vì ở phần này bạn dễ hình dung nhất, dễ hiểu và áp dụng nhất, khi đã quen với cấu trúc của công thức mảng, bạn sẽ áp dụng được ở nhiều lãnh vực khác nhau.
     
    #12
  13. quocnghia

    quocnghia Thành viên sơ cấp

    Bài viết:
    64
    Đã được thích:
    0
    Theo mình nghĩ thì đề tài này đã được thảo luận ở các bài cũ. Nếu có cách xử lý khác hay hơn sẽ thảo luận lại sau.
     
    #13
  14. levanduyet

    levanduyet Welcome

    Bài viết:
    535
    Đã được thích:
    11
    Giới tính:
    Nam
    Nơi ở:
    HCM
    Xin chào tất cả,
    Theo tôi được biết việc tính tổng theo nhiều điều kiện thì các bạn làm kế toán cũng thường dùng lắm. Có nên chăng chúng ta cùng nhau xây dựng một hàm ... hay hay ... để cùng dùng chung?
    Ví dụ: tôi có một khối dữ liệu về chi tiết hoá đơn. Tôi muốn tính tổng giá trị của một khách hàng, theo mã hàng, ...và từ ngày x đến ngày y...
    (Có bạn đặt vấn đề còn nhiều hơn thế nữa)
    Các bác thấy ý kiến của tôi như thế nào?
    Lê Văn Duyệt
    levanduyet@yahoo.com
     
    #14
  15. handung107

    handung107 Thành viên thân thiết

    Bài viết:
    576
    Đã được thích:
    13
    Nơi ở:
    VN
    Trời ! Bác Duyệt còn tính xây dựng hàm gì nữa đây ? Cái hàm SumProduct cho phép bác tính tổng với thoả thuê bao nhiêu điều kiện mà lại rất đơn giản, dễ dùng.
    Cái công thức mảng cũng giúp bạn nhiều lắm, mà những vân đề này như quocnghia đã nói là khá cũ, được bàn rất nhiều trong Box này rồi, các bạn chịu khó tìm lại nhé
     
    #15
  16. phongky2013

    phongky2013 Thành viên sơ cấp

    Bài viết:
    92
    Đã được thích:
    11
    Nơi ở:
    Hà Nội
    Đúng vậy, nếu tính tổng có 1 hay nhiều điều kiện thì dùng hàm Sumproduct rất hữu dụng. Bạn nào còn chưa hiểu về cách dùng hàm Sumproduct để tính tổng có điều kiện, xin mời tham khảo video hướng dẫn dưới đây:

     
    #16
    songtu345 thích bài này.
  17. @Hòa

    @Hòa Thành viên sơ cấp

    Bài viết:
    7
    Đã được thích:
    0
    Giới tính:
    Nữ
    Em chào cả nhà ạ. Mọi người cho em hỏi chút. em muốn tính tổng các ô trong bảng chấm công nhưng không tính những ngày lễ và ngày chủ nhât. em làm công thức SUMIF($F$5:$AJ$5,"<>lễ",F9:AJ9)+SUMIF($F$5:$AJ$5,"<>cn",F9:AJ9) nhưng không ra ạ,hic. cả nhà giúp em với ạ :((
     
    #17
  18. Meocondethuong

    Meocondethuong Thành viên sơ cấp

    Bài viết:
    1
    Đã được thích:
    0
    Nơi ở:
    270/28A Phan Đình Phùng Phường 1 Quận Phú Nhuận TP
    SUMIF($F$5:$AJ$5,<>"lễ",F9:AJ9)+SUMIF($F$5:$AJ$5,<>"cn",F9:AJ9) thử xem sao
     
    #18
  19. @Hòa

    @Hòa Thành viên sơ cấp

    Bài viết:
    7
    Đã được thích:
    0
    Giới tính:
    Nữ
    em làm không được ạ,hic
     
    #19
  20. Trần Thế Mai

    Trần Thế Mai Thành viên sơ cấp

    Bài viết:
    2
    Đã được thích:
    0
    Giới tính:
    Nam
    Cho em hỏi có hàm nào tính tổng nhiều điều kiện lặp lại không dùng hàm Sumif và sumifs ko?
    VD: em có danh sách gồm 9 cột thể vị trí các công nhân đứng máy và 1cột lương phân bổ trung bình theo từng ngày (mỗi ngày là 1 hàng ngang, 1 người chỉ xuất hiện 1 lần trong 9 vị trí đứng máy), hiện nay em muốn tìm tiền công của từng người theo từng ngày thì em dùng 9 hàm sumifs và tổng tiền cho 1 tháng em dùng 9 hàm sumif
    có hàm nào hoặc code VBA nào có thể giải quyết được cho em ko?
     
    #20

Chia sẻ trang này