Nhờ các bác tính tổng có điều kiện

  • Thread starter Thread starter nvtnet
  • Ngày gửi Ngày gửi
Liên hệ QC

nvtnet

Thành viên thường trực
Tham gia
31/5/11
Bài viết
269
Được thích
15
Nhờ các bác tính tổng có điều kiện như file gửi kèm ạ. em đã nêu rõ yêu cầu kèm theo file, mong các bác giúp ạ. em cảm ơn ạ
 

File đính kèm

Nhờ các bác tính tổng có điều kiện như file gửi kèm ạ. em đã nêu rõ yêu cầu kèm theo file, mong các bác giúp ạ. em cảm ơn ạ
Không liên quan nhưng file của bạn nhiều name quá, không dùng đến thì xóa bớt đi cho nhẹ.
 
Nhờ các bác tính tổng có điều kiện như file gửi kèm ạ. em đã nêu rõ yêu cầu kèm theo file, mong các bác giúp ạ. em cảm ơn ạ
Tôi không rảnh để giúp nhưng có thể góp ý cho bạn hướng đi như sau:
1/ Yêu cầu của bạn thì nên sử dụng VBA thì sẽ rất thuận tiện.
2/ Nên có 1 sheet để thiết kế làm 1 phiếu bán hàng, nếu không tự thiết kế được thì chụp hình cái mẫu phiếu gửi lên nhờ các thành viên giúp. Sheet này có hai nhiệm vụ tra hàng hóa khi lập phiếu xong thì lưu dữ liệu của phiếu (hay nhập liệu) vào sheet theo dõi (trong File bạn gọi là sheet NHẬP PHIẾU).
3/ Khi thiết kế phiếu bán hàng xong thì phải có số phiếu để có thể truy vấn trong việc in lại phiếu và phải sửa cấu trúc sheet theo dõi cho phù hợp vói phiếu bán hàng.
 
Tôi không rảnh để giúp nhưng có thể góp ý cho bạn hướng đi như sau:
1/ Yêu cầu của bạn thì nên sử dụng VBA thì sẽ rất thuận tiện.
2/ Nên có 1 sheet để thiết kế làm 1 phiếu bán hàng, nếu không tự thiết kế được thì chụp hình cái mẫu phiếu gửi lên nhờ các thành viên giúp. Sheet này có hai nhiệm vụ tra hàng hóa khi lập phiếu xong thì lưu dữ liệu của phiếu (hay nhập liệu) vào sheet theo dõi (trong File bạn gọi là sheet NHẬP PHIẾU).
3/ Khi thiết kế phiếu bán hàng xong thì phải có số phiếu để có thể truy vấn trong việc in lại phiếu và phải sửa cấu trúc sheet theo dõi cho phù hợp với phiếu bán hàng.
Thực ra em chỉ biết sử dụng excel, hiểu và sử dụng cơ bản một số hàm, em không chuyên về excel, không được đào tạo, chỉ mày mò học thôi ạ. nên hầu hết các ứng dụng cho công việc em điều post lên nhờ các bác trên diễn đàn giúp.
còn về góp ý của bác (em không biết tuổi bác nên cho em xưng hô vậy ạ) em cảm ơn bác. nhưng khi đó nó mang tính chuyên nghiệp rồi, khi đụng đến cần sửa cái gì em bó tay hihi, còn cái này nói thật là thế này ạ. bên bán hàng ở chỗ em có cái phần mềm quản lý bán hàng, mua của bên thứ 3, nhưng nó không thực tế với cơ quan, sai sót nhiều. vì vậy em tự thiết kế ra các mẫu như phần mềm và đưa vào excel, nhập liệu nó nhanh, tiết kiệm thời gian và giấy in (nhập thủ công chứ hàng hoá không có mã vạch, vì vậy em tạo các cụm gõ tắt, giảm thời gian nhập liệu lại) chứ dùng phần mềm cực lâu. Nhưng có điều là 1 khách hàng chỉ được mua đồ ăn trong một giới hạn nhất định, vượt quá giới hạn đó phải dừng. mà cái này hiện tại vẫn phải làm thủ công trên sổ. nên mong các bác giúp để nhanh hơn ạ.
Nếu chuyển thành VBA được (kể cả với tổng thể file thì em cảm ơn nhiều nhiều lắm ạ, vì VBA nó nhanh hơn nhiều)
Việc thiết kế phiếu thực ra không cần bác ạ, vì bọn em không cần truy cập in lại, hay lưu trữ gì hết, tất cả đều quản lý trên sổ của khách hàng.
file này chỉ nhằm mục đích in ra phiếu để kẹp đi cùng hàng hoá, thống kê hằng ngày, hằng tháng để thanh toán thôi ạ.
mong bác bớt chút thời gian giúp em với ạ.
 
