Tích điểm cho khách hàng !

Liên hệ QC

doanhoanghai

Thành viên hoạt động
Tham gia
20/12/07
Bài viết
195
Được thích
4
Chào cả nhà !

Mình có bảng DL khách hàng mà không biết SUM hết tất cả các ngày vào thành tổng thế nào cả .VD 1 khách hàng A 3 ngày
ngày 1 : 0SPC
Ngày 2: 3SPC+1PBK
ngày 3 : 4PBK
tổng hợp được trong sheet tich điểm là : 3 hộp SPC và 5 Hộp PBK

Mong được các bạn giúp đỡ mình xin cảm ơn !
 
Bí hoặc công thức loằng ngoằng quá thì sai VBA nó làm cho. Mình tham gia hàm UDF sau:

PHP:
Function SumKH(Rg As Range, Cid As Integer, Kh As String, Hang As String)
Dim Tam
Dim ch As String
For i = 1 To Rg.Rows.Count
If Rg.Cells(i, 1) = Kh Then ch = ch & Replace(Rg.Cells(i, Cid).Text, "+", ";") & ";"
Next
Tam = Split(ch, ";")
For i = 0 To UBound(Tam)
If Tam(i) Like "*" & Hang Then SumKH = SumKH + Val(Tam(i))
Next
End Function
End Sub
Trong đó: -Rg là vùng bắt đầu từ cột mã KH và chứa cả cột ghi số lượng SP
-Cid là cột thứ mấy từ cột mã KH
-Kh là mã của khách hàng cần cộng
-Hang là mã loại hàng cần cộng

Cú pháp = SumKH(Rg,Cid,Kh,Hang)
 

File đính kèm

Lần chỉnh sửa cuối:
Cảm ơn bạn !

Nhưng vì hàng ngày mình nhận được báo cáo lên muốn tự động cập nhật vào bảng Tích điểm
để cuối 1 quý mình còn biết được khách hàng nào lấy được nhiều nhất ! chứ bạn lại xóa mất sheet tích điểm của mình rồi huuuuuuuuuuuuuuu.......

vì sheet tích điểm thực chất là danh sách khách hàng bên mình mà !

Bạn xem giúp mình với ! xin cảm ơn @$@!^%
 
To DoanHoangHai;220186: Hình như file bạn có con virus, thật ngại
Định bỏ đi 2 cột công thức mà máy cứ lặc lè, chán, . . .

Bạn đừng trông mong vào công thức với ngần ấy records;
Chỉ nên là macro, nếu xài hàm cảm thấy không thích ứng!
. . . . . Chờ file sạch khác của bạn;
Thân ái!
 
File và công thức nặng quá mình bỏ bớt thôi, mình đền đây
 

File đính kèm

Cảm ơn các bạn !

Nhưng chắc mình chưa nói rõ từ đầu lên các bạn vẫn chưa hiểu ý mình là thế này :

Hằng ngày mình phải nhập dữ liệu vào sheet (DS)
và mình muốn ở Sheet(tichdiem) tự động cộng dồn sản phẩm cho khách hàng

VD nhé :với MaKH :0123 ngày 18 lấy 2 sản phẩm,ngày 19 lấy 2 sản phẩm sau khi mình nhập vào sheet DS thì bên sheet(tichdiem) tự động cập nhật thành 4 Sản phẩm .

Mong các bạn giúp đỡ !
 
Theo mình ban nên mở file mới và chép lấy dữ liệu đi, file này có qua nhiều Name rác và macro rất nguy hiểm cho dữ liệu.
Còn việc tính ở đầu thi bạn cứ đưa hàm vào đó là được
 
Cảm ơn bạn !
mình làm như bạn rồi nhưng sao file vẫn nặng thế không biết còn về hàm thì thực tình
Mình không biết hàm gì để tính tổng được các ngày lên........không biết làm thế nào
Giúp mình với huuuuuuuuuuuuuuuuuuuuuu**~****~****~**
 
