Tính toán & tìm kiếm/tổng hợp theo nhiều điều kiện ?

Liên hệ QC

Hoàng Nhật Phương

Thành viên gắn bó
Tham gia
5/11/15
Bài viết
1,894
Được thích
1,213
Xin chào tất cả các bạn,
Phiền các bạn bớt chút thời gian xem file kèm và giúp tôi vấn đề đang đề cập trong file với ạ.
Xin cảm ơn các bạn thật nhiều
 

File đính kèm

  • Tinh tong va Tim kiem.xlsx
    9.7 KB · Đọc: 35
Công thức này tại ô D11 sau đó Fill xuống !
Mã:
=subtotal(9,offset($c$2,match(c11,$c$3:$c$8,0),1,1,month($d$10)))
 
Lần chỉnh sửa cuối:
Công thức này tại ô D11 sau đó Fill xuống !
Mã:
=subtotal(9,offset($c$2,match(c11,$c$3:$c$8,0),1,1,month($d$10)))
CT mảng nên phải kết thúc = CTRL+SHIFT+ENTER

Cảm ơn bạn rất nhiều,
Kết quả đúng với ý tôi rồi, còn trường hợp nào mà không phải dùng đến CTRL+SHIFT+ENTER không vậy bạn.
Công thức này rất cao cấp tôi cũng muốn học hỏi cũng hơi khó.
-------------------------
Ngoài ra xin hỏi thêm nếu tôi bỏ 1 điều kiện ở cột màu xanh đi mà chỉ xet điều kiện tháng trong ô màu vàng thôi thì công thức cho vùng dấu hỏi chấm đó sẽ viết thế nào vậy bạn.
Các bạn xem file đính kèm nhé
Rất mong tiếp tục nhận thêm được sự trợ giúp của các bạn để hi vọng tôi học được thêm được một chút gì đó.

Cảm ơn các bạn rất nhiều.
 

File đính kèm

  • Tinh tong va Tim kiem -1.xlsx
    9.5 KB · Đọc: 16
Bạn cũng có thể dùng CT này thay cho bài trên
Mã:
=SUMPRODUCT(($C$3:$C$8=C11)*($D$2:$O$2<=$D$10)*($D$3:$O$8))

Cho mình xin lỗi bạn nha, CT ở bài #2 cũng là CT thường thôi hổng phải CT mảng đâu nên bạn cũng chỉ cần nhứn ENTER là đủ rồi.

Còn yêu cầu thứ 2 của bạn thì mình chưa rõ lắm. Có phải bạn muốn tính tổng cho tất cả các sp từ tháng 1 đến tháng trong ô bôi vàng đúng không ???
 
Lần chỉnh sửa cuối:
Cảm ơn bạn rất nhiều,
Kết quả đúng với ý tôi rồi, còn trường hợp nào mà không phải dùng đến CTRL+SHIFT+ENTER không vậy bạn.
Công thức này rất cao cấp tôi cũng muốn học hỏi cũng hơi khó.
-------------------------
Ngoài ra xin hỏi thêm nếu tôi bỏ 1 điều kiện ở cột màu xanh đi mà chỉ xet điều kiện tháng trong ô màu vàng thôi thì công thức cho vùng dấu hỏi chấm đó sẽ viết thế nào vậy bạn.
Các bạn xem file đính kèm nhé
Rất mong tiếp tục nhận thêm được sự trợ giúp của các bạn để hi vọng tôi học được thêm được một chút gì đó.

Cảm ơn các bạn rất nhiều.
Mình nghĩ chắc thế này: =SUM(OFFSET($C$2,MATCH(C11,$C$3:$C$8,0),1,1,MONTH($D$10)))
 
Cảm ơn bạn rất nhiều,
Kết quả đúng với ý tôi rồi, còn trường hợp nào mà không phải dùng đến CTRL+SHIFT+ENTER không vậy bạn.
Công thức này rất cao cấp tôi cũng muốn học hỏi cũng hơi khó.
-------------------------
Ngoài ra xin hỏi thêm nếu tôi bỏ 1 điều kiện ở cột màu xanh đi mà chỉ xet điều kiện tháng trong ô màu vàng thôi thì công thức cho vùng dấu hỏi chấm đó sẽ viết thế nào vậy bạn.
Các bạn xem file đính kèm nhé
Rất mong tiếp tục nhận thêm được sự trợ giúp của các bạn để hi vọng tôi học được thêm được một chút gì đó.