Thực ra em chỉ biết sử dụng excel, hiểu và sử dụng cơ bản một số hàm, em không chuyên về excel, không được đào tạo, chỉ mày mò học thôi ạ. nên hầu hết các ứng dụng cho công việc em điều post lên nhờ các bác trên diễn đàn giúp.
còn về góp ý của bác (em không biết tuổi bác nên cho em xưng hô vậy ạ) em cảm ơn bác. nhưng khi đó nó mang tính chuyên nghiệp rồi, khi đụng đến cần sửa cái gì em bó tay hihi, còn cái này nói thật là thế này ạ. bên bán hàng ở chỗ em có cái phần mềm quản lý bán hàng, mua của bên thứ 3, nhưng nó không thực tế với cơ quan, sai sót nhiều. vì vậy em tự thiết kế ra các mẫu như phần mềm và đưa vào excel, nhập liệu nó nhanh, tiết kiệm thời gian và giấy in (nhập thủ công chứ hàng hoá không có mã vạch, vì vậy em tạo các cụm gõ tắt, giảm thời gian nhập liệu lại) chứ dùng phần mềm cực lâu. Nhưng có điều là 1 khách hàng chỉ được mua đồ ăn trong một giới hạn nhất định, vượt quá giới hạn đó phải dừng. mà cái này hiện tại vẫn phải làm thủ công trên sổ. nên mong các bác giúp để nhanh hơn ạ.
Nếu chuyển thành VBA được (kể cả với tổng thể file thì em cảm ơn nhiều nhiều lắm ạ, vì VBA nó nhanh hơn nhiều)
Việc thiết kế phiếu thực ra không cần bác ạ, vì bọn em không cần truy cập in lại, hay lưu trữ gì hết, tất cả đều quản lý trên sổ của khách hàng.
file này chỉ nhằm mục đích in ra phiếu để kẹp đi cùng hàng hoá, thống kê hằng ngày, hằng tháng để thanh toán thôi ạ.
mong bác bớt chút thời gian giúp em với ạ.
1/ Bạn nêu muốn in ra phiếu nhưng không thiết kế làm 1 phiếu bán hàng thì lấy cái gì để in, việc in ra phiếu phải dựa vào dữ liệu của sheet NHẬP PHIẾU cụ thể phải có cột số hóa đơn thì mới in được phiếu.
2/ Muốn nhập liệu nhanh thì phải sử dụng VBA như tôi nêu bài 4.
3/ Bạn nêu có sử dụng phần mềm quản lý bán hàng nhưng không nêu rỏ File bài 1 sheet NHẬP PHIẾU là xuất ra từ phần mềm hay là bạn tự thiết kế.
4/ Muốn biết bao nhiêu tuổi thì nhìn vào nội dung bên dưới Avata của mỗi người.

Nói chung nội dung bài 5 của bạn nêu thì giống như tôi góp ý ở bài 4.
 
