Tìm kiếm theo ngày và cả theo tên

Liên hệ QC

camtucau040584

Thành viên mới
Tham gia
27/4/07
Bài viết
16
Được thích
1
Mong Các Huynh Giúp đỡ. Cảm ơn Nhiều

Trong Bài Em đã Viết Yêu Cầu Của Bài Rồi
Em Xin Viết Lại
Cột ( In ) Dk Là: Thời Gian <=11 (gio), Tương ướng Với Các Ngày, Lấy Từ Bảng ( Giờ ) Qua,
Cột ( Out ) Tương Tự Như ( In ) Dk Giờ Là >=12 (giờ),
Em Cảm ơn Các Huynh,
Mong Sự Giúp đỡ Của Các Huynh Và Có ý Kiến Nào Hay Thì Góp Co Em Học Hỏi? Xin Cảm ơn Nhiều
 
Lần chỉnh sửa cuối:
Về cơ bản bài toán của bạn dùng hàm Sumproduct (hoặc SumIfs) là xong.
Tuy nhiên nếu dùng hàm này thì có 1 lỗi xảy ra như sau: Cùng 1 người, trong cùng 1 ngày có nhiều "Event Time". Lúc đó kết quả hàm Sumproduct sẽ không đúng nữa nếu kết quả tính tổng các "Event Time" lớn hơn 24h.
- Vì vậy bạn dùng hàm Sumproduct khi tính tổng "Event Time" của 1 ngườì nào đó trong 1 ngày nếu biết chắc kết quả < 24:00:00 (Nếu lớn hơn nó sẽ tự trừ đi 24*n).
- Nếu kết quả lớn hơn 24:00:00 thì bạn hãy dùng thêm 1 cột phụ, chuyển đổi dạng hh:mm:ss sang giây (second). Sau đó dùng hàm Sumproduct tính tổng số giây của 1 người nào đó trong 1 ngày. Cuối cùng chuyển đổi tổng số giây đó sang dạng hh:mm:ss.
Trong file đính kèm là những hướng dãn cơ bản. Bạn hoàn thiện nốt nhé!
(P/s: Mình viết 1 đoạn VBA để chuyển đổi tổng số giây sang dạng hh:mm:ss cho công thức gọn hơn)
 

File đính kèm

Phần nhập liệu bên sheet GIO có thể sữa lại 1 tí: Cột giờ nên chia thành 2, giờ vào và giờ ra... như vậy sẽ dễ quãn lý, lại giãm số dòng đi gần phân nữa...
File cũa bạn này có dung lượng lớn 1 phần là do dử liệu nhiều, phần nữa do Format lung tung... chỉnh lại sơ 1 tí giãm dc gần 500K
Xem lại nhé...
ANH TUẤN
 
cảm ơn các huỵnh

huynh ơi?
huynh chưa hiểu em hỏi rồi,
em chỉ muốn lấy thời gian có săn bên cột ( giờ ) lấy sang ds thôi?
em không có tính tổng thồi gian mà em chỉ lấy thời gian có từ bảng ( gio ) thôi,
em cũng cảm ơn các huynh , mong các huynh giup đỡ em,

còn anhtuan thì chưa hiểu vấn đề dũ liệu này rồi
vì dữ liệu này do một phần mền xuất ra, chư không phải em làm,
mong các huynh giúp em

thanhs các huynh nhiều
 
Vậy là 1 UserId 1 ngày phải có 2 Event Time, in <11 và out. Sao thấy có người có vào mà không có ra.
Vd: UserId 6402 ngày 04/12/2007.
Với lại có người nào in 2 lần và out 2 lần trong 1 ngày?
 
còn anhtuan thì chưa hiểu vấn đề dũ liệu này rồi
vì dữ liệu này do một phần mền xuất ra, chư không phải em làm,
Dù là dữ liệu lấy từ đâu, mình cũng phải sắp xếp lại tiện cho công việc mình chứ! Làm theo anhtuan1066 là đúng đó.
Tôi làm theo ý ấy, chỉ 2 phút là sắp xếp lại sheet Gio, tách Event time thành 2 cột time in và time out, xoá thêm 1 đống cột và dòng trống mà có border: 10 giây. (làm dư chi mà ác vậy?)
Từ đó có 2 cách giải quyết:
1. SumProduct. Chậm lắm. máy tôi 2GHz mà tính 1 cột IN cho 1 ngày mất 40 giây. Nhân lên 31 ngày nhân 2 cột IN-OUT là bao nhiêu?
2. Pivot table. Nhanh hơn nhiều, nhấn refresh 1 cái có 2 giây.
Xem file kèm theo.
Nhưng mà dữ liệu thiếu hay sao mà có người in 04/12, mãi đến 06/12 mới out, có người không in không out mấy ngày liền?
Làm Pivot không sợ cả trường hợp 1 ngày in 2 lần out 2 lần, vì lấy min in và max out., không lấy sum.
 

File đính kèm

chào huynh.
huynh cho em hỏi huynh tí nha?
em thấy huynh làm cai file pivotTimePtm2.zip hay lắm. em làm hoài không được, huynh chỉ cho em được không?
em cam ơn huynh nha
 
Cách làm, em xem bài này:
http://www.giaiphapexcel.com/forum/showthread.php?t=6121

Cụ thể bài XuatThoiGianRa em làm đến step3 click vào nút layout:

PivotStep3.jpg


kéo thả các field vào như hình sau:

PivotLayOut.jpg


Double click vào field trong Data, chọn In là Min, Out là Max:

FieldSetting.jpg


- tên có merge cell thì click nút Option trong step3, chọn Merge Label.
- Click phải vào 1 cell total bất kỳ của row, nhấn hide
- tương tự là total của column
- định dạng dữ liệu là time
 
Web KT

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

Back
Top Bottom