daihoangtu
Thành viên mới
- Tham gia
- 26/10/07
- Bài viết
- 17
- Được thích
- 7
Nhìn file xong tôi chẳng hiểu gì cả! ít ra bạn cũng cho biết tổng hợp như thế nào, vùng nào trên bảng (có bảng thì X có bảng dạng ngày tháng). Bạn cần nói rõ các điều kiện cần để làm thì người khác mới hiểu và hướng dẫn cho bạn.Mình có bảng chấm công tháng của NV ; NV làm việc theo từng kíp trực, ra trực . Yêu cầu tổng hợp cuối tháng mỗi NV làm từ ngày đến ngày của từng khoảng thời gian kíp trực. Mình gởi kèm file mẫu như sau:
Xin cảm ơn cả nhà!
Mình có bảng chấm công tháng của NV ; NV làm việc theo từng kíp trực, ra trực . Yêu cầu tổng hợp cuối tháng mỗi NV làm từ ngày đến ngày của từng khoảng thời gian kíp trực. Mình gởi kèm file mẫu như sau:
Xin cảm ơn cả nhà!
Bỏ qua phần dấu X chỉ tính từ khu vực từ 30/6 den 31/7 . khoảng thời gian này có người trực 3 kíp có người trực 2 kíp có người làm hành chính cả tháng . Thời gian làm việc không liên tục. Cột yêu cầu tổng hợp (tô màu vàng) là kết quả cần làm.Nhìn file xong tôi chẳng hiểu gì cả! ít ra bạn cũng cho biết tổng hợp như thế nào, vùng nào trên bảng (có bảng thì X có bảng dạng ngày tháng). Bạn cần nói rõ các điều kiện cần để làm thì người khác mới hiểu và hướng dẫn cho bạn.
Yêu cầu này làm bằng công thức, phải dùng hàm TEXTJOIN. Nếu phiên bản excel < 2019 nên đăng bên box lập trình đễ được hỗ trợ tốt hơn ( bằng UDF)Bỏ qua phần dấu X chỉ tính từ khu vực từ 30/6 den 31/7 . khoảng thời gian này có người trực 3 kíp có người trực 2 kíp có người làm hành chính cả tháng . Thời gian làm việc không liên tục. Cột yêu cầu tổng hợp (tô màu vàng) là kết quả cần làm.
Trong 1 dãy chuỗi không liên tục ( Đứt đoạn) làm giao lấy giá trị đầu và giá trị cuối của từng khoảng đứt đoạn? Thank bạn!Yêu cầu này làm bằng công thức, phải dùng hàm TEXTJOIN. Nếu phiên bản excel < 2019 nên đăng bên box lập trình đễ được hỗ trợ tốt hơn ( bằng UDF)
.
Mong muốn kết quả như nào thì điền tay ra cho mọi người dễ hiểu, nhìn khó hiểu quáTrong 1 dãy chuỗi không liên tục ( Đứt đoạn) làm giao lấy giá trị đầu và giá trị cuối của từng khoảng đứt đoạn? Thank bạn!
Bài #3 có gh rõ: "Cột yêu cầu tổng hợp (tô màu vàng) là kết quả cần làm."Mong muốn kết quả như nào thì điền tay ra cho mọi người dễ hiểu, nhìn khó hiểu quá
Cột kết quả là cột Yêu cầu tổng hợp làm = tay (làm mẫu đó)Mong muốn kết quả như nào thì điền tay ra cho mọi người dễ hiểu, nhìn khó hiểu quá
Bạn không nói rõ 1 kíp là như thế nào, và cũng cho VD về kết quả của nó của một hàng thì mọi người dễ dàng giúp bạn hơn.Bỏ qua phần dấu X chỉ tính từ khu vực từ 30/6 den 31/7 . khoảng thời gian này có người trực 3 kíp có người trực 2 kíp có người làm hành chính cả tháng . Thời gian làm việc không liên tục. Cột yêu cầu tổng hợp (tô màu vàng) là kết quả cần làm.
kíp làm ko có qui luật cứ chấm công thực tế là dấu X sao đó mình đổi thành ngày (kiểu chuỗi), 1 NV làm liên tục là có giá trị trong ô, còn khoảng trống là người NV đó ko có đi làm . Cột Yêu cầu tổng hợp (màu vàng) là cột cần làm công thức (mình làm bằng tay, làm mẫu) làm ra giống kết quả cột màu vàng đó. Bảng chấm công cả ngàn NV mình trích những trường hợp tiêu biểu thôi.Bạn không nói rõ 1 kíp là như thế nào, và cũng cho VD về kết quả của nó của một hàng thì mọi người dễ dàng giúp bạn hơn.
Nói nôm na là bạn muốn chuyển từ X sang dạn ngày tháng hay sao?kíp làm ko có qui luật cứ chấm công thực tế là dấu X sao đó mình đổi thành ngày (kiểu chuỗi), 1 NV làm liên tục là có giá trị trong ô, còn khoảng trống là người NV đó ko có đi làm . Cột Yêu cầu tổng hợp (màu vàng) là cột cần làm công thức (mình làm bằng tay, làm mẫu) làm ra giống kết quả cột màu vàng đó. Bảng chấm công cả ngàn NV mình trích những trường hợp tiêu biểu thôi.
Đã chuyển rồi giờ làm công thức nào để ra cột màu vàng như hình mới bổ sung đó ad.Nói nôm na là bạn muốn chuyển từ X sang dạn ngày tháng hay sao?
Tôi đã thấy vùng vàng trong file, nhưng tôi không hiểu tổng hợp như thế nào? Đếm số ngày? Từ ngày ... đến ngày? Nếu ô trống thì không tính? Hoặc như thế nào để tính toán?Đã chuyển rồi giờ làm công thức nào để ra cột màu vàng như hình mới bổ sung đó ad.
Cái này nhờ bạn nào viết code VBA đi viết hàm thấy khoai lắmĐã chuyển rồi giờ làm công thức nào để ra cột màu vàng như hình mới bổ sung đó ad.
Tính theo NV (tính theo row) 1 dãy ngày làm liện tục thì lấy giá trị ngày đầu (để làm Từ ngày) và giá trị ngày cuối ( để làm Đến ngày) của dãy liên tục. Sau đó dãy trống là NV ko đi làm Không tính. Tiếp theo dãy ngày vô làm lần 2 trong tháng (dãy lần 2 trong tháng) cũng lấy giá trị ngày đầu (để làm Từ ngày) và giá trị ngày cuối (để làm đến ngày) của dãy liên tục.. Cứ dãy chuỗi liên tục thì lấy giá trị ngày đầu (để làm Từ ngày) và lấy giá trị cuối dãy (để làm Đến ngày).Tôi đã thấy vùng vàng trong file, nhưng tôi không hiểu tổng hợp như thế nào? Đếm số ngày? Từ ngày ... đến ngày? Nếu ô trống thì không tính? Hoặc như thế nào để tính toán?
À, có nghĩa rằng kết quả là vùng bạn tô vàng? Nếu không có khoảng trống thì từ đầu đến cuối, nếu có thì cách nhau dấu chấm phẩy. Tôi không nghĩ là có thể làm bằng công thức, tôi làm hàm tự tạo VBA được không? Và nếu dùng hàm này thì bạn không cần thêm cái bảng ngày tháng nữa mà chỉ sử dụng cái bảng X là được rồi.Tính theo NV (tính theo row) 1 dãy ngày làm liện tục thì lấy giá trị ngày đầu (để làm Từ ngày) và giá trị ngày cuối ( để làm Đến ngày) của dãy liên tục. Sau đó dãy trống là NV ko đi làm Không tính. Tiếp theo dãy ngày vô làm lần 2 trong tháng (dãy lần 2 trong tháng) cũng lấy giá trị ngày đầu (để làm Từ ngày) và giá trị ngày cuối (để làm đến ngày) của dãy liên tục.. Cứ dãy chuỗi liên tục thì lấy giá trị ngày đầu (để làm Từ ngày) và lấy giá trị cuối dãy (để làm Đến ngày).
Đúng rổi Ad ơi. Mình làm bằng tay kết quả mẫu là vậy đó. Ad chỉ mình làm đi Ad. Thank you!Tôi thử làm công thức bằng hàm tự tạo VBA, đây là hình ảnh kết quả của nó, nếu đúng thì tôi sẽ gửi lên.
View attachment 265132
Đúng rổi Ad ơi. Mình làm bằng tay kết quả mẫu là vậy đó. Ad chỉ mình làm đi Ad. Thank you!Tôi thử làm công thức bằng hàm tự tạo VBA, đây là hình ảnh kết quả của nó, nếu đúng thì tôi sẽ gửi lên.
View attachment 265132
Bạn đang dùng phiên bản Excel nào? Nếu có hàm TEXTJOIN, có thể giải quyết bằng công thức với chút mẹo nhỏ.Cột kết quả là cột Yêu cầu tổng hợp
Public Function ChamCong(ByVal rngX As Range, ByVal rngDate As Range) As String
Application.Volatile
Dim arrX, arrDate, i&, temp$, isStart As Boolean
Dim tungay As String
Dim denngay As String
tungay = "t" & ChrW(7915) & " ngày "
denngay = " " & ChrW(273) & ChrW(7871) & "n ngày"
arrX = rngX.Value
arrDate = rngDate.Value
For i = 1 To UBound(arrX, 2)
If arrX(1, i) <> "" Then
If isStart = False Then
isStart = True
temp = temp & "; " & tungay & arrDate(1, i)
End If
Else
If isStart = True Then
isStart = False
temp = temp & denngay & arrDate(1, i - 1)
End If
End If
If i = UBound(arrX, 2) And isStart = True Then temp = temp & denngay & arrDate(1, i)
Next
If temp <> "" Then ChamCong = UCase(Mid(temp, 3, 1)) & Mid(temp, 4)
End Function