Lần chỉnh sửa cuối:
1/ Bạn nêu muốn in ra phiếu nhưng không thiết kế làm 1 phiếu bán hàng thì lấy cái gì để in, việc in ra phiếu phải dựa vào dữ liệu của sheet NHẬP PHIẾU cụ thể phải có cột số hóa đơn thì mới in được phiếu.
2/ Muốn nhập liệu nhanh thì phải sử dụng VBA như tôi nêu bài 4.
3/ Bạn nêu có sử dụng phần mềm quản lý bán hàng nhưng không nêu rỏ File bài 1 sheet NHẬP PHIẾU là xuất ra từ phần mềm hay là bạn tự thiết kế.
4/ Muốt biết bao nhiêu tuổi thì nhìn nội dung bên dưới Avata của mỗi người.

Nói chung nội dung bài 5 của bạn nêu thì giống như tôi góp ý ở bài 4.
Dạ phiếu in em làm sheet riêng, lấy dữ liệu từ sheet nhập phiếu, dữ liệu đưa vào để in là từ sheet nhập phiếu, và nhập thẳng vào chứ không trích xuất từ đâu cả, sheet in phiếu và các báo cáo khác em để ẩn cho đỡ rối ạ,
Cơ bản file đang hoạt động tốt cả, vì mấy bạn làm bên bán hàng cũng bập bẹ, nên đơn giản cho họ dễ dùng thôi ạ, chuyên môn hoá lên họ tịt ngay hì.
Chủ yếu giờ em muốn nhờ các bác giúp các bạn ấy tính tổng tiền đồ ăn uống đã mua trước đó (khi nhập mã sổ bên sheet nhập phiếu nó hiện ngay tổng tiền đồ ăn uống bên cột tổng tiền đồ ăn) để họ biết còn bán được hay dừng lại không bán nữa thôi ạ
 
Dạ phiếu in em làm sheet riêng, lấy dữ liệu từ sheet nhập phiếu, dữ liệu đưa vào để in là từ sheet nhập phiếu, và nhập thẳng vào chứ không trích xuất từ đâu cả, sheet in phiếu và các báo cáo khác em để ẩn cho đỡ rối ạ,
Cơ bản file đang hoạt động tốt cả, vì mấy bạn làm bên bán hàng cũng bập bẹ, nên đơn giản cho họ dễ dùng thôi ạ, chuyên môn hoá lên họ tịt ngay hì.
Chủ yếu giờ em muốn nhờ các bác giúp các bạn ấy tính tổng tiền đồ ăn uống đã mua trước đó (khi nhập mã sổ bên sheet nhập phiếu nó hiện ngay tổng tiền đồ ăn uống bên cột tổng tiền đồ ăn) để họ biết còn bán được hay dừng lại không bán nữa thôi ạ
Tôi chỉ nhìn bên ngoài và góp ý nên không để ý các sheet ẩn.
Bạn chờ thành viên khác giúp vậy, tôi bận quá vì phải xử lý một đống thứ này.

A_ChungTu.jpg
 
Có bác nào giúp em với ạ,
 
Những ô nào trong cột M sẽ có giá trị còn những ô nào sẽ bỏ trống?
Tôi hiểu là chỉ ô M2 (tính cho mã 1), M5 (tính cho mã 2), M10 (tính cho mã 3), và M30 (tính cho mã 6) là có giá trị. Tôi hiểu đúng?

Nếu bạn không thạo code thì nên cố gắng làm bằng công thức. Làm bằng code khi có phát sinh ý mới hoặc đổi yêu cầu (vd. tính cho Nhu yếu phẩm thay cho đồ ăn) thì lại phải đi nhờ. Rất phụ thuộc vào người khác.
Làm bằng công thức thì dù đi nhờ nhưng khi thay đổi yêu cầu thì bạn dễ tự sửa hơn. Nên dùng công thức đơn giản để khi cần sửa thì dễ sửa. Tóm lại thì cứ cần cù thôi.

Nếu tôi hiểu đúng ý thì:
Công thức cho O2
Mã:
=IF(C2<>"";C2;IF(K2<>"";O1;""))

Công thức cho P2
Mã:
=IF(G2="";"";IFERROR(IF(LEFT(VLOOKUP(G2;'BANG GIA'!$B$2:$F$139;5;);3)<>"Nhu";"x";"");""))

