CÁCH TỔNG KẾT CHƯƠNG TRÌNH KHUYẾN MẠI

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

chauchauvo

Thành viên mới
Tham gia
9/12/23
Bài viết
6
Được thích
1
Xin chào các Anh, Chị ạ.
Em là lính mới, nhờ các Anh Chị chỉ em trường hợp này ạ. Bên em có chương trình Khuyến Mại: Đơn hàng có doanh số chưa VAT >=500.000đ thì được tặng 500g túi ni-lông và mỗi khách hàng chỉ được tham gia một suất duy nhất.
Thực tế sẽ có những khách hàng phát sinh mua hàng nhiều lần trong tháng, vậy mình phải dùng công thức nào tính trả khuyến mãi mà thoả mãn chương trình ạ.
Em có gửi kèm file, mong các cao nhân chỉ dạy giúp em với. Em cám ơn nhiều nhiều ạ.
 

File đính kèm

  • TK CTKM T11.xlsx
    90.5 KB · Đọc: 14
Lần chỉnh sửa cuối:
Xin chào các Anh, Chị ạ.
Em là lính mới, nhờ các Anh Chị chỉ em trường hợp này ạ. Bên em có chương trình Khuyến Mại: Đơn hàng có doanh số chưa VAT >=500.000đ thì được tặng 500g túi ni-lông và mỗi khách hàng chỉ được tham gia một suất duy nhất.
Thực tế sẽ có những khách hàng phát sinh mua hàng nhiều lần trong tháng, vậy mình phải dùng công thức nào tính trả khuyến mãi mà thoả mãn chương trình ạ.
Em có gửi kèm file, mong các cao nhân chỉ dạy giúp em với. Em cám ơn nhiều nhiều ạ.
Bạn kiểm tra file xem sao (cột L)
 

File đính kèm

  • TK CTKM T11.xlsx
    385 KB · Đọc: 10
Bạn kiểm tra file xem sao (cột L)
Mình cám ơn bạn nhiều nhé.
Bạn ơi, mình kiểm tra thấy công thức sẽ đúng trong trường hợp : đơn hàng đơn hàng thứ 1 trong tháng >=500k.
Nếu trường hợp đơn hàng thứ nhất <500k và đơn thứ 2 nếu >=500k thì sẽ được tặng 1 suất quà => trường hợp này thì công thức đang ra kết quả ko tặng luôn ạ
 
Mình cám ơn bạn nhiều nhé.
Bạn ơi, mình kiểm tra thấy công thức sẽ đúng trong trường hợp : đơn hàng đơn hàng thứ 1 trong tháng >=500k.
Nếu trường hợp đơn hàng thứ nhất <500k và đơn thứ 2 nếu >=500k thì sẽ được tặng 1 suất quà => trường hợp này thì công thức đang ra kết quả ko tặng luôn ạ
Yêu cầu lúc đầu của bạn đâu có như vậy?
 
Yêu cầu lúc đầu của bạn đâu có như vậy?
À, mình xin lỗi bạn nhen. Mình người mới nên chắc mình diễn đạt chưa đúng hết ý, vì trong tờ chương trình ghi mỗi khách chỉ dc tham gia 1 suất duy nhất=> ý họ muốn nói là: được tặng 1 lần thôi dù mua nhiều lần >=500k
 
À, mình xin lỗi bạn nhen. Mình người mới nên chắc mình diễn đạt chưa đúng hết ý, vì trong tờ chương trình ghi mỗi khách chỉ dc tham gia 1 suất duy nhất=> ý họ muốn nói là: được tặng 1 lần thôi dù mua nhiều lần >=500k
Bạn thử công thức sau:

Mã:
=IF(COUNTIFS($D$11:D11,D11,$B$11:B11,">="&DATE(YEAR(B11),MONTH(B11),1),$B$11:B11,"<="&EOMONTH(DATE(YEAR(B11),MONTH(B11),1),0))=1,500,IF(AND(COUNTIFS($D$11:D11,D11,$B$11:B11,">="&DATE(YEAR(B11),MONTH(B11),1),$B$11:B11,"<="&EOMONTH(DATE(YEAR(B11),MONTH(B11),1),0))=2,G11>=500000),500,0))
 