Cảm ơn các bạn rất nhiều.

Nếu thư thế (đúng thứ tự a b c... như bản gốc) thì là
=SUMIF($D$2:$O$2,"<="&D$10, $D3:$O3)
 
Bạn cũng có thể dùng CT này thay cho bài trên
Mã:
=SUMPRODUCT(($C$3:$C$8=C11)*($D$2:$O$2<=$D$10)*($D$3:$O$8))

Cho mình xin lỗi bạn nha, CT ở bài #2 cũng là CT thường thôi hổng phải CT mảng đâu nên bạn cũng chỉ cần nhứn ENTER là đủ rồi.

Còn yêu cầu thứ 2 của bạn thì mình chưa rõ lắm. Có phải bạn muốn tính tổng cho tất cả các sp từ tháng 1 đến tháng trong ô bôi vàng đúng không ???

Đúng rồi bạn ah, coi như tôi bỏ một điều kiện đi bạn ah cũng coi như là thứ tự ở bảng trên và bảng dưới được sắp xếp giống nhau a,b,c...
Tôi muốn tách ra để học thôi ý mà chứ không phải là được này đòi nọ gì đâu bạn ah, còn thực tế thì mong muốn chủ yếu đã nêu ở bài 1 rồi
Mong bạn giúp đỡ ! Cảm ơn bạn nhiều nhé.
 
Nếu thư thế (đúng thứ tự a b c... như bản gốc) thì là
=SUMIF($D$2:$O$2,"<="&D$10, $D3:$O3)

Hix, lại còn có cả công thức kiểu này này nữa ... các bạn giỏi và thông minh quá !
Nếu không phiền mong các bạn bớt chút thời gian tham gia chơi, để tôi có thể mở được mở rộng tầm mắt

Xin cảm ơn các bạn thật nhiều.
 
Đúng rồi bạn ah, coi như tôi bỏ một điều kiện đi bạn ah cũng coi như là thứ tự ở bảng trên và bảng dưới được sắp xếp giống nhau a,b,c...
Tôi muốn tách ra để học thôi ý mà chứ không phải là được này đòi nọ gì đâu bạn ah, còn thực tế thì mong muốn chủ yếu đã nêu ở bài 1 rồi
Mong bạn giúp đỡ ! Cảm ơn bạn nhiều nhé.

Nếu thế thì dùng CT này , giống với #5 nhưng bỏ bớt 1 điều kiện đi và viết như vầy:
Mã:
=SUMPRODUCT((D2:O2<=D10)*(D3:O8))
 
Sao không dùng SUMIF cho đơn giản
Mã:
=SUMIF(D$2:O$2,"<="&$D$10,D3:O3)
 
Tính tổng theo điều kiện ?

Xin chào tất cả các bạn,
Phiền các bạn bớt chút thời gian xem file kèm và giúp tôi vấn đề đang đề cập trong file với ạ.
Xin cảm ơn các bạn thật nhiều!

 

File đính kèm

  • Tinh tong theo dieu kien.xls
    25.5 KB · Đọc: 16
Xin chào tất cả các bạn,
Phiền các bạn bớt chút thời gian xem file kèm và giúp tôi vấn đề đang đề cập trong file với ạ.
Xin cảm ơn các bạn thật nhiều!

Sử dụng công thức này tại C7 rồi Fill xuống: (1113 phải ra 11 mới đúng chứ)
Mã:
=SUMPRODUCT(($F$7:$I$17=$B7)*($E$7:$E$17))
 
Xin chào tất cả các bạn,
Phiền các bạn bớt chút thời gian xem file kèm và giúp tôi vấn đề đang đề cập trong file với ạ.
Xin cảm ơn các bạn thật nhiều!


Kết quả dán cột K & L
Mã:
Public Sub GPE()
Dim Dic As Object, Tmp
Dim I As Long, J As Long, K As Long, Arr, dArr
Arr = Range("E7", [E65000].End(3)).Resize(, 5)
ReDim dArr(1 To UBound(Arr, 1), 1 To 2)
Set Dic = CreateObject("Scripting.Dictionary")
With Dic
    For J = 2 To UBound(Arr, 2)
        For I = 1 To UBound(Arr)
        If Arr(I, J) <> Empty Then
            Tmp = Arr(I, J)
            If Not .Exists(Tmp) Then
                K = K + 1
                .Add Tmp, K
                    dArr(K, 1) = Arr(I, J)
                    dArr(K, 2) = Arr(I, 1)
            Else
                dArr(.Item(Tmp), 2) = dArr(.Item(Tmp), 2) + Arr(I, 1)
            End If
        End If
        Next I
    Next J
