또는 iserror를 사용한 날짜 변환 공식을 사용하는 Excel 공식

또는 iserror를 사용한 날짜 변환 공식을 사용하는 Excel 공식

배경: 데이터는 유럽 형식(DD/MM/YYYY) 날짜의 DB에서 나옵니다. "Created" 열(열 A)에도 24시간 형식의 타임스탬프가 있습니다. 그 옆에는 날짜만 있는 "식별된" 열(B열)이 있는데, 이는 "만든" 날짜와 동일하지 않을 수 있습니다.

내 출력은 미국 형식의 날짜(타임스탬프 없음)만 있는 새로운 "Created" 열이어야 합니다. 방법은 알고 있습니다. 저는 LEFT를 사용하여 새 열에 유럽 날짜만 캡처합니다. (열 C) 그런 다음 다른 새 열에서 =Date(value(right(A2,4)),value(mid(A2,4,2)),value(left(a2,2)))를 사용하여 날짜를 재정렬합니다. 미국 형식(MM/DD/YYYY)으로 변환합니다. (D열)

위의 내용이 모두 좋습니다. 여기서 문제가 발생합니다. "식별된" 데이터에 대해 동일한 날짜 대화를 자체 열(E열)에 수행해야 합니다. 모든 데이터 행에 "식별된" 날짜가 있는 것은 아닙니다.

"식별된" 날짜가 없는 경우 날짜 수식에서 오류(#VALUE로 표시됨)를 인식하고 변환된 "만든" 날짜를 복사하고 싶습니다.

IF, OR 및 IsError 문을 사용해 보았지만 유효한 문을 얻을 수 없는 것 같습니다.

어떤 제안이라도 대단히 감사하겠습니다. 또한 변환된 "식별된" 열을 읽기 위해 =If(iserror)를 사용하여 다른 열(F)을 만들고, 오류인 경우 변환된 "만든" 날짜를 가져오고, 오류가 아닌 경우에는 "식별된" 날짜를 변환했지만 빈 셀이 표시됩니다.

간단한 예제 Excel 시트를 작성했지만 Excel 파일을 업로드/첨부할 위치에 대한 옵션이 표시되지 않습니다.

수식이 설명된 샘플 통합 문서 이미지

답변1

세포 공식 E2...

IF를 사용하는 기존 방식

=IF(ISBLANK(B2),D2,DATE(VALUE(RIGHT(B2,4)),VALUE(MID(B2,4,2)),VALUE(LEFT(B2,2))))

IFERROR를 사용하는 현대적인 방식

=IFERROR(DATE(VALUE(RIGHT(B2,4)),VALUE(MID(B2,4,2)),VALUE(LEFT(B2,2))),D2)

B2비어 있으면 에 DATE있던 함수에서 E2오류가 발생합니다.

이전 방식에서는 IF함수를 사용하여 cell 이 비어 있는지 테스트 B2하고, 비어 있으면 cell 에 있는 내용을 결과로 전달합니다 D2. 테스트가 실패하면 IF함수는 해당 함수를 사용하여 필요한 결과를 간단히 계산합니다 DATE.

현대적인 방식은 DATE오류가 발생하는 원인이 무엇인지에 관심이 없으며 오류가 있는지 여부에만 관심이 있습니다. 오류가 없으면 IFERROR 함수는 첫 번째 인수( DATE함수)를 사용하고 오류가 있으면 두 번째 인수(- D2)를 결과로 사용합니다.

현대적인 방법이 바람직합니다. 임의의 텍스트를 포함하는 등의 기타 오류는 E2의 기능 B2에 문제를 일으킬 수 있습니다 . DATE버전은 IF이러한 오류를 적절하게 처리하지 않지만 그렇게 IFERROR됩니다.

관련 정보