Công thức cho M2
Mã:
=IF(OR(C2="";COUNTIF(C$2:C2;C2)>1);"";SUMIFS(K$2:K$1000;O$2:O$1000;C2;P$2:P$1000;"x"))

Cả 3 công thức sao chép xuống dưới.
-----------
Nếu bạn thích VBA thì cứ nhập liệu cho đến khi chán thì thôi. Khi cần tính tổng cho cột M thì chạy code. Mỗi khi chạy code thì nó sẽ tính cho dữ liệu hiện hành. Dữ liệu hiện hành là từ dòng 2 tới dòng cuối cùng mà ở cột G có tên hàng. Tôi cho ví dụ. Nếu G42 là ô cuối cùng ở cột G có tên hàng (<> rỗng) và C50 = 2 - dòng cuối cùng có mã là dòng 50, thì code cũng chỉ tính cho dữ liệu từ dòng 2 tới dòng 42. Tức code xét cột G để xác định vùng dữ liệu. Xét cột C (mã) không được vì vd. như hiện tại mã cuối cùng ở C37 trong khi dữ liệu có tới dòng 42.
Mã:
Sub tinh_tong()
Dim lastRow As Long, k As Long, th As String, ma As String, banggia(), data(), doanuong As Object, tong As Object
    With ThisWorkbook.Worksheets("BANG GIA")
        lastRow = .Cells(Rows.Count, "B").End(xlUp).Row
        If lastRow < 2 Then Exit Sub
        banggia = .Range("B2:F" & lastRow).Value
    End With
    With ThisWorkbook.Worksheets("NHAP PHIEU")
        lastRow = .Cells(Rows.Count, "G").End(xlUp).Row
        If lastRow < 2 Then Exit Sub
        data = .Range("C2:K" & lastRow).Value
    End With
    ReDim Preserve data(1 To UBound(data), 1 To UBound(data, 2) + 1)
    Set doanuong = CreateObject("Scripting.Dictionary")
    doanuong.comparemode = vbTextCompare
    Set tong = CreateObject("Scripting.Dictionary")
    tong.comparemode = vbTextCompare
    For k = 1 To UBound(banggia)
        th = banggia(k, 1)
        If Not doanuong.exists(th) Then
            If InStr(1, banggia(k, 5), "Nhu", vbTextCompare) = 0 Then
                doanuong.Add th, "x"
            Else
                doanuong.Add th, ""
            End If
        End If
    Next k
    For k = 1 To UBound(data)
        th = data(k, 5)
        If th <> "" Then
            If data(k, 1) <> "" Then
                ma = data(k, 1)
                If Not tong.exists(ma) Then
                    data(k, 10) = ma
                    tong.Add ma, 0
                End If
            End If
            If doanuong.exists(th) Then
                If doanuong.item(th) = "x" Then tong.item(ma) = tong.item(ma) + data(k, 9)
            End If
        End If
    Next k
    For k = 1 To UBound(data)
        If data(k, 10) <> "" Then
            data(k, 1) = tong.item(data(k, 10))
        Else
            data(k, 1) = Empty
        End If
    Next k
    ThisWorkbook.Worksheets("NHAP PHIEU").Range("M2").Resize(UBound(data)).Value = data
    Set doanuong = Nothing
    Set tong = Nothing
End Sub
 
Những ô nào trong cột M sẽ có giá trị còn những ô nào sẽ bỏ trống?
Tôi hiểu là chỉ ô M2 (tính cho mã 1), M5 (tính cho mã 2), M10 (tính cho mã 3), và M30 (tính cho mã 6) là có giá trị. Tôi hiểu đúng?

Nếu bạn không thạo code thì nên cố gắng làm bằng công thức. Làm bằng code khi có phát sinh ý mới hoặc đổi yêu cầu (vd. tính cho Nhu yếu phẩm thay cho đồ ăn) thì lại phải đi nhờ. Rất phụ thuộc vào người khác.
Làm bằng công thức thì dù đi nhờ nhưng khi thay đổi yêu cầu thì bạn dễ tự sửa hơn. Nên dùng công thức đơn giản để khi cần sửa thì dễ sửa. Tóm lại thì cứ cần cù thôi.

