나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내

작성자:  

 정승원 (aabbb)

추천:  2
파일:     조회:  2015
제목:   시간형식 질문입니다.
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007): 2016

* 아래줄에 질문을 작성하세요 >>

"20180507143201"이러한 날짜 형식을 별도의 date함수를 사용하지 않고 년월일로 표시하는 방법이 있나요?
 
[불량 게시물 신고]  
조삿갓A1 셀에 20180507143201 이 입력되어 있다고 할 때
=DATEVALUE(LEFT(A1,4)&"-"&MID(A1,5,2)&"-"&MID(A1,7,2)) + TIMEVALUE(MID(A1,9,2)&":"&MID(A1,11,2)&":"&MID(A1,13,2))

단, 해당 셀의 셀 서식이 날짜, 시간을 표시할 수 있도록 지정해야 합니다.
(12-3-14 13:30 형식 또는 사용자지정으로
yyyy-mm-dd hh:mm:ss 라고 지정)
05-08 (14:00)
삭제 ■신고
조삿갓VB 코드에서는 동일한 이름의 함수를 쓸 수 있으며, 다만
& 연산자는 앞 뒤에 공백을 하나씩 넣어주어야 합니다. 즉,

DT_Text = "20180507143201"
MyDateTime = DateValue(Left(DT_Text, 4) & "-" & Mid(DT_Text, 5, 2) & "-" & Mid(DT_Text, 7, 2)) + TimeValue(Mid(DT_Text, 9, 2) & ":" & Mid(DT_Text, 11, 2) & ":" & Mid(DT_Text, 13, 2))
05-08 (14:01)
삭제 ■신고
정승원DT_Text = "20180507143201"

이 부분을 텍스트형식의 셀로 지정할 수도 있나요?

예를들면, A1의 텍스트 형식 데이터가 20180507143201인 경우입니다.
05-08 (15:11)
삭제 ■신고
조삿갓DT_Text = Cells(1,1) 또는
DT_Text = Range("A1")

Cells 개체를 쓸 경우 뒤에 지정하는 숫자는 행, 열 순서입니다. 즉, B3 셀의 경우 Cells(3, 2)가 되지요.
두 번째 예시처럼 사용하는 것이 더 쉬워 보이기는 하지만
반복문을 구성한다든가 할 때 오히려 첫 번째 방법이 더 유용하므로, VB를 자주 다룰 것이라면 적응해 두는 것이 좋습니다.
05-08 (22:46)
삭제 ■신고
        
  

작성일 : 2018-05-08(11:48)
최종수정일 : 2018-05-08(11:48)