Giúp công thức và Code để tính tổng thành tiền theo ngày, tháng, năm (1 người xem)

Liên hệ QC

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

minhtuan55

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
23/3/16
Bài viết
705
Được thích
52
Chảo cả nhà GPE !

Em cần 1 công thức để tính được Tổng thành tiền theo Ngày, Tháng, Năm không quan tâm Giờ, phút , Giây
Em có gửi File mọi người xem giúp em
Vì đây là File mẫu chứ File thực tế của mình dữ liệu hơn 10.000 dòng
nên mọi người giúp cho mình code luôn, Chứ công thức làm File nặng lắm
Em xin chân thành cảm ơn !
 

File đính kèm

Chảo cả nhà GPE !

Em cần 1 công thức để tính được Tổng thành tiền theo Ngày, Tháng, Năm không quan tâm Giờ, phút , Giây
Em có gửi File mọi người xem giúp em
Vì đây là File mẫu chứ File thực tế của mình dữ liệu hơn 10.000 dòng
nên mọi người giúp cho mình code luôn, Chứ công thức làm File nặng lắm
Em xin chân thành cảm ơn !
Chủ đề thì yêu cầu công thức và code, bài viết thì đòi "code luôn"?

p/s: Ông tướng này gửi 25 thớt, hơn 250 bài... chỉ thấy yêu cầu "Giúp". Dường như cứ có cái gì là lập thớt: "Giúp...."
Chịu khó tìm và đọc kiến thức đã có trên diễn dàn, mua sách về học chứ...

gpe.jpg
 
Upvote 0
Chủ đề thì yêu cầu công thức và code, bài viết thì đòi "code luôn"?

p/s: Ông tướng này gửi 25 thớt, hơn 250 bài... chỉ thấy yêu cầu "Giúp". Dường như cứ có cái gì là lập thớt: "Giúp...."
Chịu khó tìm và đọc kiến thức đã có trên diễn dàn, mua sách về học chứ...

View attachment 172802

em có lên Google rồi anh, Tìm kiếm từ chiều 5h đến giờ, không được mới lên hỏi nek anh. mong anh giúp em. Em còn ngu lắm, Chỉ cần mỗi người chỉ em 1 ít sau này em rành em sẽ không hỏi nữa đâu. Sao anh lại La em nhĩ. Anh chỉ em thì ai Hưởng. anh hưởng Công Đức chứ ai, Anh giúp người khác học tập thì sau này anh sẽ có Công Đức Vô Lượng Kiếp. Diễn đàn để giúp đở những người không rành Excel như em, thì em hỏi, nhẽ ra anh phải cảm ơn em, vì em đả gửi như câu hỏi rất có ý nghĩa nữa chứ

p/s: em là người Theo Đạo Phật nên mọi người cứ giúp em Đừng La em tội nghiệp em. cố gắng chỉ người ta là 1 việc làm rất là tốt, nhưng phải Tùy hỷ ( chỉ người ta mình phải Vui nữa )
 
Lần chỉnh sửa cuối:
Upvote 0
Chảo cả nhà GPE !

Em cần 1 công thức để tính được Tổng thành tiền theo Ngày, Tháng, Năm không quan tâm Giờ, phút , Giây
Em có gửi File mọi người xem giúp em
Vì đây là File mẫu chứ File thực tế của mình dữ liệu hơn 10.000 dòng
nên mọi người giúp cho mình code luôn, Chứ công thức làm File nặng lắm
Em xin chân thành cảm ơn !
Bạn thử dùng CT này xem, 10.000 dòng chắc chạy được:
Mã:
=SUM(IF(INT($C$4:$C$29)=F4,$D$4:$D$29))
Bấm Ctrl+Shift+Enter rồi fill xuống!!!
Tính dùng sumproduct mà thôi dùng SUM kết hợp với IF công thức sẽ nhẹ hơn nhiều so với sumproduct!!!
 
Upvote 0
Chảo cả nhà GPE !

Em cần 1 công thức để tính được Tổng thành tiền theo Ngày, Tháng, Năm không quan tâm Giờ, phút , Giây
Em có gửi File mọi người xem giúp em
Vì đây là File mẫu chứ File thực tế của mình dữ liệu hơn 10.000 dòng
nên mọi người giúp cho mình code luôn, Chứ công thức làm File nặng lắm
Em xin chân thành cảm ơn !

