chia tiền từng mệnh giá theo danh sách (1 người xem)

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

icebird

Thành viên mới
Tham gia
7/5/09
Bài viết
13
Được thích
0
Nhờ các bạn giải quyết hộ bài toán chia lương theo danh sách, theo file gửi kèm có sẵn danh sách nhân viên, số tiền lương được hưởng tại sheet DANH SACH, loại tiền tại sheet MENH GIA. Bài toán được giải với yêu cầu chia số tiền có sẵn tại MENH GIA cho DANH SACH ra được số lượng của từng loại tiền của LOAI TIEN DUOC CHIA như ví dụ stt 1 trên sheet DANH SACH. tks
 

File đính kèm

Lần chỉnh sửa cuối:
Cái này giống bài toán cắt thanh, bạn có thể nhờ người viết code VBA.
Còn sử dụng công thức thì làm theo cách củ chuối này, chia theo nguyên tắc: chia cho người đứng trước theo mệnh giá tiền lớn, như vậy những người sau sẽ nhận tiền mệnh giá nhỏ nhiều hơn (1 cọc toàn tiền lẻ):
- Chèn 1 dòng trên tiêu đề, VLOOKUP số lượng tiền theo mệnh giá. (Số lượng tiền: dòng 2; Mệnh giá: dòng 3).
- Chia số tiền ở cột đầu, D4:
Mã:
=MIN(D$2+D$3-SUM(D$3:D3),INT($C4/D$3))
- Chia số tiền ở cột thứ 2 trở đi, E4:
Mã:
=IF(COUNTIF($D4:D4,0)=COLUMNS($D4:D4),MIN(E$2+E$3-SUM(E$3:E3),INT($C4/E$3)),MIN(E$2+E$3-SUM(E$3:E3),MAX(0,INT(($C4-SUMPRODUCT($D$3:D$3*$D4:D4))/E$3))))
Kéo sang phải và kéo xuống cho các ô còn lại.
Số tiền chênh lệch nhỏ hơn mệnh giá nhỏ nhất.
 

File đính kèm

Lý do tại sao tiền 2,7 t mà chỉ lấy 3 tờ 500.000. Thay vì 5?
 
Dẫu sao cũng cám ơn bạn leonguyenz, với cách chia này giải quyết được tạm thời yêu cầu bài toán thôi chứ nếu chia lương như vậy những người cuối nhận được toàn tiền lẻ sẽ ko khả thi bạn ah.
Còn trên VD lấy 3 tờ 500k thay vì 5 tờ như bạn VetMini hỏi thì đó mình chi kê tay để làm VD thôi, còn yêu cầu bài toán mình bổ sung thêm là các mệnh giá tiền phải được chia đều cho số người hưởng.
 
Chia tiền thế này làm gì vậy bạn?
Nếu là mình thì lần lượt chia theo tờ tiền có mệnh giá to xuống nhỏ; Chia lần lượt từ đầu đến cuối danh sách người được chia;
Nhưng lúc đầu đừng cố chia đủ cho từng người
Ví dụ đến chàng thứ 13 mà hết mệnh giá 500K thì fát 2 tờ 200K fát như vậy cho đến cuối danh sách;
Sau mỗi đợt ta lại lập danh sách lương mới (lương còn thiếu) & số lượng các tờ tiền còn lại trong két. . . .
(Lôi thôi nhỉ?)
 
Dẫu sao cũng cám ơn bạn leonguyenz, với cách chia này giải quyết được tạm thời yêu cầu bài toán thôi chứ nếu chia lương như vậy những người cuối nhận được toàn tiền lẻ sẽ ko khả thi bạn ah.
Còn trên VD lấy 3 tờ 500k thay vì 5 tờ như bạn VetMini hỏi thì đó mình chi kê tay để làm VD thôi, còn yêu cầu bài toán mình bổ sung thêm là các mệnh giá tiền phải được chia đều cho số người hưởng.
Chia đều không theo quy tắc thì có dùng VBA cũng khó xử lý.
Bạn thử đưa công thức này vào E4 và kéo xuống: =ROUND(200*$C4/SUM($C$4:$C$60),0). Đây là cách chia đều 200 tờ 500,000 cho 57 người dựa theo tỉ lệ % tiền lương từng người. Tổng cộng dùng hết 198 tờ (sau khi sum cột E). Vậy 2 tờ còn lại bạn sẽ chia cho ai?
 
Cảm ơn leonguyenz đã giúp mình tìm ra rắc rối phát sinh tiếp theo, như bạn nói thì 2 tờ còn lại có thể giải quyết bằng cách chia ưu tiên cho 2 người có số tiền cao nhất hoặc stt từ 1 trở đi. Có thể hiểu rằng số dư không chia hết tổng số người có thể được chia tiếp tục từ người có số tiền cao nhất trở xuống hoặc từ người stt 1 trở đi.
Đây là vấn đề mình đau đầu từ 3 tháng nay chưa có cách giải quyết, cách chia thủ công không được chính xác lắm vì đếm nhầm mệnh giá, nhầm do làm tròn số... khi chia xong thừa thiếu tiền phải kiểm lại từng người một rất mất công.
Hy vọng các bạn tìm cách giải quyết giúp mình vì mình đưa lên đây mới là ví dụ thôi, số lượng thực tế lên tới vài ngàn người nên gặp rất nhiều khó khăn
 
Chia tiền không như chia bánh chưng nhỉ?
Trước khi tìm phương án chia bạn phải làm chòn số tiền lương theo bội của mệnh giá nhỏ nhất trước đã
mệnh giá nhỏ nhất là 500 thì số tiền lẻ là các số 100, 200, 300, 400, 600, 700, 800, 900 không thể trả chính xác được
mấy cô kế toán tiền lương có cách làm tròn rất hay nhé
nhỏ hơn 500 làm tròn xuống VD 1400 => trả 1000
lớn hơn 500 nhỏ hơn 1000 làm tròn xuống VD 1800 =>1500
may là kế toán Nữ, kế toán Nam là bị kiện nhé
 

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

Back
Top Bottom