Giúp tạo hàm tách doanh thu trong 1 khoảng thời gian thành từng ngày (5 người xem)

Liên hệ QC

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

thuong-minh

Thành viên chính thức
Tham gia
16/2/17
Bài viết
76
Được thích
11
Dear,

Anh chị giúp em bài toán này với a.
Em có 1 bảng dữ liệu nguồn, trong đó là danh sách các khách hàng đến ở khách sạn. Mỗi phòng sẽ ở trong 1 khoảng thời gian bất kỳ.
Trong sheet Tổng hợp, em muốn xem doanh thu trong 1 ngày của tất cả các phòng.
Trường hợp 2: có 1 phòng 610 khách check out muộn ngày 09/07 chẳng hạn và bị tính full tiền phòng do out muộn. Và vẫn phòng đó, lúc nửa đêm có khách khác vào do trễ máy bay (khách này đã book phòng này trước đó). Nên trong ngày 09/07 sẽ có 2 doanh thu.
Em có làm mẫu 2 phòng. Anh chị giúp em với a.
Em cảm ơn! ^^^^
 

File đính kèm

Dear,

Anh chị giúp em bài toán này với a.
Em có 1 bảng dữ liệu nguồn, trong đó là danh sách các khách hàng đến ở khách sạn. Mỗi phòng sẽ ở trong 1 khoảng thời gian bất kỳ.
Trong sheet Tổng hợp, em muốn xem doanh thu trong 1 ngày của tất cả các phòng.
Trường hợp 2: có 1 phòng 610 khách check out muộn ngày 09/07 chẳng hạn và bị tính full tiền phòng do out muộn. Và vẫn phòng đó, lúc nửa đêm có khách khác vào do trễ máy bay (khách này đã book phòng này trước đó). Nên trong ngày 09/07 sẽ có 2 doanh thu.
Em có làm mẫu 2 phòng. Anh chị giúp em với a.
Em cảm ơn! ^^^^
Cái này dùng VBA còn được chứ công thức chắc tèo.Hi.
 
Thử:
Mã:
C2=SUMPRODUCT(('Dữ liệu nguồn'!$F$2:$F$11=$B2)*('Dữ liệu nguồn'!$D$2:$D$11<=C$1)*('Dữ liệu nguồn'!$E$2:$E$11>=C$1),'Dữ liệu nguồn'!$K$2:$K$11)
 
Thử:
Mã:
C2=SUMPRODUCT(('Dữ liệu nguồn'!$F$2:$F$11=$B2)*('Dữ liệu nguồn'!$D$2:$D$11<=C$1)*('Dữ liệu nguồn'!$E$2:$E$11>=C$1),'Dữ liệu nguồn'!$K$2:$K$11)
Nếu Phòng 610 ngày 9/7/19 khách trả và nhận phòng đúng giờ, thì công thức không chính xác, cần xét thêm cột H
Bài nầy dùng công thức rất khó, code VBA cũng không dễ
 
Lâu lâu mới được lên máy tính của con mình, ngại viết bài vì không theo dõi liên tục được
Không phải chỉ có mình em đâu. Mà còn nhiều thành viên khác cũng mong chờ anh trên diễn đàn. Chúc anh ngày vui
 
Nếu Phòng 610 ngày 9/7/19 khách trả và nhận phòng đúng giờ, thì công thức không chính xác, cần xét thêm cột H
Bài nầy dùng công thức rất khó, code VBA cũng không dễ
Thử:
Mã:
C2=SUMPRODUCT(('Dữ liệu nguồn'!$F$2:$F$11=$B2)*('Dữ liệu nguồn'!$D$2:$D$11<=C$1)*('Dữ liệu nguồn'!$E$2:$E$11>=C$1),'Dữ liệu nguồn'!$K$2:$K$11)

Dạ, em đã ốp công thức của bác dazkangel, thì Phòng 610 ngày 09/07/19 ra được tổng tiền rất đúng. Tuy nhiên, những phòng khác thì bị tính cả tiền của ngày out.
Những khách vào mùng 8, ra mùng 9, thì chỉ mất tiền đêm mùng 8. Còn theo công thức thì đang tính luôn tiền ngày 09.
Nếu công thức trên, ('Dữ liệu nguồn'!$E$2:$E$11>=C$1) bỏ dấu bằng, thì tất cả các phòng đều nhảy doanh thu đúng, trừ phòng 610 khách out muộn.
Bác HieuCD nói rất chuẩn, cần xét thêm cột H là cột số đêm thực tế khách ở.
Rất mong tiếp tục nhận được sự trợ giúp của các bác a. ^^^^
 

File đính kèm

