“12/04/2003”과 같은 셀을 날짜 형식으로 변환하려면 어떻게해야합니까? 년 3 월 21

2004 년 3 월 21 일은 날짜로 등록되지 않지만 7/3/2004는 날짜로 등록됩니다. 누구든지 0에서 시작하는 월 값으로 날짜 값의 모든 0을 제거하는 방법을 알고 있습니까?

따라서 왼쪽 여백에 붙어있는 열은 어떻게 든 자동 변환되지 않습니다. 오른쪽에 붙어있는 기둥은 괜찮습니다.

http://puu.sh/27CEm



답변

일반적으로 DATEVALUE 함수를 사용하여 텍스트 날짜를 Excel 날짜 값 (예 : Excel에서 날짜로 인식하는 숫자)으로 변환하면이 문제를 해결할 수 있습니다. 사용법은 DATEVALUE (date_string 또는 cell_address)입니다.

그러나 1) 예제 문자열에서 Day가 Month보다 앞에오고 DATEVALUE는 Month 다음에 Day가 올 것으로 예상하고 2) 일부 날짜 문자열에는 시간도 포함되기 때문에 여기서는 작동하지 않습니다.

다음은 제공 한 예제와 함께 작동하는 배열 수식 대안입니다. 그것은 사용하여 입력 할 필요가 ControlShiftEnter키 조합을.

  =DATE(
        RIGHT(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8),MATCH("/",MID(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8),LEN(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8))-ROW(1:25),1),0)),

        LEFT(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8),SEARCH("/",IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8))-1),

        LEN(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8))-MATCH("/",MID(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8),LEN(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8))-ROW(1:25),1),0)-LEN(LEFT(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8),SEARCH("/",IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8))+1)))
        )

이 매우 복잡한 배열 수식 (누군가 더 간단한 것을 제공 할 수 있기를 바랍니다)은 DATE 함수를 사용하여 Excel 날짜 값을 구성합니다. (날짜를 만들 때 셀 F8에 원래 날짜 문자열이 생겼습니다.)

변환해야하는 날짜 문자열은 때때로 시간을 포함하므로 원시 형식으로 사용할 수 없습니다. 대신 사용되는 것은 RIGHT(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8)입니다. 이 수식은 날짜 문자열에서 공백을 검색합니다. 공백을 찾으면 LEFT 함수를 사용하여 모든 문자를 공백 왼쪽으로 가져옵니다. 공백을 찾지 못하면 단순히 원래 문자열을 반환합니다.

수식의 가장 바깥 쪽 부분은 DATE 함수입니다. Year, Month 및 Day를 지정하면 Excel 날짜가 생성됩니다. 위 코드 에서이 세 가지 계산을 나눕니다.

연도 계산은 다음과 같습니다.

  1. 날짜 문자열을 뒤집습니다 (위에서 설명한대로 시간이 잘린 상태).
  2. SEARCH 함수를 사용하여이 반전 된 문자열에서 첫 번째 “/”의 위치를 ​​찾으십시오 (이 슬래시는 반전되지 않은 날짜 문자열의 첫 번째 슬래시입니다).
  3. RIGHT 함수를 사용하여 날짜 문자열의 오른쪽에서 많은 문자를 가져옵니다.

월 계산에는 다음 단계가 있습니다.

  1. 반전되지 않은 날짜 문자열 에서 첫 번째 슬래시의 위치를 ​​찾으십시오 .
  2. 연도 계산에서 결정된대로이 위치와 두 번째 “/”위치의 차이를 계산하여 월의 문자 수 (1 또는 2 일 수 있음)를 결정하십시오.
  3. MID 함수를 사용하여 첫 번째 슬래시와 두 번째 슬래시 사이의 문자를 반환하십시오.

일 계산이 가장 간단합니다.

  1. 월 계산에서와 동일한 방법을 사용하여 첫 번째 “/”의 위치를 ​​계산하십시오.
  2. LEFT 함수를 사용하여 문자열의 왼쪽에서 많은 문자 (빼기 1)를 가져옵니다.

