Bảng lương công nhân (1 người xem)

  • Thread starter Thread starter Brutal
  • Ngày gửi Ngày gửi

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

Brutal

Thành viên mới
Tham gia
22/1/08
Bài viết
47
Được thích
3
Chào các bạn!
Mình có làm file lương công nhân (theo file đính kèm), trước đây sử dụng công thức mảng gán trong name nhưng tốc độ xử lý với vài nghìn dòng thì rất chậm. Mình có sử dụng cột phụ thì tốc độ ra dữ liệu ở Sheet "Nghiemthu" đã nhanh hơn rất nhiều nhưng có 1 nhược điểm là khi thêm dòng bên Sheet "Data" thì phải kéo lại công thức bên cột phụ. Các bạn có phương án khác không chia sẻ mình với?
 

File đính kèm

Chào các bạn!
Mình có làm file lương công nhân (theo file đính kèm), trước đây sử dụng công thức mảng gán trong name nhưng tốc độ xử lý với vài nghìn dòng thì rất chậm. Mình có sử dụng cột phụ thì tốc độ ra dữ liệu ở Sheet "Nghiemthu" đã nhanh hơn rất nhiều nhưng có 1 nhược điểm là khi thêm dòng bên Sheet "Data" thì phải kéo lại công thức bên cột phụ. Các bạn có phương án khác không chia sẻ mình với?
Dữ liệu liên tục nên chỉ cần 4 ô phụ và file nhẹ hơn
 

File đính kèm

Hàm match có yếu điểm khi vùng dữ liệu ban đầu không liên tục mà ngắt quãng, sau đó lại có thì match không tìm được vị trí.
Nối tiếp cách chốt các đoạn dữ liệu của bạn hiền @HieuCD, chỉ bổ sung điều chỉnh:
1. Tạo cột phụ sheet "Data":
PHP:
K8=IF(((B8<>B7)+(C8<>C7))+(D8=""),0,K7+1)
Enter fill xuống.​
2. Sheet "NghiemThu": Với điều kiện là các mục của 2 đoạn dữ liệu cùng 1 đối tượng phải khớp nhau hoàn toàn.
PHP:
E16=SUMIFS(Data!F$8:F$1314,Data!$B$8:$B$1314,$E$5,Data!$C$8:$C$1314,$C$13,Data!$K$8:$K$1314,$A16)
F16=IFERROR(AVERAGEIFS(Data!G$8:G$1314,Data!$B$8:$B$1314,$E$5,Data!$C$8:$C$1314,$C$13,Data!$K$8:$K$1314,$A16),0)
G16=SUMIFS(Data!H$8:H$1314,Data!$B$8:$B$1314,$E$5,Data!$C$8:$C$1314,$C$13,Data!$K$8:$K$1314,$A16)
Enter fill xuống
Chúc bạn ngày vui.
 

File đính kèm

Xin hỏi bạn chủ thớt sau khi nhập tháng và tên của chủ thầu ở NGHIEMTHU, có một số ô không có khối lượng hiện file của bạn đang hiện thị là "-" bạn có muốn hiện thị như vậy nữa không hay xóa luôn
 
Hàm match có yếu điểm khi vùng dữ liệu ban đầu không liên tục mà ngắt quãng, sau đó lại có thì match không tìm được vị trí.
Hàm match có yếu điểm khi vùng dữ liệu ban đầu không liên tục mà ngắt quãng, sau đó lại có thì match không tìm được vị trí.
Tìm theo 2 điều kiện tháng năm và tên là yêu xử lý của khá phức tạp, ngoài ra còn có 3 yêu cầu mâu thuẫn nhau:
- Dữ liệu nằm lung tung không xếp thứ tự theo thời gian và bị ngắt quảng
- Không dùng cột phụ ở sheet Data
- Công thức phải nhẹ file
Bạn được lựa chọn 2 trong 3 yêu cầu trên, còn thỏa cả 3 thì hơi khó làm
Mình nghỉ, cách giải quyết hiệu quả và triệt để là tổ chức lại dữ liệu tốt và đúng chuẩn lưu trữ dữ liệu, bằng thao tác sort lại dữ liệu
 
Của bạn đây, sau khi chọn nhà thầu và thời gian tháng và năm ấn nút thực hiện nhé, bạn muốn thêm dữ liệu vào sheet Data bao nhiêu cũng được, thêm tùy ý không sợ ngắt quãng, không sử dụng cột phụ nào hết!
 

File đính kèm

Cảm ơn nhiều! Mình sử dụng Macro này cho các file khác được không nhỉ (hỏi hơi khó chịu vì ko biết gì về VBA)?
 
Tùy thuộc vào yêu cầu của file như thế nào thôi bạn, cũng hơi khó áp dụng cho file khác được vì trong vba mình lập chỉ áp dụng cho sheet nào thì có ghi rõ tên sheet như thế rồi
 
Tùy thuộc vào yêu cầu của file như thế nào thôi bạn, cũng hơi khó áp dụng cho file khác được vì trong vba mình lập chỉ áp dụng cho sheet nào thì có ghi rõ tên sheet như thế rồi
Bạn cải tiến thêm 1 chút nữa được không? Khi mình bấm "Thực hiện" mà vùng dữ liệu trả sang Sheet "Nghiemthu" nhiều hơn vùng dữ liệu của câu lệnh sau thì nó không tự xóa đi phần thừa.
 
Bạn cải tiến thêm 1 chút nữa được không? Khi mình bấm "Thực hiện" mà vùng dữ liệu trả sang Sheet "Nghiemthu" nhiều hơn vùng dữ liệu của câu lệnh sau thì nó không tự xóa đi phần thừa.
là sao hả bạn mình chưa hiểu ý bạn, bạn nói rõ được không, Ví dụ Vũ Văn Sinh tháng 10/2016 như hình ảnh sau
upload_2017-11-1_11-2-33.png
Bạn muôn xóa mấy dòng thừa màu vàng này phải không?
 
Lần chỉnh sửa cuối:

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

Back
Top Bottom