Lần chỉnh sửa cuối:
Cảm ơn các bạn !

Nhưng chắc mình chưa nói rõ từ đầu lên các bạn vẫn chưa hiểu ý mình là thế này :

Hằng ngày mình phải nhập dữ liệu vào sheet (DS)
và mình muốn ở Sheet(tichdiem) tự động cộng dồn sản phẩm cho khách hàng

VD nhé :với MaKH :0123 ngày 18 lấy 2 sản phẩm,ngày 19 lấy 2 sản phẩm sau khi mình nhập vào sheet DS thì bên sheet(tichdiem) tự động cập nhật thành 4 Sản phẩm .

Mong các bạn giúp đỡ !

02 khách hàng này: Nhà thuốc Thanh Hà, DS Nguyễn Nguyệt Anh- Nhà thuốc 182 Thái Thịnh không có trong danh sách Tichdiem
Bạn copy 02 khách hàng này vào Sheet Tichdiem rồi dùng công thức sau tại ô E5:
PHP:
=SUMPRODUCT((DS!$F$5:$F$4000=TichDiem!$B5)*(DS!H$5:H$4000))
rồi fill sang cột I và fill xuống dưới.

Kết quả: 631 và 12(của 02 khách hàng trên) =643.

Sau này cứ nhập ở sheet DS xuống dưới - không quá dòng 4000 thì tự động tính tại sheet tichdiem cho khách hàng
Ý bạn là như vậy đúng không?
 
To dat_butmuc;220325
Bạn dùng công thức sau tại ô E5:
PHP:
=SUMPRODUCT((DS!$F$5:$F$4000=TichDiem!$B5)*(DS!H$5:H$4000))
rồi fill sang cột I và fill xuống dưới.

Kết quả: 631 và 12(của 02 khách hàng trên) =643.
Sau này cứ nhập ở sheet DS xuống dưới - không quá dòng 4000 thì tự động tính tại sheet tichdiem cho khách hàng
Ý bạn là như vậy đúng không?

Nếu nhập 4.000 dòng mà dùng SUMPRODUCT() thì nên nghĩ đến cách khác là vừa!

Chúc vui!
 
To dat_butmuc;220325

Nếu nhập 4.000 dòng mà dùng SUMPRODUCT() thì nên nghĩ đến cách khác là vừa!

Chúc vui!

Thanks Bác đã nhắc nhở, có thể dùng Sumif;
PHP:
=SUMIF(DS!$F$5:$F$4000,TichDiem!$B5,DS!H$5:H$4000)

Hay là Bác viết cho bạn ấy mấy lệnh cho nó êm...
 
cảm ơn bạn thật nhiều nhưng cho mình hỏi chút nhé !

Sao không dùng SUMPRODUCT mà phải dùng SUMIF vậy ? và dung lượng file excel của mình thì -+*/ to quá mà không biết làm bé lại thế nào cả +-+-+-+

có cách nào không bạn nhỉ ?
 
cảm ơn bạn thật nhiều nhưng cho mình hỏi chút nhé !

Sao không dùng SUMPRODUCT mà phải dùng SUMIF vậy ? và dung lượng file excel của mình thì -+*/ to quá mà không biết làm bé lại thế nào cả +-+-+-+

có cách nào không bạn nhỉ ?

Nói về cách thức tính toán trong trường hợp này thì kết quả không khác nhau, nhưng dùng Sumproduct (là công thức mảng) thì nó chiếm nhiều dung lượng và chậm hơn...Nôm na thế thôi...
File của bạn nặng là do có nhiều name rác & hình như có virut, xóa name rac & quét virut chắc là khả quan hơn...
Thân,
 
File này có Virus là đúng, các bạn nên quét trước khi mở. Có rất nhiều Name liên quan tới Virus. Cơ chế hoạt động của nó là dựa vào Deactivesheet.

Các bạn tạm dùng Code này để xoá Name rác cũng được