@Barry가 제안한 것처럼 리본의 데이터 탭에서 Text to Columns 명령을 사용하는 것이 가장 간단한 방법입니다.

또 다른 방법은 REGEX 패턴 일치 기능을 사용하는 것입니다. 이 기능은 Excel에 내장되어 있지 않지만 VBA 코드로 구성하고 액세스 할 수 있습니다. 코드는 약간 까다로울 수 있지만, 이 예제 와 같이 여러 버전을 인터넷에서 사용할 수 있습니다 . 그러나이 기능을 사용하는 것은 매우 간단합니다. 예를 들어, Day를 얻기위한 일치 표현식 REGEXP("./",F8)은 DATE 함수에서 Excel 날짜 값을 가져 오는 데 사용될 수 있습니다.

편의상 여기 완전한 형태의 공식이 있습니다.

  =DATE(RIGHT(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8),MATCH("/",MID(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8),LEN(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8))-ROW(1:25),1),0)),LEFT(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8),SEARCH("/",IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8))-1),MID(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8),LEN(LEFT(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8),SEARCH("/",IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8))+1)),LEN(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8))-MATCH("/",MID(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8),LEN(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8))-ROW(1:25),1),0)-LEN(LEFT(IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8),SEARCH("/",IFERROR(LEFT(F8,IFERROR(SEARCH(" ",F8),0)-1),F8))+1))))


답변

왼쪽에 붙는 값은 일반적으로 텍스트 값이고 숫자 / 날짜 값은 오른쪽에 맞춰져 있음을 의미합니다.

Excel에서 날짜 시간 변환을 수행하기 전에 다음 사항을 확인할 수도 있습니다.

  1. 시스템 언어 / 지역 설정, 특히 날짜 시간 형식을 확인하십시오. Excel에서는 기본 시스템 날짜 시간 설정을 사용하므로 결과 지역에 따라 날짜 시간 변환이 달라집니다.

  2. 셀 값에 추가 공백이나 은선 구분 문자가 없는지 확인하십시오. 공백이있는 유효한 날짜 시간 값은 날짜 시간이 아닌 텍스트 값으로 취급되므로 Excel에서 자동 변환하지 않습니다. .

  3. DD / MM / YYYY와 같은 고유 한 변환 규칙을 지정할 수있는 Excel의 사용자 정의 셀 형식 옵션을 사용하십시오.


답변

아마도 소스 형식은 dd / mm / yyyy입니다. “텍스트에서 열로”기능을 사용하여 변환 해보십시오.

날짜 열 선택

데이터> 텍스트에서 열로> 다음> 다음> “열 데이터 형식”에서 “날짜”를 선택하고 드롭 다운에서 “DMY”> 확인에서 소스 형식을 선택하십시오.


답변

방금 해결책을 찾았지만 이것이 작동하면 더 간단한 해결 방법이어야합니다.

날짜 형식이 아닌 셀을 선택하십시오. 마우스 오른쪽 버튼을 클릭하고 서식 셀을 선택한 다음 숫자 및 범주 사용자 정의를 선택하십시오. 유형 필드에 입력 형식 인 형식이 설정되어 있으므로 적합한 형식이 없으므로 직접 입력하십시오. 문자열 dd / mm / yyyy를 입력 한 경우 OK를 누릅니다. 이제 Excel은 이것이 날짜라는 것을 알고 있습니다 (월요일 형식이지만).이 셀을 복사하여 원하는 방식으로 날짜 형식의 새 셀에 붙여 넣을 수 있습니다.


답변

Excel의 기본 데이터 형식은 : dd / m / yyyy입니다. m / dd / yyyy를 선택하면 왼쪽 여백이 자동 변환되지 않습니다. 올바른 형식을 선택하면 문제가 해결됩니다.


답변