Xin chào các Anh, Chị ạ.
Em là lính mới, nhờ các Anh Chị chỉ em trường hợp này ạ. Bên em có chương trình Khuyến Mại: Đơn hàng có doanh số chưa VAT >=500.000đ thì được tặng 500g túi ni-lông và mỗi khách hàng chỉ được tham gia một suất duy nhất.
Thực tế sẽ có những khách hàng phát sinh mua hàng nhiều lần trong tháng, vậy mình phải dùng công thức nào tính trả khuyến mãi mà thoả mãn chương trình ạ.
Em có gửi kèm file, mong các cao nhân chỉ dạy giúp em với. Em cám ơn nhiều nhiều ạ.
Làm đại theo ý hiểu.
Bạn Tham khảo cách làm bằng VBA ===> "bấm 1 phát" ra ngay kết quả.
Nhấn nút " Chạy code" để có kết quả từ I11.
 

File đính kèm

  • TK CTKM T11.xlsm
    104.6 KB · Đọc: 8
Bạn thử công thức sau:

Mã:
=IF(COUNTIFS($D$11:D11,D11,$B$11:B11,">="&DATE(YEAR(B11),MONTH(B11),1),$B$11:B11,"<="&EOMONTH(DATE(YEAR(B11),MONTH(B11),1),0))=1,500,IF(AND(COUNTIFS($D$11:D11,D11,$B$11:B11,">="&DATE(YEAR(B11),MONTH(B11),1),$B$11:B11,"<="&EOMONTH(DATE(YEAR(B11),MONTH(B11),1),0))=2,G11>=500000),500,0))
Cám ơn bạn nhiều nhiều nhé <3 !!!
Bài đã được tự động gộp:

Làm đại theo ý hiểu.
Bạn Tham khảo cách làm bằng VBA ===> "bấm 1 phát" ra ngay kết quả.
Nhấn nút " Chạy code" để có kết quả từ I11.
Mình cám ơn bạn đã hướng dẫn nhé. Vì mình chưa biết về VBA, mình sẽ tìm hiểu nhé. Cám ơn nhiều nhiều !!!
 
Lần chỉnh sửa cuối:
Bạn thử công thức sau:

Mã:
=IF(COUNTIFS($D$11:D11,D11,$B$11:B11,">="&DATE(YEAR(B11),MONTH(B11),1),$B$11:B11,"<="&EOMONTH(DATE(YEAR(B11),MONTH(B11),1),0))=1,500,IF(AND(COUNTIFS($D$11:D11,D11,$B$11:B11,">="&DATE(YEAR(B11),MONTH(B11),1),$B$11:B11,"<="&EOMONTH(DATE(YEAR(B11),MONTH(B11),1),0))=2,G11>=500000),500,0))
Thay vì dùng hai IF() lồng vào nhau, em thử nghĩ cách chỉ dùng một IF() mà thôi, công thức sẽ giản lược hơn.

Gợi ý: cũng chỉ dùng And() và Countifs().

Thân
/-*+//-*+//-*+/
 
dạ, em cám ơn Anh nhiều nhiều ạ !!!
Chắc em tôi (@hoangtuaotrang_hp_vn) lu bu rồi quên không trả lời bạn.

Điều kiện của bạn cho có thể tóm tắt như vầy:
"Xem xét theo từng mã đối tượng (cột D), nếu đơn hàng lần thứ n có 'Thành tiền' (cột G) lớn hơn hoặc bằng 500.000đ, được xem là lần phát sinh đầu tiên, thì được tặng khuyến mãi 500 túi nylon và chỉ duy nhất".

Nếu áp dụng đầu tiên điều kiện lọc là:
COUNTIFS($D$11: D11,D11,$B$11:B11,">="&DATE(YEAR(B11),MONTH(B11),1),$B$11:B11,"<="&EOMONTH(DATE(YEAR(B11),MONTH(B11),1),0))=1
thì vẫn chưa chính xác, nó sẽ chọn lần thứ 1 của mã đối tượng bất kỳ mà tặng khuyến mãi mà không quan tâm đến việc thành tiền có lớn hơn 500.000đ hay không, như dòng 13, 15, 19....

Vậy, chỉ cần hiểu nôm na cách đặt điều kiện là: "Nếu các đơn hàng cùng mã đối tượng và trong tháng phía trên, không đơn nào có thành tiền >=500k và đơn hàng tại dòng đang xét lại có thành tiền >=500k, thì nó được xem là lần phát sinh đầu tiên và được nhận khuyến mãi", công thức sẽ gọn lại như sau, ô I11:
Mã:
=IF(AND(COUNTIFS($G$10:G10,">=500000",$D$10:D10,D11,$B$10:B10,">="&DATE(YEAR(B11),MONTH(B11),1),$B$10:B10,"<="&EOMONTH(DATE(YEAR(B11),MONTH(B11),1),0))=0,G11>=500000),500,)
kết thúc bằng Enter.
Hoặc công thức mảng:
Mã:
=IF(AND(G11>=500000,COUNT(1/(G$10:G10>500000)/(D$10:D10=D11)/(TEXT(B11,"ym")=TEXT(B$10:B10,"ym")))=0),500,)
kết thúc bằng Ctrl+Shift+Enter.