PHP:
Sub Xoa_Name()
Dim Ten As Name
On Error Resume Next
For Each Ten In ThisWorkbook.Names
Ten.Delete
Next
End Sub
Nó xoá gần hết còn 2-3 Name cứng đầu (Cũng liên quan VR) bạn xoá bằng tay cũng được.
Nhưng giờ mới có chuyện, mỗi khi chuyển Sh này sang Sh khác lại có chuyện. Bạn tải tiện ích miễn phí trên Internet về quét cũng tốt, có riêng 1 trình chỉ để sử VR này.

Riêng việc dùng hàm thì khi số liệu nhiều hàm Sumif nhanh hơn nhiều lần so với Sumproduct. Nhưng mình tham gia nên dùng hàm UDF nó bỏ đi các cột tính trung gian nặng nề công thức, chúc bạn tìm ra giải pháp hay như tiêu chí của GPE
 
Lần chỉnh sửa cuối:
Chúng ta phải xem xét lại vấn đề, có lẽ vậy

Nhưng vì hàng ngày mình nhận được báo cáo nên muốn tự động cập nhật vào bảng Tích điểm
để cuối 1 quý mình còn biết được khách hàng nào lấy được nhiều nhất ! . . .
Vấn đề ở đây là cần cập nhật vô trang 'TinhDiem', mà trang này sẵn có số liệu các ngày trước;

Còn số liệu dùng để cập nhật là 1 trang tính có ít dòng & là số liệu của 1 hay 1 vài ngày cần bổ sung vô trang 'TichDiem' nói bên trên;

Nếu đúng vậy thì quy trình có thể là dùng macro để cập nhật.
Trong macro này chúng ta cần gọi hàm của 'Đất cảng' bên trên để phân định giữa các loại thuốc để cộng tiếp vào cho đúng.

(Nếu quy trình của tác giả là khác, thì nói rõ lại quy trình giúp nha!)

Nếu chưa rõ quy trình thì mất thời gian lắm!

Xin chờ í kiến của chủ topic.
 
Đây là vấn đề anh em sử lý giúp theo yêu cầu của tác giả Topic và mình nghĩ nó đã có rồi. Nhưng nay tác giả nói là hàng ngày nhập vào mà để dữ liệu thế này qúa bất hợp lý.
Theo mình nên thế ngày:
1.Bạn đã có Danh sách KH rồi, bạn dùng DS này vào 2 việc:
-Tạo List nhập khách hàng, như vậy sẽ thống nhất mã KH đảm bảo chính xác khi thống kê.
-Kết hợp tạo bảng tích điểm cho khách hàng theo từng loại SP và chung các SP.
2.Sheet PHATSINH chỉ cần các cột sau:
-Ngày.(Tự động điền ngày hiện hành trừ phi nhập bổ xung, nên không phải nhập)
-Số phiếu.(Nhập tay)
-Mã KH (Tạo Combo hay Listbox để chọn để có nhiều thông tin hơn Validation)
-SL1: (Nhập tay số lượng sản phẩm 1)
-SL2: (Nhập tay số lượng sản phẩm 2)
Như vậy đã đáp ứng đầy đủ báo cáo các dạng:
-Thống kê tiêu thụ SP từ ngày... đến ngày...
-Tổng hợp điểm KH từ ngày... đến ngày...và tạo bảng xếp hạng KH từ đầu tháng theo điểm để có ngay kế hoạch tiếp xúc KH thúc đẩy tiêu thụ như gọi điện, tới thăm, tặng quà v.v...
-Ta nên có 1 bảng kê chi tiết tiêu thụ theo khách hàng
Với mô hình này thì chỉ cần những cái có sẵn của Excel đã khá "ngon" rồi mà dù có vài ngàn phiếu bán hàng 1 tháng thì file vẫn nhẹ nhàng mà chạy rất nhanh.

Đây chỉ là ý kiến chủ quan tham gia với bạn, nếu không đúng mong thông cảm.
 