Nếu tôi hiểu đúng ý thì:
Công thức cho O2
Mã:
=IF(C2<>"";C2;IF(K2<>"";O1;""))

Công thức cho P2
Mã:
=IF(G2="";"";IFERROR(IF(LEFT(VLOOKUP(G2;'BANG GIA'!$B$2:$F$139;5;);3)<>"Nhu";"x";"");""))

Công thức cho M2
Mã:
=IF(OR(C2="";COUNTIF(C$2:C2;C2)>1);"";SUMIFS(K$2:K$1000;O$2:O$1000;C2;P$2:P$1000;"x"))

Cả 3 công thức sao chép xuống dưới.
-----------
Nếu bạn thích VBA thì cứ nhập liệu cho đến khi chán thì thôi. Khi cần tính tổng cho cột M thì chạy code. Mỗi khi chạy code thì nó sẽ tính cho dữ liệu hiện hành. Dữ liệu hiện hành là từ dòng 2 tới dòng cuối cùng mà ở cột G có tên hàng. Tôi cho ví dụ. Nếu G42 là ô cuối cùng ở cột G có tên hàng (<> rỗng) và C50 = 2 - dòng cuối cùng có mã là dòng 50, thì code cũng chỉ tính cho dữ liệu từ dòng 2 tới dòng 42. Tức code xét cột G để xác định vùng dữ liệu. Xét cột C (mã) không được vì vd. như hiện tại mã cuối cùng ở C37 trong khi dữ liệu có tới dòng 42.
Mã:
Sub tinh_tong()
Dim lastRow As Long, k As Long, th As String, ma As String, banggia(), data(), doanuong As Object, tong As Object
    With ThisWorkbook.Worksheets("BANG GIA")
        lastRow = .Cells(Rows.Count, "B").End(xlUp).Row
        If lastRow < 2 Then Exit Sub
        banggia = .Range("B2:F" & lastRow).Value
    End With
    With ThisWorkbook.Worksheets("NHAP PHIEU")
        lastRow = .Cells(Rows.Count, "G").End(xlUp).Row
        If lastRow < 2 Then Exit Sub
        data = .Range("C2:K" & lastRow).Value
    End With
    ReDim Preserve data(1 To UBound(data), 1 To UBound(data, 2) + 1)
    Set doanuong = CreateObject("Scripting.Dictionary")
    doanuong.comparemode = vbTextCompare
    Set tong = CreateObject("Scripting.Dictionary")
    tong.comparemode = vbTextCompare
    For k = 1 To UBound(banggia)
        th = banggia(k, 1)
        If Not doanuong.exists(th) Then
            If InStr(1, banggia(k, 5), "Nhu", vbTextCompare) = 0 Then
                doanuong.Add th, "x"
            Else
                doanuong.Add th, ""
            End If
        End If
    Next k
    For k = 1 To UBound(data)
        th = data(k, 5)
        If th <> "" Then
            If data(k, 1) <> "" Then
                ma = data(k, 1)
                If Not tong.exists(ma) Then
                    data(k, 10) = ma
                    tong.Add ma, 0
                End If
            End If
            If doanuong.exists(th) Then
                If doanuong.item(th) = "x" Then tong.item(ma) = tong.item(ma) + data(k, 9)
            End If
        End If
    Next k
    For k = 1 To UBound(data)
        If data(k, 10) <> "" Then
            data(k, 1) = tong.item(data(k, 10))
        Else
            data(k, 1) = Empty
        End If
    Next k
    ThisWorkbook.Worksheets("NHAP PHIEU").Range("M2").Resize(UBound(data)).Value = data
    Set doanuong = Nothing
    Set tong = Nothing
