날짜 형식이 다음과 같은 여러 열이 있는 일괄 데이터가 있습니다.
2014년 5월 31일.
저는 이를 유용한 날짜 형식인 2014년 5월 31일로 변환하는 방법을 찾으려고 노력 중입니다. 어떤 아이디어가 있나요?
답변1
이를 달성하려면 몇 가지 단계를 거쳐야 합니다. 이는 수식과 도우미 셀을 사용하여 수행하는 한 가지 방법입니다. 도우미 셀 없이 이 작업을 수행해야 하는 경우(즉, 추가 열을 원하지 않는 경우) 이를 언급해야 하며 아마도 VBA를 사용하여 작업을 수행할 수 있을 것입니다.
첫 번째 작업은 날짜를 연도, 월, 일의 세 부분으로 나누는 것입니다. 이 세 가지가 있으면 다시 합치는 것이 간단합니다.
물론 이는 귀하의 데이트 상대가 다음과 같다고 가정합니다.언제나MMM-dd-yyyy의 오히려 멍청한 미국 날짜 형식©을 따릅니다.
이 작업은 Microsoft 페이지를 사용하여 수행되었습니다.함수를 사용하여 열 간에 텍스트 분할예로서.
월 분할: 첫 번째 달을 찾는 기능 과 월을 잘라내는 분할 도구를
사용하여 수행됩니다 .search
-
Left
=LEFT(A1, SEARCH("-",A1,1)-1)
May
귀하의 예에서 반환됩니다 .하루 분할:
비슷하지만 훨씬 더 복잡한 기능 사용이MID
필요합니다.-
필요한 텍스트 길이를 얻으려면 첫 번째와 두 번째를 찾은 다음 두 번째에서 첫 번째 위치를 빼야 합니다. 이 결과는 다소 긴 함수입니다.=MID(A1,SEARCH("-",A1,1)+1,SEARCH("-",A1,SEARCH("-",A1,1)+1)-SEARCH("-",A1,1)-1)
는 단순히 첫 번째 위치를 가져오는
SEARCH("-",A1,SEARCH("-",A1,1)+1)-SEARCH("-",A1,1)-1)
동안 길이를 반환합니다 .SEARCH("-",A1,1)+1
도구MID
는 이를 잘라내어23
예제에서 반환합니다.연도 분할:
우리에게 필요한 마지막 도구는RIGHT
도구입니다.=RIGHT(A1,LEN(A1)-SEARCH("-",A1,SEARCH("-",A1,1)+1))
이는 단순히 문자열의 길이를 가져온 다음 이를 두 번 검색하여 왼쪽(또는 오른쪽)에 있는 모든 것을 반환합니다.
이제 문제는 여전히 사용할 수 없는 텍스트 형식의 월이 있다는 것입니다. 사용할 수 있게 만들려면 DATEVALUE
도구를 사용하여 변환 해야 합니다 . 이 도구는 자체적으로 한 달을 허용하지 않지만 문자열은 허용합니다 MMM YY
. 그런 다음 우리가 할 수 있는 일은 연도를 연결한 후 월 텍스트를 숫자로 구문 분석하는 것입니다.
월을 숫자 값으로 가져오기:
인수를 위해 셀 B1에 첫 번째 함수를 저장했다고 가정해 보겠습니다.
DATEVALUE(B1 &" 01")
Excel이 내부적으로 사용하는 날짜 값 문자열을 반환합니다. 그런 다음 이를MONTH
함수로 래핑하여 해당 월의 숫자 값을 반환할 수 있습니다.MONTH(DATEVALUE(B1 &" 01"))
그런 다음 이 모든 것을 하나의
DATE(year,month,day)
함수로 병합하여 Excel에서 사용할 수 있는 실제 날짜로 변환할 수 있습니다. 월은 B1 셀에, 일은 C1 셀에, 연도는 D1에 Stupid American Date Format™ 다음에 표시됩니다.DATE(D1, B1, C1)
23/05/2014
그런 다음 셀로 돌아갑니다 .정말 멋지게 만들고 싶다면 위의 모든 공식을 하나로 결합할 수 있습니다.
=DATE(RIGHT(A1,LEN(A1)-SEARCH("-",A1,SEARCH("-",A1,1)+1)),MONTH(DATEVALUE(LEFT(A1, SEARCH("-",A1,1)-1)&" 1")),MID(A1,SEARCH("-",A1,1)+1,SEARCH("-",A1,SEARCH("-",A1,1)+1)-SEARCH("-",A1,1)-1))
답변2
또 다른 간단한 접근 방식은 다음과 같은 문자열을 사용하는 것입니다.2015년 5월 31일그리고 그것을로 변환2015년 5월 31일. 이 변환을 통해 우리는날짜값()공식.
그래서 데이터를A1, 안에지하 1층입력하다:
=DATEVALUE(SUBSTITUTE(MID(A1,FIND("-",A1)+1,2),"-","") & "-" & LEFT(A1,3) & "-" & RIGHT(A1,4))
답변3
질문에 대한 답변이 완료되었음을 알고 있으며 모든 의견에 감사드립니다. 누군가에게 도움이 될 경우를 대비해 이 다른 옵션을 추가하고 싶습니다.
=DATEVALUE(CONCATENATE(MID(A1,5,2),"-",LEFT(A1,3),"-",RIGHT(A1,4)))
그러면 날짜가 2014년 5월 31일 형식에서 2014년 5월 31일 형식으로 변환됩니다. 내 특별한 경우에는 월이 세 글자로만 입력되었습니다(예: Jul).
감사해요!