Excel 날짜 형식 지정
열에 American Dates가 포함된 큰 Import된 csv 파일이 있습니다.날짜를 영국 형식으로 변경하고 싶습니다.(dd/mm/yyyy)
암호를 사용합니다.문제는 미국 날짜가 둘 다 있다는 것입니다."mm/dd/yyyy"
그리고."m/dd/yyyy"
형식 - "텍스트에서 열로" 절차를 포함하여 Excel의 "클릭 가능" 선택사항에 응답하지 않습니다.옆 열에서 실행할 때 변환을 수행하는 코드가 있습니까?
사용할 수도 있습니다.TEXT()
매우 쉽게 작동합니다(참고: 소스 데이터는 Excel 날짜 값이어야 함).
TEXT(value, format_text)
어디에value
기준 셀이며,format_text
텍스트 형식을 지정하는 방법입니다. 이 경우 dd/mm/yyyyy입니다.
가정:
A1 = 3/17/2013
A2 = 12/27/2013
B1 및 B2에 다음을 입력합니다.
B1 = TEXT(A1, "dd/mm/yyyy")
B2 = TEXT(A2, "dd/mm/yyyy")
그리고 그 결과는 다음과 같아야 합니다.
A B
3/17/2013 17/03/2013
12/27/2013 27/12/2013
도움이 되길 바랍니다.
텍스트 작업 시 제안 사항 업데이트:
다음을 사용하여 문자열 분할mid()
,left()
그리고.right()
기능을 사용하여 월 mm가 1자 또는 2자인지 확인합니다.LEN()
기능.마지막으로 & 및 / 연산자를 사용하여 문자열을 함께 연결합니다.
이것을 B1에 붙여보세요. 잘 작동할 것입니다.
=MID(A1,FIND("/",A1,1)+1,2)&"/"&IF(LEN(LEFT(A1,FIND("/",A1)-1))=1,0&LEFT(A1,FIND("/",A1)-1),LEFT(A1,FIND("/",A1)-1))&"/"&RIGHT(A1,4)
DATEVALUE 함수를 사용하여 날짜 문자열을 Excel 데이터 값으로 변환한 다음 사용자 정의 날짜 형식을 만들어 날짜 값을 영국 형식으로 표시할 수 있습니다.
첫 번째 날짜 문자열이 셀 A1에 있다고 가정하면, 다음 함수 호출은 문자열을 날짜 값으로 변환합니다.
=DATEVALUE(A1)
사용자 정의 형식을 생성할 수 있습니다.dd/mm/yyyy;@
셀을 마우스 오른쪽 단추로 클릭하고 셀 형식, 번호, 사용자 정의를 선택한 후 유형 필드에 형식을 입력합니다.
날짜 문자열 대신 날짜 값으로 작업하면 날짜 요소를 재정렬하는 문자열 작업을 수행하지 않고도 표시되는 형식을 변경할 수 있습니다.또한 필요한 경우 날짜 산술을 수행할 수 있습니다.
여기 도움이 될 수 있는 서브가 있습니다.QueryTables 메서드를 사용하여 Excel이 특정 데이터 열을 문자열로 해석하도록 지정할 수 있습니다.
Sub ImportExternalCSVAsText()
'
Dim sFileName As String
sFileName = Application.GetOpenFilename("CSV files, *.csv")
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & sFileName _
, Destination:=Range("$A$1"))
.Name = "CSV"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = False
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 2, 2) '2 denotes STRING
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
이 예에서는 CSV 파일 3 열을 너비로 가져왔고, 2 열과 3 열에 문자열 유형 데이터가 포함되도록 지정했습니다.
.TextFileColumnDataTypes = Array(1, 2, 2) '2 denotes STRING
만약 이 방법이 효과가 없다면, 저에게 알려주세요.저는 이전에 (영국 계약직의 미국 계약자로서) 이 문제를 처리해야 했던 적이 있으며, 저는 제가 그 당시에 사용했던 몇 가지 기능을 가지고 있다고 확신합니다.
모든 값을 문자열로 가져옵니다.
"12/30/2011"과 같은 미국 날짜 입력이 실패할 것이기 때문에 당신은 아마도 그것들을 구문 분석해야 할 것입니다.DATEVALUE()
시스템 Locale에서 기능하며, "07/05/2012"(2012년 7월 5일)와 같은 미국 날짜 입력은 "2012년 5월 7일"로 해석됩니다."로 해석됩니다.
이 기능은 다음과 같은 기능을 수행해야 합니다.
=CONCATENATE(MID(B2,SEARCH("/", B2,1)+1,2), "/",LEFT(B2,SEARCH("/", B2,1)-1), "/", RIGHT(B2,4))
이상하게도 이렇게 하려면 텍스트 열을 텍스트 열로 변환해야 합니다.
날짜가 들어 있는 열을 선택합니다. mm/dd/yyyy
- 데이터에서 열로 텍스트 선택
- 고정 너비 선택
- 다음 분.
- 연도 뒤에 열 너비 구분 기호 설정(yyyy)
- 열 데이터 형식
- 드롭다운 mm/dd/yyyy(소스 형식)를 선택합니다.
- 대상 선택
- 끝내라.
원본 데이터가 시스템의 날짜 형식으로 변환됩니다.
Sub USUKDateFormat()
' USUKDateFormat Macro
Selection.TextToColumns Destination:=ActiveCell.Offset(0, 2).Range("A1"), _
DataType:=xlFixedWidth, OtherChar:="/", FieldInfo:=Array(Array(0, 4), Array _
(10, 1))
End Sub
= TEXT(A2,"DD-MMM-YYY")
DD-MM-YYYDD-MM-YYY
DD-MMM-YY
MM-DD-YY
YYY-MM-DDYYY-MM-DD
'-'(대시)를 원하는 기호로 변경할 수 있습니다.
언급URL : https://stackoverflow.com/questions/15664709/excel-date-formatting
'programing' 카테고리의 다른 글
그렇지 않은 경우 다음 반복으로 루프 건너뛰기 R (0) | 2023.07.15 |
---|---|
git format-patch를 사용하여 커밋을 하나의 패치로 압축하는 방법은 무엇입니까? (0) | 2023.07.15 |
새 페이지로 리디렉션할 spx 페이지 (0) | 2023.07.15 |
'Microsoft' 유형에 대한 서비스가 없습니다.AsNetCore.MVC.기능 보기.'ITempDataDictionaryFactory'가 등록되었습니다. (0) | 2023.07.15 |
Excel에서 SQL 실행이 임시 테이블을 사용할 수 없습니다. (0) | 2023.07.15 |