2014-10-01 2 views
1

아래 텍스트는 예제 데이터 세트입니다. 문자열에 날짜가있는 노트가 있습니다. 아래 문자열의 모든 날짜를 mm/dd/yyyy 형식에서 yyyy-mm-dd로 변환해야합니다. === 참고 === '여기Excel : 문자열의 모든 날짜 값을 다시 포맷하십시오.

2013년 2월 7일

를 입력 노트

: 모든 데이터는

셀 내용 단일 셀의 문자열입니다

'=== 참고 ===

2013년 2월 12일

여기

'

=== 참고 ===

2013년 2월 14일

여기

원하는 셀 내용을 메모를 입력'개

입력 사항 === 참고 ===

2013-02-07,

여기

'=== 참고 ===

이 메모를 입력

2013년 2월 12일

다음

'=== 참고 === 노트를 입력

2013-02-14

여기에 입력하십시오.

날짜 문자열을 선택하고 다시 포맷하는 수식을 시도했지만 문자열의 첫 번째 날짜 만 선택합니다. 문자열의 모든 날짜를 검색하고 서식을 다시 지정하는 무언가가 필요합니다.

나는 첫 데이트를

= IFERROR (0 + MID (AB2, SEARCH ("??/??/????", AB2), 10)를 골라 다음을 사용할 수 있습니다 "YYYY-MM-DD ')

")

그러면 I는이 형식을

= TEXT (AC1을 변경할를 사용할 수 있습니다 "그러나 첫 번째 날짜 만 선택하고 그 날짜도 바꿉니다. 어떤 도움이라도 대단히 감사합니다.

+0

먼저 전체 열을 선택하고 바로'셀 서식을 선택 클릭 한 다음 코드를 새 모듈을 만들고 추가 '를 선택하고 나열된 범주에서 TEXT를 선택하십시오. – Gopal00005

+0

그런데 어떤 버전의 Excel? – Gopal00005

답변

0

표준 Excel 기능에서는이 작업을 수행 할 수 없습니다.그러나 VBA와 정규식을 사용하여이를 수행 할 수 있습니다. 사용하여 워크 시트의 다른 셀에서, 그리고 다음과 같은 기능

Function ConvertDates(rng As Range) 
    If (rng.Rows.Count > 1 Or rng.Columns.Count > 1) Then 
     ConvertDates = CVErr(xlErrRef) 
    End If 

    Dim regex As Object 
    Set regex = CreateObject("vbscript.regexp") 
    regex.Global = True 
    regex.Pattern = "([\d]{2})/([\d]{2})/([\d]{4})" 
    ConvertDates = regex.Replace(rng.Value, "$3-$1-$2") 
End Function 

:

=ConvertDates(A1) 
+0

완벽하고 매력적이었습니다. 감사! – Derek

관련 문제