End With
    Range("K7:L65000").ClearContents
    Range("K7").Resize(K, 2) = dArr
    Range("K7").Resize(K, 2).Sort Range("K7")
End Sub
 
Thật tuyệt vời! Xin cảm ơn 2 bạn giangleloi & hpkhuong rất nhiều.

Kết quả dán cột K & L
Mã:
Public Sub GPE()
Dim Dic As Object, Tmp
Dim I As Long, J As Long, K As Long, Arr, dArr
Arr = Range("E7", [E65000].End(3)).Resize(, 5)
ReDim dArr(1 To UBound(Arr, 1), 1 To 2)
Set Dic = CreateObject("Scripting.Dictionary")
With Dic
    For J = 2 To UBound(Arr, 2)
        For I = 1 To UBound(Arr)
        If Arr(I, J) <> Empty Then
            Tmp = Arr(I, J)
            If Not .Exists(Tmp) Then
                K = K + 1
                .Add Tmp, K
                    dArr(K, 1) = Arr(I, J)
                    dArr(K, 2) = Arr(I, 1)
            Else
                dArr(.Item(Tmp), 2) = dArr(.Item(Tmp), 2) + Arr(I, 1)
            End If
        End If
        Next I
    Next J
End With
    Range("K7:L65000").ClearContents
    Range("K7").Resize(K, 2) = dArr
    Range("K7").Resize(K, 2).Sort Range("K7")
End Sub

Code này hay quá bạn hpkhuong ah! bạn rất hiểu ý tôi ^^
Để tôi áp dụng xem có vấn đề gì không rồi nhờ các bạn tiếp nhé!
Chúc các bạn Noel thật vui vẻ & ấm áp !!
 
Lần chỉnh sửa cuối:
Xin chào các bạn,
Nhờ các bạn giúp đỡ cho tôi trường hợp trong tập tin gửi kèm với ạ.
 

File đính kèm

  • Book1.xlsx
    40.1 KB · Đọc: 16
Xin lỗi các bạn file kèm bài trước có chút vấn đề, Oanh Thơ xin gửi ;ại để nhờ các bạn giúp đỡ ạ.
H4
Mã:
=SUMPRODUCT(SUMIFS(INDEX(Sheet1!K2:AU1000,,MATCH(F9,Sheet1!K1:AU1,0)),Sheet1!B2:B1000,F8:S8,Sheet1!F2:F1000,">=15",Sheet1!F2:F1000,"<=23"))

H5
Mã:
=SUMPRODUCT(SUMIFS(INDEX(Sheet1!K2:AU1000,,MATCH(F9,Sheet1!K1:AU1,0)+1),Sheet1!B2:B1000,F8:S8,Sheet1!F2:F1000,">=6",Sheet1!F2:F1000,"<=14"))

Kết quả không khớp với của bạn. Tự kiểm tra nhé.
 
H4
Mã:
=SUMPRODUCT(SUMIFS(INDEX(Sheet1!K2:AU1000,,MATCH(F9,Sheet1!K1:AU1,0)),Sheet1!B2:B1000,F8:S8,Sheet1!F2:F1000,">=15",Sheet1!F2:F1000,"<=23"))

H5
Mã:
=SUMPRODUCT(SUMIFS(INDEX(Sheet1!K2:AU1000,,MATCH(F9,Sheet1!K1:AU1,0)+1),Sheet1!B2:B1000,F8:S8,Sheet1!F2:F1000,">=6",Sheet1!F2:F1000,"<=14"))

Kết quả không khớp với của bạn. Tự kiểm tra nhé.

Xin chào bác Siwtom, cảm ơn bác đã giúp đỡ.
Con đã kiểm tra kết quả,công thức của bác trả về kết quả đúng rồi,do con đưa kết quả minh họa bị sai ạ.
Híc...
 
Web KT
Back
Top Bottom