Tặng bạn cái này ...................
PHP:
Public Sub GPE()
Dim sArr(), dArr(), I As Long, K As Long, R As Long, Rws As Long, Tem As Long
sArr = Range("C4", Range("C4").End(xlDown)).Resize(, 2).Value
R = UBound(sArr)
ReDim dArr(1 To R, 1 To 2)
With CreateObject("Scripting.Dictionary")
    For I = 1 To R
        Tem = Int(sArr(I, 1))
        If Not .Exists(Tem) Then
            K = K + 1: .Item(Tem) = K: dArr(K, 1) = Tem
        End If
        Rws = .Item(Tem)
        dArr(Rws, 2) = dArr(Rws, 2) + sArr(I, 2)
    Next I
End With
Range("F4:G1000").ClearContents
Range("F4:G4").Resize(K) = dArr
End Sub
 
Upvote 0
em có lên Google rồi anh, Tìm kiếm từ chiều 5h đến giờ, không được mới lên hỏi nek anh. mong anh giúp em. Em còn ngu lắm, Chỉ cần mỗi người chỉ em 1 ít sau này em rành em sẽ không hỏi nữa đâu. Sao anh lại La em nhĩ. Anh chỉ em thì ai Hưởng. anh hưởng Công Đức chứ ai, Anh giúp người khác học tập thì sau này anh sẽ có Công Đức Vô Lượng Kiếp. Diễn đàn để giúp đở những người không rành Excel như em, thì em hỏi, nhẽ ra anh phải cảm ơn em, vì em đả gửi như câu hỏi rất có ý nghĩa nữa chứ

p/s: em là người Theo Đạo Phật nên mọi người cứ giúp em Đừng La em tội nghiệp em. cố gắng chỉ người ta là 1 việc làm rất là tốt, nhưng phải Tùy hỷ ( chỉ người ta mình phải Vui nữa )
...............................
wth?

Thái độ như thế là không có được. Khi chưa biết cần thể hiện sự cầu thị. Nếu biết rồi thì khỏi cần viết hỏi mấy bài này...

Tôi không cần bạn chỉ cho tôi "phải" làm cái gì.
 
Lần chỉnh sửa cuối:
Upvote 0
Thêm 1 cách nữa cho vui cửa nhà nè:

PHP:
Option Explicit
Sub TinhTong()
 Dim Cls As Range, CSDL As Range, WF As Object
 Dim Rws As Long
 
 Rws = [c3].CurrentRegion.Rows.Count
 Set CSDL = [c3].Resize(Rws, 2)
 Set WF = Application.WorksheetFunction
 [i1:j1].Value = [c3].Value
 For Each Cls In [f4:f8]
    [k2].Value = Cls.Value
    Cls.Offset(, 2).Value = WF.DSum(CSDL, [d3], [i1:j2])
 Next Cls
End Sub

Tại [I2] ta áp công thức =">"&daungay(K2)
& [J2] có ="<"& daungay(K2+1)

Mã:
Function Daungay(Dat As Date) As Date
 Daungay = DateSerial(Year(Date), Month(Dat), Day(Dat)) - 0.0001
End Function
 
Upvote 0
Tặng bạn cái này ...................
PHP:
Public Sub GPE()
Dim sArr(), dArr(), I As Long, K As Long, R As Long, Rws As Long, Tem As Long
sArr = Range("C4", Range("C4").End(xlDown)).Resize(, 2).Value
R = UBound(sArr)
ReDim dArr(1 To R, 1 To 2)
With CreateObject("Scripting.Dictionary")
    For I = 1 To R
        Tem = Int(sArr(I, 1))
        If Not .Exists(Tem) Then
            K = K + 1: .Item(Tem) = K: dArr(K, 1) = Tem
        End If
        Rws = .Item(Tem)
        dArr(Rws, 2) = dArr(Rws, 2) + sArr(I, 2)
    Next I
End With
Range("F4:G1000").ClearContents
Range("F4:G4").Resize(K) = dArr
End Sub

Em đang ngủ mà phải Mò dậy để đăng nhập vào cảm ơn anh nek. Phải nói là anh Ba tÊ Quá nhiệt tình. Em xin chân thành cảm ơn. Chúc anh thật nhiều sức khỏe
Nhờ anh sửa lại code giúp em tí nữa mới ok được
cái bảng thống kê đó cột Ngày là do em tự nhập thủ công, nến anh chỉ cần xuất ra thành tiền thôi ( cột Ngày anh để yên cho em tự nhập, nhập xong em chạy code thì nó ra thành tiền ), Ngày nào không có thì =0 thôi . Cảm ơn anh lần 2
 
