Chọn ra dữ liệu có giá trị cộng dồn lớn hơn 1 giá trị mặc định ở cột khác (1 người xem)

Liên hệ QC

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

huongnguyen89

Thành viên mới
Tham gia
22/7/11
Bài viết
2
Được thích
0
Mình có 1 bảng excel bao gồm 3 cột là ID, Data, Date
=> Có cách nào lựa chọn ra Date có Data cộng dồn >10 (cộng dồn từ ngày lớn nhất) theo từng ID (mỗi ID sẽ có từng dữ liệu Data theo từng Date) trên Excel không?
Ví dụ:

[TABLE="width: 500"]
[TR]
[TD]ID
[/TD]
[TD]Number
[/TD]
[TD]Date
[/TD]
[/TR]
[TR]
[TD]1
[/TD]
[TD]0
[/TD]
[TD]28/9/2014
[/TD]
[/TR]
[TR]
[TD]1
[/TD]
[TD]1
[/TD]
[TD]29/9/2014
[/TD]
[/TR]
[TR]
[TD]1
[/TD]
[TD]0
[/TD]
[TD]30/9/2014
[/TD]
[/TR]
[TR]
[TD]1
[/TD]
[TD]0
[/TD]
[TD]1/10/2014
[/TD]
[/TR]
[TR]
[TD]1
[/TD]
[TD]0
[/TD]
[TD]3/10/2014
[/TD]
[/TR]
[TR]
[TD]1
[/TD]
[TD]2
[/TD]
[TD]7/10/2014
[/TD]
[/TR]
[TR]
[TD]2
[/TD]
[TD]4
[/TD]
[TD]28/9/2014
[/TD]
[/TR]
[TR]
[TD]2
[/TD]
[TD]10
[/TD]
[TD]29/9/2014
[/TD]
[/TR]
[TR]
[TD]2
[/TD]
[TD]13
[/TD]
[TD]30/9/2014
[/TD]
[/TR]
[TR]
[TD]2
[/TD]
[TD]6
[/TD]
[TD]1/10/2014
[/TD]
[/TR]
[TR]
[TD]2
[/TD]
[TD]4
[/TD]
[TD]2/10/2014
[/TD]
[/TR]
[TR]
[TD]2
[/TD]
[TD]11
[/TD]
[TD]3/10/2014
[/TD]
[/TR]
[TR]
[TD]2
[/TD]
[TD]4
[/TD]
[TD]4/10/2014
[/TD]
[/TR]
[TR]
[TD]2
[/TD]
[TD]8
[/TD]
[TD]5/10/2014
[/TD]
[/TR]
[TR]
[TD]2
[/TD]
[TD]9
[/TD]
[TD]6/10/2014
[/TD]
[/TR]
[TR]
[TD]2
[/TD]
[TD]6
[/TD]
[TD]7/10/2014
[/TD]
[/TR]
[TR]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[/TR]
[/TABLE]
Từ bảng trên thấy đối với ID 2 sẽ tìm ra được ngày 6/10/2014 là ngày đạt được Data > 10 (9+6)

Mình gửi file đính kèm chi tiết hơn. Mình cảm ơn.
 

File đính kèm

Mình có 1 bảng excel bao gồm 3 cột là ID, Data, Date
=> Có cách nào lựa chọn ra Date có Data cộng dồn >10 (cộng dồn từ ngày lớn nhất) theo từng ID (mỗi ID sẽ có từng dữ liệu Data theo từng Date) trên Excel không?
Ví dụ:

Từ bảng trên thấy đối với ID 2 sẽ tìm ra được ngày 6/10/2014 là ngày đạt được Data > 10 (9+6)

Mình gửi file đính kèm chi tiết hơn. Mình cảm ơn.
Chạy thử code này coi sao
PHP:
Public Sub GPE()
Dim Dic As Object, Tem As Variant, I As Long, K As Long, sArr(), dArr()
Set Dic = CreateObject("Scripting.Dictionary")
sArr = Range([A2], [A2].End(xlDown)).Resize(, 3).Value
ReDim dArr(1 To UBound(sArr, 1), 1 To 2)
For I = UBound(sArr, 1) To 1 Step -1
    Tem = sArr(I, 1)
    Dic.Item(Tem) = Dic.Item(Tem) + sArr(I, 2)
    If Dic.Item(Tem) > 10 Then
        K = K + 1
        dArr(K, 1) = Tem
        dArr(K, 2) = sArr(I, 3)
        Dic.Item(Tem) = -(10 ^ 10)
    End If
Next I
[H2:I1000].ClearContents
[H2].Resize(K, 2) = dArr
[H2].Resize(K, 2).Sort Key1:=[H2]
Set Dic = Nothing
End Sub
 

File đính kèm

Mình chạy thử thấy đúng rồi. Cảm ơn bạn nhé.
 
Web KT

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

Back
Top Bottom