End Sub
Dạ ý tưởng là thế này ạ: mỗi khác hàng có 1 mã duy nhất, họ có thể mua nhiều ngày, trong một ngày có thể mua nhiều mặt hàng.
Như trong ví dụ thì khách hàng 1 (KH1) mua 3 lần, d2, d14, d23, và mỗi lần họ mua nhiều mặt hàng (hàng cùng dòng và các dòng không tên phía dưới, vi dụ lần đầu KH 1 mua 3 thứ, g2,g3,g4; lần 2 KH1 mua 4 món g14, g15, g16, g17....). Cái em cần giúp là khi nhập mã khách hàng mua lần tiếp theo (vi dụ là KH1 đến mua chẳng hạn) thì cell cùng hàng bên cột M sẽ tính tổng tiền mua đồ ăn, uống đã mua trước đó của KH đó, từ đó mà quyết định bán tiếp hay dừng không bán nữa.
Công thức bác giúp để em chạy xem sao đã hì hì, sáng ra thấy có các bác phản hồi vui quá, cảm ơn các bác ạ
 
Những ô nào trong cột M sẽ có giá trị còn những ô nào sẽ bỏ trống?
Tôi hiểu là chỉ ô M2 (tính cho mã 1), M5 (tính cho mã 2), M10 (tính cho mã 3), và M30 (tính cho mã 6) là có giá trị. Tôi hiểu đúng?

Nếu bạn không thạo code thì nên cố gắng làm bằng công thức. Làm bằng code khi có phát sinh ý mới hoặc đổi yêu cầu (vd. tính cho Nhu yếu phẩm thay cho đồ ăn) thì lại phải đi nhờ. Rất phụ thuộc vào người khác.
Làm bằng công thức thì dù đi nhờ nhưng khi thay đổi yêu cầu thì bạn dễ tự sửa hơn. Nên dùng công thức đơn giản để khi cần sửa thì dễ sửa. Tóm lại thì cứ cần cù thôi.

Nếu tôi hiểu đúng ý thì:
Công thức cho O2
Mã:
=IF(C2<>"";C2;IF(K2<>"";O1;""))

Công thức cho P2
Mã:
=IF(G2="";"";IFERROR(IF(LEFT(VLOOKUP(G2;'BANG GIA'!$B$2:$F$139;5;);3)<>"Nhu";"x";"");""))

Công thức cho M2
Mã:
=IF(OR(C2="";COUNTIF(C$2:C2;C2)>1);"";SUMIFS(K$2:K$1000;O$2:O$1000;C2;P$2:P$1000;"x"))

Cả 3 công thức sao chép xuống dưới.
-----------
Nếu bạn thích VBA thì cứ nhập liệu cho đến khi chán thì thôi. Khi cần tính tổng cho cột M thì chạy code. Mỗi khi chạy code thì nó sẽ tính cho dữ liệu hiện hành. Dữ liệu hiện hành là từ dòng 2 tới dòng cuối cùng mà ở cột G có tên hàng. Tôi cho ví dụ. Nếu G42 là ô cuối cùng ở cột G có tên hàng (<> rỗng) và C50 = 2 - dòng cuối cùng có mã là dòng 50, thì code cũng chỉ tính cho dữ liệu từ dòng 2 tới dòng 42. Tức code xét cột G để xác định vùng dữ liệu. Xét cột C (mã) không được vì vd. như hiện tại mã cuối cùng ở C37 trong khi dữ liệu có tới dòng 42.
Mã:
Sub tinh_tong()
Dim lastRow As Long, k As Long, th As String, ma As String, banggia(), data(), doanuong As Object, tong As Object
    With ThisWorkbook.Worksheets("BANG GIA")
        lastRow = .Cells(Rows.Count, "B").End(xlUp).Row
        If lastRow < 2 Then Exit Sub
        banggia = .Range("B2:F" & lastRow).Value
    End With
    With ThisWorkbook.Worksheets("NHAP PHIEU")
        lastRow = .Cells(Rows.Count, "G").End(xlUp).Row
        If lastRow < 2 Then Exit Sub
        data = .Range("C2:K" & lastRow).Value
    End With
    ReDim Preserve data(1 To UBound(data), 1 To UBound(data, 2) + 1)
    Set doanuong = CreateObject("Scripting.Dictionary")
    doanuong.comparemode = vbTextCompare
    Set tong = CreateObject("Scripting.Dictionary")
    tong.comparemode = vbTextCompare
    For k = 1 To UBound(banggia)
        th = banggia(k, 1)
        If Not doanuong.exists(th) Then
            If InStr(1, banggia(k, 5), "Nhu", vbTextCompare) = 0 Then
                doanuong.Add th, "x"
            Else
                doanuong.Add th, ""
            End If
        End If
    Next k
    For k = 1 To UBound(data)
        th = data(k, 5)
        If th <> "" Then
            If data(k, 1) <> "" Then
                ma = data(k, 1)
                If Not tong.exists(ma) Then
                    data(k, 10) = ma
                    tong.Add ma, 0
                End If
            End If
            If doanuong.exists(th) Then
                If doanuong.item(th) = "x" Then tong.item(ma) = tong.item(ma) + data(k, 9)
            End If
        End If
    Next k
    For k = 1 To UBound(data)
        If data(k, 10) <> "" Then
            data(k, 1) = tong.item(data(k, 10))
        Else
            data(k, 1) = Empty
        End If
    Next k
    ThisWorkbook.Worksheets("NHAP PHIEU").Range("M2").Resize(UBound(data)).Value = data
    Set doanuong = Nothing
    Set tong = Nothing