Dạ, em đã ốp công thức của bác dazkangel, thì Phòng 610 ngày 09/07/19 ra được tổng tiền rất đúng. Tuy nhiên, những phòng khác thì bị tính cả tiền của ngày out.
Những khách vào mùng 8, ra mùng 9, thì chỉ mất tiền đêm mùng 8. Còn theo công thức thì đang tính luôn tiền ngày 09.
Nếu công thức trên, ('Dữ liệu nguồn'!$E$2:$E$11>=C$1) bỏ dấu bằng, thì tất cả các phòng đều nhảy doanh thu đúng, trừ phòng 610 khách out muộn.
Bác HieuCD nói rất chuẩn, cần xét thêm cột H là cột số đêm thực tế khách ở.
Rất mong tiếp tục nhận được sự trợ giúp của các bác a. ^^^^
Thử lại công thức sau:
Mã:
=SUMPRODUCT(('Dữ liệu nguồn'!$F$2:$F$18=$B2)*('Dữ liệu nguồn'!$D$2:$D$18<=C$1)*(IF('Dữ liệu nguồn'!$E$2:$E$18-'Dữ liệu nguồn'!$D$2:$D$18=1,'Dữ liệu nguồn'!$D$2:$D$18,'Dữ liệu nguồn'!$E$2:$E$18)>=C$1),'Dữ liệu nguồn'!$K$2:$K$18)
 
Bác HieuCD nói rất chuẩn, cần xét thêm cột H là cột số đêm thực tế khách ở.
Bạn phải thống nhất cách tính mới lập điều kiện cho chính xác:
  1. Doanh thu thuê phòng được ghi nhận ngay ngày thuê phòng, không ghi Doanh thu cho ngày trả phòng (nếu trả đúng giờ). Ví dụ:
    • Vào thuê ngày 08/07, trả ngày 08/07: tính thuê 1 ngày, ghi nhận Doanh thu cho ngày 08/07.
    • Vào thuê ngày 08/07, trả ngày 09/07: tính thuê 1 ngày (trả đúng giờ), ghi nhận Doanh thu chỉ cho ngày 08/07 (không tính ngày 09).
    • Vào thuê ngày 08/07, trả ngày 10/07: tính thuê 2 ngày (trả đúng giờ), ghi nhận Doanh thu chỉ cho 2 ngày 08/07 và ngày 09/07 (không tính ngày 10).
    • Tức nếu đã vào thuê thì tính đủ 1 ngày thuê cho ngày đó, dù thời gian thuê ít hơn.
    • Còn việc tính đủ giờ như thường lệ thì: Giờ vào của ngày hôm trước = Giờ trả phòng ngày hôm sau.
  2. Trường hợp trả trễ và tính thêm đủ 1 ngày thuê sẽ được ghi nhận riêng.
    • Vào thuê ngày 08/07, trả trễ ngày 09/07: tính thuê 2 ngày, ghi nhận Doanh thu cho cả ngày 08/07 và ngày 09/07, tức thêm 1 ngày so với cách tính thường lệ.
    • Riêng trường hợp này thì Ngày trả phòng mới được ghi nhận Doanh thu.
Nếu đồng ý với cách lập trên, thì cột H bạn phải điền số 1 để ghi nhận tính thêm 1 ngày thuê, và tham khảo công thức sau:
Mã:
C2=SUMPRODUCT((DLN!$D$2:$D$18<=C$1)*(DLN!$E$2:$E$18+(DLN!$D$2:$D$18=DLN!$E$2:$E$18)>C$1)+(DLN!$E$2:$E$18=C$1)*DLN!$H$2:$H$18,(DLN!$F$2:$F$18=$B2)*DLN!$K$2:$K$18)
Enter, fill qua phải, và xuống.

Thân
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn phải thống nhất cách tính mới lập điều kiện cho chính xác:
  1. Doanh thu thuê phòng được ghi nhận ngay ngày thuê phòng, không ghi Doanh thu cho ngày trả phòng (nếu trả đúng giờ). Ví dụ:
    • Vào thuê ngày 08/07, trả ngày 08/07: tính thuê 1 ngày, ghi nhận Doanh thu cho ngày 08/07.
    • Vào thuê ngày 08/07, trả ngày 09/07: tính thuê 1 ngày (trả đúng giờ), ghi nhận Doanh thu chỉ cho ngày 08/07 (không tính ngày 09).
    • Vào thuê ngày 08/07, trả ngày 10/07: tính thuê 2 ngày (trả đúng giờ), ghi nhận Doanh thu chỉ cho 2 ngày 08/07 và ngày 09/07 (không tính ngày 10).
    • Tức nếu đã vào thuê thì tính đủ 1 ngày thuê cho ngày đó, dù thời gian thuê ít hơn.
    • Còn việc tính đủ giờ như thường lệ thì: Giờ vào của ngày hôm trước = Giờ trả phòng ngày hôm sau.
  2. Trường hợp trả trễ và tính thêm đủ 1 ngày thuê sẽ được ghi nhận riêng.
    • Vào thuê ngày 08/07, trả trễ ngày 09/07: tính thuê 2 ngày, ghi nhận Doanh thu cho cả ngày 08/07 và ngày 09/07, tức thêm 1 ngày so với cách tính thường lệ.
    • Riêng trường hợp này thì Ngày trả phòng mới được ghi nhận Doanh thu.
