狗妞 发表于 2021-11-16 11:30:00

关于考勤表的整理想请教方法

希望大神解答,原数据和希望达到的效果都在附件里了,能用怎样的函数或者方法去实现吗?

斩尘 发表于 2021-12-14 18:13:56

函数公式似乎没办法的,vba可以搞定,先留个记号吧

糖人乐 发表于 2021-12-15 21:30:04

Sub 整理()
Dim ar As Variant
Dim br()
Dim i As Long
With Sheets("原数据")
r = .Cells(Rows.Count, 1).End(xlUp).Row
ar = .Range("a1:ah" & r)
End With
ReDim br(1 To UBound(ar) * UBound(ar, 2), 1 To 7)
For i = 4 To UBound(ar) Step 4
If Trim(ar(i, 1)) <> "" Then
For j = 4 To UBound(ar, 2)
    If Trim(ar(2, j)) <> "" Then
      n = n + 1
      br(n, 1) = ar(i, 1)
      br(n, 2) = ar(i, 2)
      br(n, 3) = ar(2, j)
      br(n, 4) = ar(i, j)
      br(n, 5) = ar(i + 1, j)
      br(n, 6) = ar(i + 2, j)
      br(n, 7) = ar(i + 3, j)
    End If
Next j
End If
Next i
With Sheets("希望得到的结果")
rs = .Cells(Rows.Count, 1).End(xlUp).Row + 3
.Range("a3:g" & rs) = Empty
..Resize(n, UBound(br, 2)) = br
End With
MsgBox "ok!"
End Sub

叶才宏 发表于 2021-12-15 23:21:07

墨文水 发表于 2021-12-16 03:02:04

很有规律可以index offset

王煒鵬 发表于 2021-12-27 01:33:13

谢谢。。。我研究研究。。。

熟悉的风景 发表于 2022-1-4 09:21:33

谢谢。。。。又提供了一种让我进步的途径。。。谢谢。。。

顾轶 发表于 2022-1-15 13:16:16

再次请教,,如果我的数据是从第六行开始的话,,几个函数该怎么调整。。。

曾经的记忆 发表于 2022-1-24 11:02:21

见附件            

中军 发表于 2022-2-2 05:39:57

谢谢了。。
页: [1]
查看完整版本: 关于考勤表的整理想请教方法