End Sub
công thức bác cho em ok rồi, nhưng nó chỉ hiện tổng tiền đã mua tại vị trí của lần đầu tiên khách hàng mua, còn lần thứ 2, 3 4 .... nó cộng dồn vào lần 1 (tức là phải tìm lần đầu mua mới biết được). Ý em kiểu như là hôm nay họ mua lần đầu vậy thì cột M bằng 0, vài hôm sau họ mua thì khi nhập mã số KH vào, bên cột M (thẳng hàng bác nhé, để không phải tìm kiếm lại lần đầu) sẽ hiện tổng tiền ăn uống đã mua, vài ngày sau họ mua tiếp lại lặp lại như vậy. Có nghĩa chỉ tính tổng tiền ăn uống mà họ đã mua các ngày trước đó, và hiển thị cùng dòng luôn (không cần cộng dồn ngày hiện tại, do chưa nhập mà). Mong bác giúp thêm ạ
Bài đã được tự động gộp:

Các bác? Tôi có biết "phân thân" đâu?
xin lỗi bác, tại thói quen thôi ạ
 
Mong bác batman1 giúp đỡ thêm ạ
 
hình như cộng tay của bạn lệch sao đó,file đó đã đúng nguyện vọng chưa
có cách nào mà mã sổ chỉ nhập 1 lần cho 1 lần mua không ạ, chứ nếu mua 5 món phải nhập 5 lần mã thì các sheet khác của em sẽ chạy sai ạ. Tức là cách nhập số liệu được giữ nguyên như file em gửi lên ạ
 
công thức bác cho em ok rồi, nhưng nó chỉ hiện tổng tiền đã mua tại vị trí của lần đầu tiên khách hàng mua, còn lần thứ 2, 3 4 .... nó cộng dồn vào lần 1 (tức là phải tìm lần đầu mua mới biết được).
Tại bạn không giải thích rõ như bây giờ. Tôi đã nghĩ là Tổng tiền cho tất cả mọi lần mua. Và không cần lặp lại cùng một giá trị cho mọi xuất hiện của mã nên tôi để cho lần xuất hiện đầu tiên.
Bạn rút kinh nghiệm lần sau tự ghi bằng tay kết quả mong đợi. Còn bây giờ bạn hãy điền bằng tay kết quả mong đợi của từng ô trong cột M.
Tôi phải đi có việc nên nếu không có ai thì chiều ̣ở VN là tối) tôi sẽ làm lại.

À mà tôi nhìn thấy có người tham gia rồi.
 
Web KT

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

Back
Top Bottom