1.Bạn đã có Danh sách KH rồi, bạn dùng DS này vào 2 việc:
-
-Kết hợp tạo bảng tích điểm cho khách hàng theo từng loại SP và chung các SP.
2.Sheet PHATSINH chỉ cần . . . . .

Đây chỉ là ý kiến chủ quan tham gia với bạn, nếu không đúng mong thông cảm.

Theo mình hiểu, chủ Topic hàng ngày, hay vài ngày sẽ nhận 1 trang tính báo cáo từ 1 nơi tổng hợp nào đó trong CTi; Nhiệm vụ của bạn ấy là chép cập nhật tính điểm cho các #h hàng fát sinh trong kỳ.
& cứ thế hết ngày dài đến đêm thâu, . . . . ta đi đến cuối quý.

Chờ ý kiến tác giả vậy! --=0 :-= --=0

Tác giả đâu rồi, ? Hay bán không hết thuốc, lại phải uống ~ vị do mình bào chế rồi ngắt ngư?!
 
Trời ơi ! đêm qua mình làm thủ công !

Mệt quá trời .... đúng như ý bạn nói .Hằng ngày mình phải cập nhập tích điểm cho khách hàng theo hàng ngày lên công việc rất nhiều nếu không dùng công thức hoặc dùng macro nhưng mà do trình độ còn kém lên rất mong mọi người giúp đỡ !

Mình xin cảm ơn các bạn ! -\\/.

Nói thật mình tự mày mo và tìm kiếm code để tạo một form nhập doanh số cho TDV bên mình như trong file đính kèm lên ....
 
Lần chỉnh sửa cuối:
Từ từ rồi sẽ nhừ mà.

Trời ơi ! đêm qua mình làm thủ công !
. . . Mệt quá trời .
Để tự động hóa bằng macro, bạn phải sửa đôi chút:

(*) Tên trang tính tuyệt đối không dùng tiếng Việt có dấu
(*) Không nên có khoảng trắng trong tên ni! Tuy điều đó không ai cấm. Cũng như chả ai cấm bạn đi bộ 1 chân dưới lòng đường, một chân trên vĩa hè cả; Nhưng như thế buồn cười lắm!

Chúng ta nói tới vấn đề nhập liệu của bạn;
Trong 'DatHang' bạn đang có Form nhập liệu; Form này sẽ nhập vô trang tính nào?;
Theo như macro thì nó sẽ nhập vô trang 'DatHang' thì fải?!

Nếu đúng vậy, thì như mình không cần nhập bằng form, ta lấy 1 trang tính để nhập liệu cũng OK, một khi trình độ ta còn hạn hẹp.
 
Bạn đừng tự ái nhé, dữ liệu quá rườm rà không cần thiết, rất khó sử lý về sau, nhất là việc bạn merge cell.Mình chưa muốn nói đến cái Form , có thì tiện nhưng không có chẳng sao vì cơ chế nhập liệu rất đơn giản. Trước mắt, bạn phải vạch ra Hồ sơ của bạn đã, chỉ cần 3 sheet sau:
1/DMKH chứa hồ sơ khách hàng:
-MaKH:Mã của khách hàng
-TenKH:Tên KH
-Dchi
-Tel
-Fax
-MST: Mã số thuế.
-Lap: Ngày mở quan hê.
-Gop: Ghi mã mà khách hàng này bị gộp vào
-Dung:Khách hàng nào dừng quan hệ ghi ngày dừng.
2/DMNV: Chứa hồ sơ nhân viên
3/Data: Ghi các thông tin phát sinh
-Ngay: Ghi ngày giờ PS
-NV: ghi mã nhân viên giao dịch
-KH: Ghi mã KH
-SP1:Ghi lương SP1
-SP2:Ghi lượng SP2
-Note: Ghi chú

Với hồ sơ như thế này sẽ đáp ứng được các yêu cầu của bạn.
Lưu ý: Không nên dùng Data làm báo cáo mà lập các báo cáo riêng có những tuỳ chọn linh hoạt theo yêu cầu.
 
Web KT

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

Back
Top Bottom