2012-10-12 3 views
2

CSV 파일이 있는데 쉼표로 구분되어 있으며 "01/13/2010 05:00:00 AM" 또는 "04/01/2010 05:00:00 AM"과 같은 일부 날짜 값이 있습니다. 문제는 Microsoft Excel에서 CSV 파일을 열면 요즘은 01/13/2010 05:00:00 AM04/01/2010 05:00으로 나타납니다. 두 번째 값은 04/01/2010 05:00:00이지만 여전히 04/01/2010 05:00이 표시됩니다. 저는 몇 가지 테스트를 실시했으며, Excel이 어느 날을 결정할 수 없다는 것을 깨달았습니다. 사실 Excel에서 같은 문자열 가져옵니다CSV 날짜 및 구분 기호 문제

그것은 마지막 두 문자에서 추론
__/__/____ __:__:__ __ 

(AM/PM) 시간의 값을, 그것은 어떤 분을 알고 그것을 볼 때 두 번째이며, 또한, 올해는 결정 4 자리의 긴 숫자 순서이므로 질문은 월과 일에 관한 것입니다. 문자열의 첫 번째와 두 번째 숫자가 모두 < = 12이면 어느 날짜가 어느 월인지 그리고 어느 연도인지를 판별 할 수 없으므로 날짜 형식이 엉망입니다.

내가 TEXT라는 기능을 사용하면 다음과 같이 그냥 할 수 있다는 것을 발견 한 같은

MM/dd/yyyy HH:mm:ss AM/PM 

와 나는이 날짜 형식을 가지고 싶다 :

=TEXT("04/13/2010 05:54:00 AM", "MM/dd/yyyy HH:mm:ss AM/PM") 

그것은 매력처럼 작동하지만, 여전히 그날과 어느 달인지 추측합니다. 그러나 클라이언트가 CSV의 데이터와 동일한 기본 날짜 형식을 갖게된다고 가정하면 월과 일이 뒤 바뀌지 않습니다. 그러나이 파일을 클라이언트에 제공해야하며 파일을 열 때마다 올바른 값을 표시해야하기 때문에 Excel을 열고 형식을 입력하고 싶지 않습니다. 따라서 쉼표로 구분 된 파일 안에 수식을 써야하지만 ... TEXT는 2 차원이며 내 날짜와 형식을 구분하는 쉼표가 있습니다.

내가 입력하면 내 파일에

= ABS(-5),=TEXT("04/13/2010 05:54:00 AM", "MM/dd/yyyy HH:mm:ss AM/PM") 

, 나는 처음 인 5 3 개 세포를 볼 것, 두 번째는 =TEXT("04/13/2010 05:54:00 AM"이며, 세 번째는 "MM/dd/yyyy HH:mm:ss AM/PM")입니다.

이 동작을 어떻게 막을 수 있습니까? 함수 호출에서 쉼표 대신 다른 것을 사용할 수 있습니까? 또는 구분 기호를 변경할 수 있습니까? 아니면 더 나은 해결책이 있습니까?

나를 CSV 파일에 함수 호출을 입력하는 방법을 알려주시겠습니까? 도움을 시도 모두에게 사전에

감사합니다,

조스 아르 밧.

+1

두 번째의 값 "잘못 무엇 2010년 4월 1일 5시 0분 0초이지만, 여전히 04/01/2010 05:00 "을 (를) 보여줍니다. –

+0

처음에는 파일에 04/01/2010 05:00:00 AM이었고 논리적으로 그 값을 갖고 그 값을 시각적으로 확인하고 싶습니다. 대신 Excel의 값은 04/01/2010 05:00:00이고 04/01/2010 05:00입니다. 이것은 MM/dd/yyyy HH : mm : ss AM/PM의 형식으로 값과 시각적 표현을 모두 필요로하기 때문에 문제입니다. 댓글 주셔서 감사합니다. –

답변

2

내가 입력 한 경우 :

내 파일에
= ABS(-5),=TEXT("04/13/2010 05:54:00 AM", "MM/dd/yyyy HH:mm:ss AM/PM") 

, 나는 3 개 세포를 볼 수, 5 인 첫 번째, 두 번째는 = TEXT이다 ("2010년 4월 13일 5시 54분 0초 AM "이고 세 번째는"MM/dd/yyyy HH : mm : ss AM/PM "입니다.

이 예제를 작동 시키려면 두 번째 데이터 항목을 큰 따옴표로 묶어야 쉼표를 이스케이프 처리해야합니다. 결과적으로 큰 따옴표 안에 큰 따옴표로 해석하게하려면 큰 따옴표를 사용해야합니다.이 문장이 읽기 쉽기를 바랍니다.

그래서 당신은 당신이 당신의 파일이 사용하는 경우 작동해야주는 예

:

=ABS(-5),"=TEXT(""04/13/2010 05:54:00 AM"", ""MM/dd/yyyy HH:mm:ss AM/PM"")" 
+0

훌륭하다면, 나는 대답을 두 번 upvote 것이다. –

+1

감사합니다. 기꺼이 도와 드리겠습니다. 그건 그렇고, 전에는 CSV 파일 내에서 함수를 사용하는 것에 대해 생각해 본 적이 없으며 현명한 접근 방법입니다. –