Thân
 

File đính kèm

  • TK CTKM T11.xlsx
    250 KB · Đọc: 8
Chắc em tôi (@hoangtuaotrang_hp_vn) lu bu rồi quên không trả lời bạn.

Điều kiện của bạn cho có thể tóm tắt như vầy:
"Xem xét theo từng mã đối tượng (cột D), nếu đơn hàng lần thứ n có 'Thành tiền' (cột G) lớn hơn hoặc bằng 500.000đ, được xem là lần phát sinh đầu tiên, thì được tặng khuyến mãi 500 túi nylon và chỉ duy nhất".

Nếu áp dụng đầu tiên điều kiện lọc là:
COUNTIFS($D$11: D11,D11,$B$11:B11,">="&DATE(YEAR(B11),MONTH(B11),1),$B$11:B11,"<="&EOMONTH(DATE(YEAR(B11),MONTH(B11),1),0))=1
thì vẫn chưa chính xác, nó sẽ chọn lần thứ 1 của mã đối tượng bất kỳ mà tặng khuyến mãi mà không quan tâm đến việc thành tiền có lớn hơn 500.000đ hay không, như dòng 13, 15, 19....

Vậy, chỉ cần hiểu nôm na cách đặt điều kiện là: "Nếu các đơn hàng cùng mã đối tượng và trong tháng phía trên, không đơn nào có thành tiền >=500k và đơn hàng tại dòng đang xét lại có thành tiền >=500k, thì nó được xem là lần phát sinh đầu tiên và được nhận khuyến mãi", công thức sẽ gọn lại như sau, ô I11:
Mã:
=IF(AND(COUNTIFS($G$10:G10,">=500000",$D$10:D10,D11,$B$10:B10,">="&DATE(YEAR(B11),MONTH(B11),1),$B$10:B10,"<="&EOMONTH(DATE(YEAR(B11),MONTH(B11),1),0))=0,G11>=500000),500,)
kết thúc bằng Enter.
Hoặc công thức mảng:
Mã:
=IF(AND(G11>=500000,COUNT(1/(G$10:G10>500000)/(D$10:D10=D11)/(TEXT(B11,"ym")=TEXT(B$10:B10,"ym")))=0),500,)
kết thúc bằng Ctrl+Shift+Enter.

Thân
Dạ anh, công thức với logic khủng quá, em không nghĩ ra được anh ơi. Với lị độ này đi làm công nhân thời vụ nên quay cuồng với lịch làm ca đêm anh à. Chúc anh và mọi người sức khỏe và 1 ngày hiệu quả ạ :)
 
Dạ anh, công thức với logic khủng quá, em không nghĩ ra được anh ơi. Với lị độ này đi làm công nhân thời vụ nên quay cuồng với lịch làm ca đêm anh à. Chúc anh và mọi người sức khỏe và 1 ngày hiệu quả ạ :)
Còn được đi làm là hạnh phúc rồi em!

Yêu cầu của bài hổng có khủng, nhưng do em bị thớt quay: phát sinh lần 1, lần 2... nên em mới bị cuốn theo lối suy nghĩ của người, không nhìn ra giải pháp của riêng mình.

Vậy, trước khi ra giải pháp phải nắm rõ điều kiện cần và đủ của yêu cầu, sau đó diễn đạt lại theo cách mình hiểu (theo kiểu của mình) trong tương quan với ứng dụng các hàm khả thi, phân đoạn và làm thử các đoạn công thức theo yêu cầu, nếu thuận thì gom lại trong công thức cuối cùng. Sau đó, nếu có thể thì tìm phương án khác, rồi đối chiếu so sánh, chọn ra phương án mình ưng nhất.

Đại khái đó là cách đưa ra giải pháp và tạo công thức cho các bài excel cần giải.
Không cần vội vàng, không màng tranh đua, cứ bình tâm suy nghĩ cho chín, rồi phát "1 chiêu" tiêu "9 con bò". :)

Chúc em ngày vui
/-*+//-*+//-*+/
 