Nếu đồng ý với cách lập trên, thì cột H bạn phải điền số 1 để ghi nhận tính thêm 1 ngày thuê, và tham khảo công thức sau:
Mã:
C2=SUMPRODUCT((DLN!$D$2:$D$18<=C$1)*(DLN!$E$2:$E$18+(DLN!$D$2:$D$18=DLN!$E$2:$E$18)>C$1)+(DLN!$E$2:$E$18=C$1)*DLN!$H$2:$H$18,(DLN!$F$2:$F$18=$B2)*DLN!$K$2:$K$18)
Enter, fill qua phải, và xuống.

Thân
Bộn bề trăm công nghìn việc, bạn vẫn lên diễn đàn giao lưu với Anh Em
Chúc bạn và gia đình vui khỏe, mọi việc thuận lợi như ý
 
Bộn bề trăm công nghìn việc, bạn vẫn lên diễn đàn giao lưu với Anh Em
Chúc bạn và gia đình vui khỏe, mọi việc thuận lợi như ý
"Đoạn trường ai có qua cầu mới hay..."

Anh đúng là người anh, người "bạn" chí cốt, đi guốc trong bụng thằng em này, mới thấu hiểu như vậy...
Cảm ơn anh rất nhiều.

Chúc anh và gia đình luôn gặp may mắn, ổn định, thuận lợi, bình an và sức khỏe.
/-*+//-*+//-*+/
 
Bạn phải thống nhất cách tính mới lập điều kiện cho chính xác:
  1. Doanh thu thuê phòng được ghi nhận ngay ngày thuê phòng, không ghi Doanh thu cho ngày trả phòng (nếu trả đúng giờ). Ví dụ:
    • Vào thuê ngày 08/07, trả ngày 08/07: tính thuê 1 ngày, ghi nhận Doanh thu cho ngày 08/07.
    • Vào thuê ngày 08/07, trả ngày 09/07: tính thuê 1 ngày (trả đúng giờ), ghi nhận Doanh thu chỉ cho ngày 08/07 (không tính ngày 09).
    • Vào thuê ngày 08/07, trả ngày 10/07: tính thuê 2 ngày (trả đúng giờ), ghi nhận Doanh thu chỉ cho 2 ngày 08/07 và ngày 09/07 (không tính ngày 10).
    • Tức nếu đã vào thuê thì tính đủ 1 ngày thuê cho ngày đó, dù thời gian thuê ít hơn.
    • Còn việc tính đủ giờ như thường lệ thì: Giờ vào của ngày hôm trước = Giờ trả phòng ngày hôm sau.
  2. Trường hợp trả trễ và tính thêm đủ 1 ngày thuê sẽ được ghi nhận riêng.
    • Vào thuê ngày 08/07, trả trễ ngày 09/07: tính thuê 2 ngày, ghi nhận Doanh thu cho cả ngày 08/07 và ngày 09/07, tức thêm 1 ngày so với cách tính thường lệ.
    • Riêng trường hợp này thì Ngày trả phòng mới được ghi nhận Doanh thu.
Nếu đồng ý với cách lập trên, thì cột H bạn phải điền số 1 để ghi nhận tính thêm 1 ngày thuê, và tham khảo công thức sau:
Mã:
C2=SUMPRODUCT((DLN!$D$2:$D$18<=C$1)*(DLN!$E$2:$E$18+(DLN!$D$2:$D$18=DLN!$E$2:$E$18)>C$1)+(DLN!$E$2:$E$18=C$1)*DLN!$H$2:$H$18,(DLN!$F$2:$F$18=$B2)*DLN!$K$2:$K$18)
Enter, fill qua phải, và xuống.

Thân

:eek: Dạ, tình huống như bác Phan thế Hiệp đưa ra là chính xác như cách bên em đang theo dõi a. Ngày khách out thì bên em ko tính tiền, nếu bị tính tiền thì cột H sẽ thêm 0.5 (nửa ngày) hoặc 1 (cả ngày).
Công thức của bác Hiệp cũng chuẩn luôn. Kể cả khi khách out chỉ tính nửa ngày thì vẫn tính ra số tiền đúng.
Cột H trc đây là em dùng theo dõi tổng thời gian thực tế khách ở để tính ra số tiền cho đúng. Giờ em sẽ điều chỉnh lại.
Em cảm ơn các bác nhiều ^^^^
 

File đính kèm

Lần chỉnh sửa cuối:
Dear các bác,

Vẫn bài toán đấy. Em có điều chinh như sau a:
- Chỉ theo dõi tổng doanh thu theo từng ngày.
- Không có số phòng. Không theo dõi theo từng phòng mà chỉ có tổng số lượng phòng.
- Tính tổng doanh thu và tổng số lượng phòng phát sinh từng ngày.
- và thêm trường hợp Nếu có phát sinh phòng out muộn hoặc out sớm.
Rất mong tiếp tục nhận được sự chỉ bảo của các bác a ^^^^
 

File đính kèm

Em đã thử ốp công thức, tuy nhiên nếu có trường hợp phát sinh phòng out sớm thì em ko biết làm.
Các bác chỉ giúp em với a.
 

File đính kèm

Web KT

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

Back
Top Bottom