IT story

Excel 날짜를 문자열로 변환

hot-time 2020. 7. 14. 08:00
반응형

Excel 날짜를 문자열로 변환


Excel 시트의 셀에는 다음과 같은 날짜 값이 있습니다.

01/01/2010 14:30:00

해당 날짜를 텍스트로 변환하고 텍스트가 날짜와 정확히 똑같이 보이기를 원합니다. 따라서 Date 값은 01/01/2010 14:30:00비슷해야 01/01/2010 14:30:00하지만 내부적으로는 Text 여야합니다.

Excel에서 어떻게 할 수 있습니까?


=TEXT(A1,"DD/MM/YYYY hh:mm:ss")

(24 시간)

=TEXT(A1,"DD/MM/YYYY hh:mm:ss AM/PM")

(표준 시간)


VBA 접근 방식은 다음과 같습니다.

Sub change()
    toText Sheets(1).Range("A1:F20")
End Sub

Sub toText(target As Range)
Dim cell As Range
    For Each cell In target
        cell.Value = cell.Text
        cell.NumberFormat = "@"
    Next cell
End Sub

프로그래밍없이 솔루션을 찾고 있다면 질문은 수퍼 유저로 이동해야합니다.


다른 옵션이 있습니다. Excel에 내장 된 'Text to Columns'마법사를 사용하십시오. Excel 2007의 데이터 탭에 있습니다.

하나의 열을 선택하면 파일 형식 및 구분 기호의 기본값이 작동해야하며 열의 데이터 형식을 변경하라는 메시지가 표시됩니다. 텍스트를 선택하면 텍스트 형식으로 설정되어 날짜로 저장되지 않습니다.


''문자를 사용하는 일부 상황에서는 사전에 작동하지만 CSV에 저장하고 다시로드하면 불가능합니다.

'01/01/2010 14:30:00

TEXT () 수식을 작동시킬 수 없습니다

가장 쉬운 해결책은 붙여 넣기 전에 열을 텍스트로 설정 한 상태에서 붙여 넣기를 메모장에 복사하고 Excel로 다시 복사하는 것입니다.

아니면 이런 식으로도 똑같이 할 수 있습니다

=DAY(A2)&"/"&MONTH(A2)&"/"&YEAR(A2)& " "&HOUR(B2)&":"&MINUTE(B2)&":"&SECOND(B2)


프로그래밍을 사용하지 않는 경우 다음을 수행하십시오. (1) 열을 선택하고 (2) 마우스 오른쪽 버튼을 클릭하고 셀 서식을 선택하십시오. (3) "사용자 정의"를 선택하십시오. (4) "유형 :"바로 아래에서 dd / mm / yyyy hh : mm을 입력하십시오. : ss


Excel 2010에서 marg의 답변 은 내 스프레드 시트에 가져온 일부 데이터 (가져온 데이터)에 대해서만 작동했습니다. 다음 솔루션은 모든 데이터에서 작동했습니다.

Sub change()
    toText Selection
End Sub

Sub toText(target As range)
Dim cell As range
Dim txt As String
    For Each cell In target
        txt = cell.text
        cell.NumberFormat = "@"
        cell.Value2 = txt
    Next cell
End Sub

I have no idea about the year of publication of the question; it might be old now. So, I expect my answer to be more of a reference for future similar questions after my post.

I don't know if anybody out there has already given an answer similar to the one I am about to give, which might result -I think- being the simplest, most direct and most effective: If someone has already given it, I apologize, but I haven't seen it. Here, my answer using CStr instead of TEXT:

Asuming cell A1 contains a date, and using VBA code:

Dim strDate As String

'Convert to string the value contained in A1 (a date)
strDate = CStr([A1].Value)

You can, thereafter, manipulate it as any ordinary string using string functions (MID, LEFT, RIGHT, LEN, CONCATENATE (&), etc.)


The selected answer did not work for me as Excel was still not converting the text to date. Here is my solution.

첫 번째 열 A에 유형의 데이터가 2016/03/25 21:20:00있지만 텍스트로 저장되어 있다고 가정 하십시오. 그런 다음 B =DATEVALUE(A1)열에 쓰고 C 열에 씁니다 =TIMEVALUE(A1).

그런 다음 D 열 =B1+C1에서 날짜 및 시간의 숫자 형식을 추가하십시오.

마지막으로 E 열을 마우스 오른쪽 버튼으로 클릭하고을 선택하여 D에서 E 열로 값을 복사합니다 Paste Special -> Paste as Values.

E 열의 숫자 값을 강조 표시하고 데이터 유형을 날짜로 변경하십시오 YYYY-MM-DD HH:MM:SS. 양식의 사용자 정의 날짜를 사용하는 것이 좋습니다.

참고 URL : https://stackoverflow.com/questions/2636157/excel-date-to-string-conversion

반응형