Đại khái đó là cách đưa ra giải pháp và tạo công thức cho các bài excel cần giải.
Không cần vội vàng, không màng tranh đua, cứ bình tâm suy nghĩ cho chín, rồi phát "1 chiêu" tiêu "9 con bò". :)
Tôi thì khó tính hơn bạn. Tôi có cho bài giải thì cũng thêm phần chú thích những chỗ gai mắt.

Điển hình bài này thớt hỏi "CÁCH TỔNG KẾT..." nhưng thực tế thì thớt đã có "cách" của mình rồi. Thớt chỉ hỏi "công thức để thực hiện".
Và nó cũng chẳng "tổng kết" cái gì cả. Bài nếu nói cho đúng là "trong tháng khuyến mãi, khách hàng nào có ít nhất 1 đơn mua trên doanh số nào đó thì được thưởng".

Chuyện "CÁCH TỔNG KẾT" thuộc về trưởng phòng kinh doanh. Dân mác-kéc-tinh có cách tính tổng kết, và thành quả của chương trình khuyến mãi. Thường thì họ đặt KPIs rồi dùng cách Pivot tùm lum hết chiều này sang chiều khác để xem xét thành quả. Đó là sức mạnh chính của Excel mà Google Sheets chưa đuổi kịp. Chứ ba cái hàm này nọ thì Google Sheets mạnh hẳn hơn Excel. MS biết vậy cho nên họ lo củng cố thành trì analysis trước, và mãi đến phiên bản 365 họ mới ra khái niệm mảng động và một số hàm mới.
 
Tôi thì khó tính hơn bạn. Tôi có cho bài giải thì cũng thêm phần chú thích những chỗ gai mắt.
Theo em thấy thì anh khó chịu với những cái chướng tai, gai mắt trong thói hành văn bạ chạ, không đầu không đuôi, khoe mẻ, tây ta tàu tắt chú chắt lẫn lộn nên anh mới "tâm phật, khẩu xà" chửi đó, nhưng thật ra là muốn uốn nắn người cho trở lại đường ngay lẽ phải.

Cực công anh lắm, khó nữa!

Thế hệ của anh (của em thì còn chút xíu xiu) là "Tiên học lễ, hậu học văn", còn thế hệ sau này là "phấn đấu theo 5 điều", cho nên "lễ và văn" trở thành ba mớ lăng nhăng chẳng đáng trọng, để rồi giờ này anh em mình thấy rác rưỡi, giơ chổi cùn ra quét, biết chừng nào xong, hử anh!

Ôi thôi thây kệ! còn quét được phạm vi chung quanh mình thì cứ ra sức tàn mà quét cho đỡ dơ vậy!

Chúc anh sức khỏe nhiều nhiều.
/-*+//-*+//-*+/
 
Theo em thấy thì anh khó chịu với những cái chướng tai, gai mắt trong thói hành văn bạ chạ, không đầu không đuôi, khoe mẻ, tây ta tàu tắt chú chắt lẫn lộn nên anh mới "tâm phật, khẩu xà" chửi đó, nhưng thật ra là muốn uốn nắn người cho trở lại đường ngay lẽ phải.

Cực công anh lắm, khó nữa!

Thế hệ của anh (của em thì còn chút xíu xiu) là "Tiên học lễ, hậu học văn", còn thế hệ sau này là "phấn đấu theo 5 điều", cho nên "lễ và văn" trở thành ba mớ lăng nhăng chẳng đáng trọng, để rồi giờ này anh em mình thấy rác rưỡi, giơ chổi cùn ra quét, biết chừng nào xong, hử anh!

Ôi thôi thây kệ! còn quét được phạm vi chung quanh mình thì cứ ra sức tàn mà quét cho đỡ dơ vậy!

Chúc anh sức khỏe nhiều nhiều.
/-*+//-*+//-*+/
Kính thưa các tiền bối.
Số là em dân kế toán có trình excel chỉ ở mức gà mờ. Kinh tế khó khăn, các Sếp công ty em xô đẩy em phải qua làm ở mảng mới này. Thiệt tình là em cũng vật vã lắm, cuối năm rồi vì cơm áo gạo tiền nên em cũng ráng tìm học và làm ạ. Lần đầu làm chiện ấy nêncách diễn đạt và câu từ chưa chuẩn, mong các tiền bối bỏ qua giúp em ạ.
Một lần nữa em cám ơn các tiền bối nhiều lắm. Chúc các tiền bối buổi tối zui zẻ ạ !!!
 
Web KT
Back
Top Bottom