Lần chỉnh sửa cuối:
Upvote 0
Ông tướng này gửi 25 thớt, hơn 250 bài... chỉ thấy yêu cầu "Giúp". Dường như cứ có cái gì là lập thớt: "Giúp...."
Chịu khó tìm và đọc kiến thức đã có trên diễn dàn, mua sách về học chứ...

Tôi thì có thắc mắc: chủ thớt lấy mấy chục cái vấn đề này ở đâu ra? Cty, cơ quan nào mà giao một hơi mấy chục công việc tính toán cho ngừoi mới học Excel thế này?

Chịu khó tìm và đọc kiến thức đã có trên diễn dàn, mua sách về học chứ...

Nếu chịu khó tự tìm thì chỉ mình hưởng. Chủ thớt muốn tạo cơ hội cho mọi ngừoi ở đây cùng hưởng phúc với mình.

Anh chỉ em thì ai Hưởng. anh hưởng Công Đức chứ ai, Anh giúp người khác học tập thì sau này anh sẽ có Công Đức Vô Lượng Kiếp. Diễn đàn để giúp đở những người không rành Excel như em, thì em hỏi, nhẽ ra anh phải cảm ơn em...
 
Upvote 0
Anh giúp người khác học tập thì sau này anh sẽ có Công Đức Vô Lượng Kiếp. Diễn đàn để giúp đở những người không rành Excel như em, thì em hỏi, nhẽ ra anh phải cảm ơn em, vì em đả gửi như câu hỏi rất có ý nghĩa nữa chứ...

Bạn giúp cho ngừoi khác tích công đức thì bạn cũng hưởng công đức.
Vậy thì tất cả đều công đức.
Túm lại, nhờ bạn mà cả diễn đàn GPE được lên thiên đàng. Mô Phật.

p/s: em là người Theo Đạo Phật nên mọi người cứ giúp em Đừng La em tội nghiệp em. cố gắng chỉ người ta là 1 việc làm rất là tốt, nhưng phải Tùy hỷ ( chỉ người ta mình phải Vui nữa )

Diễn Kinh Phật nào vậy? Kinh Liên Hoa, Đại Tạng, Bát Nhã?

Nếu tôi theo quan niệm "Cho người con cá thì người no lòng được một ngày,. Chỉ ngừoi câu cá thì ngừoi no lòng cả đời"
Trước mắt tôi chỉ thấy ngừoi miệng đòi học câu nhưng bảo móc mồi trùng thì sợ bẩn tay.
 
Upvote 0
Em đang ngủ mà phải Mò dậy để đăng nhập vào cảm ơn anh nek. Phải nói là anh Ba tÊ Quá nhiệt tình. Em xin chân thành cảm ơn. Chúc anh thật nhiều sức khỏe
Nhờ anh sửa lại code giúp em tí nữa mới ok được
cái bảng thống kê đó cột Ngày là do em tự nhập thủ công, nến anh chỉ cần xuất ra thành tiền thôi ( cột Ngày anh để yên cho em tự nhập, nhập xong em chạy code thì nó ra thành tiền ), Ngày nào không có thì =0 thôi . Cảm ơn anh lần 2

Vậy thì hơi bị lạ, chỉnh lại code không phải 1 tí.
PHP:
Public Sub GPE()
Dim sArr(), dArr(), I As Long, K As Long, R1 As Long, R2 As Long, Rws As Long, Tem As Long
sArr = Range("F4", Range("F4").End(xlDown)).Value
R1 = UBound(sArr)
ReDim dArr(1 To R1, 1 To 1)
With CreateObject("Scripting.Dictionary")
    For I = 1 To R1
       .Item(sArr(I, 1)) = I
    Next I
    sArr = Range("C4", Range("C4").End(xlDown)).Resize(, 2).Value
    R2 = UBound(sArr)
    For I = 1 To R2
        Tem = Int(sArr(I, 1))
        If .Exists(Tem) Then
            Rws = .Item(Tem)
            dArr(Rws, 1) = dArr(Rws, 1) + sArr(I, 2)
        End If
    Next I
End With
Range("G4").Resize(R1) = dArr
End Sub
 
Upvote 0
Tôi thì có thắc mắc: chủ thớt lấy mấy chục cái vấn đề này ở đâu ra? Cty, cơ quan nào mà giao một hơi mấy chục công việc tính toán cho ngừoi mới học Excel thế này?
...
Nếu chịu khó tự tìm thì chỉ mình hưởng. Chủ thớt muốn tạo cơ hội cho mọi ngừoi ở đây cùng hưởng phúc với mình.

