|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
1. 엑셀 버전(95,97,2000,2002):2000
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP):win2000
3. CPU (486,PentiumI/II/III/IV...):IV
4. RAM (32,64,128,256,512MB,1G...): 1.024
* 아래줄에 질문을 작성하세요 >>
안녕하세요
급하게 자료를 하나 정리하려고 합니다.
개발일정에 대한 소요일을 Count하려고 하는데 일일이
계산하려니 시간이 많이 소요될 것 같아서 고수님들의
지도좀 부탁드립니다. 내용은 첨부파일에 있습니다.
고수님들 부탁할게요
==============[서용성님 글에 대한 답변입니다]==============
안녕하세요?
이미 rubber님이 답변을 드렸는데... ^^;
첨부파일의 날짜가 일반텍스트로 되어있어 날짜계산이 되지않으니 날짜형식으로
바꾼후 계산을 하시면 훨씬 편할텐데.... ^^;
만약 그 상태로 계산을 하시려면 수식을 아래와 같이 적용시켜 보십시요.
=DATE(LEFT(E6,2),MID(E6,4,2),RIGHT(E6,2))-DATE(LEFT(E5,2),MID(E5,4,2),RIGHT(E5,2))
자세한것은 첨부파일을 확인해 보시고요~
두가지 방식으로 다 해 봤읍니다.
그럼 도움이 되시길...
==============[비포앤에프터님 글에 대한 답변입니다]==============
좋은 답변 많이 주셨군요..
아래는 매크로로 해봤습니다. 참고하시길.......
Sub test()
On Error Resume Next
With Worksheets("종합").Range(Cells(1, 1), Range("a1").SpecialCells(xlLastCell))
' 잘못 입력된 날짜형식을 찾아서
Set c = .Find("??.??.??")
If Not c Is Nothing Then
firstAddress = c.Address
Do ' 아래의 형식으로 바꿔준 담
c.Value = CDate("20" & Left$(c, 2) & "-" & Mid$(c, 4, 2) & "-" & Right$(c, 2))
If IsDate(c.Value) And IsDate(c.Offset(-1, 0)) Then
' 날짜를 계산한다
c.Offset(1, 0).FormulaR1C1 = "=DATEDIF(R[-2]C,R[-1]C,""D"")"
End If
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
' ~ 끝 ~
End Sub |
|