Cảm ơn anh.

Lúc đầu, em cũng không để tâm lắm.

Đôi khi lại có những lúc lộn ngược như thế. Mình vừa làm vừa PHẢI van nài cảm ơn thì "người ta" mới chịu cơ.

"Người ta" không cần học lễ mà chỉ cần học múa kiếm luôn.

Chúc anh tối ngon giấc!
 
Upvote 0
Cũng coi như mình được bố thí công việc đi!

PHP:
Option Explicit
Sub TinhTong()
 Dim Arr(), sArr()
 Dim J As Long, Rws As Long, W As Integer, Dat As Double
 
 Sheet1.Select
 Rws = [C4].CurrentRegion.Rows.Count
 Arr() = [C4].Resize(Rws, 2).Value
 sArr() = Range([f4], [f4].End(xlDown)).Value
 ReDim dArr(1 To UBound(sArr()), 1 To 1) As Double
 For J = 1 To UBound(Arr())
    For W = 1 To UBound(sArr())
        Dat = DateSerial(Year(Arr(J, 1)), Month(Arr(J, 1)), Day(Arr(J, 1)))
        If Dat = sArr(W, 1) Then
            dArr(W, 1) = dArr(W, 1) + Arr(J, 2)
        End If
    Next W
 Next J
 Range([f4], [f4].End(xlDown)).Offset(, 1).Value = dArr()
End Sub
)*&^)
 
Upvote 0
PHP:
Option Explicit
Sub TinhTong()
 Dim Arr(), sArr()
 Dim J As Long, Rws As Long, W As Integer, Dat As Double
 
 Sheet1.Select
 Rws = [C4].CurrentRegion.Rows.Count
 Arr() = [C4].Resize(Rws, 2).Value
 sArr() = Range([f4], [f4].End(xlDown)).Value
 ReDim dArr(1 To UBound(sArr()), 1 To 1) As Double
 For J = 1 To UBound(Arr())
    For W = 1 To UBound(sArr())
        Dat = DateSerial(Year(Arr(J, 1)), Month(Arr(J, 1)), Day(Arr(J, 1)))
        If Dat = sArr(W, 1) Then
            dArr(W, 1) = dArr(W, 1) + Arr(J, 2)
        End If
    Next W
 Next J
 Range([f4], [f4].End(xlDown)).Offset(, 1).Value = dArr()
End Sub
)*&^)

Cảm ơn bác nha. Em thử nhập ngày 20/3/2017 Nó hiện ra kết quả #N/A bác ơi. Bác giúp em sửa lại, nếu ngày không có là 0, và ngày nào có thì cứ hiện ra thôi. Em chúc bác cả năm nay làm ăn phát đạt, tối nay em đi chùa em sẽ cầu An cho bác.
 
Upvote 0
Tuyệt vời nha anh Bate. Thank anh nhiều lắm. bác cho em hỏi cái từ Public của bác có ý nghĩa gì vậy, bác tặng em code nào em đều bỏ từ này hết
Vậy thì hơi bị lạ, chỉnh lại code không phải 1 tí.
PHP:
Public Sub GPE()
Dim sArr(), dArr(), I As Long, K As Long, R1 As Long, R2 As Long, Rws As Long, Tem As Long
sArr = Range("F4", Range("F4").End(xlDown)).Value
R1 = UBound(sArr)
ReDim dArr(1 To R1, 1 To 1)
With CreateObject("Scripting.Dictionary")
    For I = 1 To R1
       .Item(sArr(I, 1)) = I
    Next I
    sArr = Range("C4", Range("C4").End(xlDown)).Resize(, 2).Value
    R2 = UBound(sArr)
    For I = 1 To R2
        Tem = Int(sArr(I, 1))
        If .Exists(Tem) Then
            Rws = .Item(Tem)
            dArr(Rws, 1) = dArr(Rws, 1) + sArr(I, 2)
        End If
    Next I
End With
Range("G4").Resize(R1) = dArr
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Em thử nhập ngày 20/3/2017 Nó hiện ra kết quả #N/A bác ơi.
Bác giúp em sửa lại, & ngày nào có thì cứ hiện ra thôi. Chúc bác cả năm nay làm ăn phát đạt, tối nay em đi cầu . . . .

Mô phật, bần tăng không biết sư thầy đã nhập cái ngày cần xử lí í vô đâu & nhất là nhập như thế nào?

Kính sư thầy!
 
Upvote 0
Web KT

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

Back
Top Bottom