programing

Excel 번호 형식:"-409"가 뭐죠?

powerit 2023. 4. 13. 21:14
반응형

Excel 번호 형식:"-409"가 뭐죠?

매크로 시스템을 사용하여 엑셀을 자동화하고 있습니다.a when when 、 when 、 음 、 음 、 음 、 음 、 음 、 。NumberFormat다음과 같이 합니다.

[$-409]m/d/yy h:mm AM/PM;@

이게 무슨 뜻인지 알아내려고 노력 중이야구글링을 통해 대괄호 안의 값이 "조건"이며, 조건이 다음과 같은 경우 다음과 같은 정보를 얻을 수식별:

$-409

「」, 「」, 「」, 「RSA」를 사용합니다.NumberFormat

m/d/yy h:mm AM/PM

않은 " " "를 합니다.NumberFormat

@

찾은 참조에 따르면 숫자 형식 "@"이 텍스트 자리 표시자임을 알 수 있습니다.

그래서 질문하겠습니다.

  1. $409의 조건부 테스트는 무엇입니까?-409와 -409를 비교하고 있습니까(, 마이너스 49), 그렇다면 달러 기호와 비교하고 있는 것은 무엇입니까?

  2. 조건이 실패하고 텍스트 자리 표시자 "부호"에 다시 지정되는 경우, 조건은 무엇으로 표시됩니까?

다른 사람의 의견을 명확히 하기 위해:

[-409]는 16진수로 지정된 로케일 코드입니다.날짜 앞에 특정 로케일코드를 붙이면 다양한 날짜 형식 코드를 사용할 때 표시되는 내용이 결정됩니다.예를 들어 날짜 사용

1973년 11월 28일 오전 11시 28분 13초

다음 표의 예시로 사용합니다.

Format Code  409 (English United States)  804 (Chinese PRC)
===========  ===========================  =================
m            11                           11
mm           11                           11
mmm          Nov                          十一月
mmmm         November                     十一月
d            27                           27
dd           27                           27
ddd          Mon                          二
dddd         Monday                       星期二
y            73                           73
yy           73                           73
yyy          1973                         1973
yyyy         1973                         1973
AM/PM        AM                           上午

따라서 최종적으로 2개의 다른 로케일 식별자를 가진 동일한 형식코드로 인해 다음과 같은 결과가 나타납니다.

[$-409]mmmm dd yyyy  h:mm AM/PM
November 27 1973  11:28 AM


[$-804]mmmm dd yyyy  h:mm AM/PM
十一月 27 1973  11:28 上午

로케일 코드의 리스트를 찾는 것은 톱니를 뽑는 것과 같기 때문에, 다음의 몇개의 참고 자료를 소개합니다.

언어 식별자 상수문자열(프라이머리 소스, archive.is)

로케일별로 정렬된 Windows 로케일 코드 (archive.is)

로케일별로 정렬된 Windows 로케일 코드 (archive.org, archive.is)

는 Naaf의 Grant Wagner에 했습니다.$-409이치노

세미콜론 뒤에 있는 '@'는 유효한 날짜 대신 문자열을 입력하는 경우 Excel에 데이터 처리 방법을 나타냅니다.@단순히 "모든 텍스트를 여기에 배치, 말 그대로"를 의미합니다.

요점을 설명하기 위한 간단한 예:

=TEXT("abc","hh:mm;@")
abc


=TEXT("abc","hh:mm;@@")
abcabc

텍스트 형식 지정 옵션에 대한 자세한 내용은 이 문서를 참조하십시오.

글에 설명이 있습니다.기본적으로 409는 "English - United States"의 로케일 ID입니다.사용하시는 경우[$-414]Norwegian (Bokmöl) 。

질문 (2)의 추측은 Raw data가 포맷되지 않고 문자열로 표시되는 것입니다.간단한 테스트를 통해 확인할 수 있습니다.

Excel 2007에는 모든 일반 포맷을 [-409]타입의 날짜 포맷으로 변경하는 버그가 있습니다.
[-409]는 OK입니다.
마이크로소프트사의 제품Large Excel 공유 Excel입니다.

모든 일반 형식이 날짜로 변경된 경우 셀 스타일로 이동한 후 일반을 마우스 오른쪽 버튼으로 클릭하고 일반을 다시 일반으로 수정하십시오.상자에 Normal 형식 유형이 표시됩니다.이것은 [-409]의 일부 버전이 아니라 일반적으로 '일반'이어야 하는 버그입니다.

결국 워크북에서 형식을 완전히 삭제해야 했습니다.이렇게 하려면 워크북을 공유 해제해야 합니다.워크북에서 위의 "일반" 셀 유형 아래에 있는 형식 [$409]을 삭제하려면 셀을 마우스 오른쪽 버튼으로 클릭하고 사용자 지정을 선택한 후 위에 표시된 [$409] 형식 유형을 찾을 때까지 스크롤한 후 모든 형식을 삭제한 후 다시 일반으로 돌아갑니다.

[$-409]상태가 아닌 것 같습니다.로케일 코드인 것 같습니다.

Custom 포맷으로 셀을 포맷하는 경우[$-409]m/d/yy h:mm AM/PM;@1/1/9셀의 포맷을 표시합니다.날짜 포맷이 표시됩니다.m/d/yy h:mm AM/PM로케일(장소)이 있는English (United States).

를 들어서 형식을 요.[$-439]m/d/yy h:mm AM/PM;@다른 언어로 된 셀의 내용을 볼 수 있습니다.

잘 모르겠어요.@올바른 글꼴 또는 로케일을 사용할 수 없는 경우 날짜를 표시하는 방법을 나타낼 수 있습니다.

다음은 Microsoft가 할당한 로케일 ID 목록입니다.

: TLDR t TLDR between between between$ ★★★★★★★★★★★★★★★★★」-는 숫자 for: in local code(로컬코드: 로컬코드: nothing for: no local code).[$-409]를 참조해 주세요.

Excel은 오래된 테크놀로지이기 때문에 자세한 내용을 조사하기 시작하면 오래된 시대의 잔존물(기술 채무)이 눈에 띄기 시작합니다.이것이 문서에서는 그다지 오래되지 않은 것 중 하나입니다.

내가 할 수 있었던 최고의 이야기는 다음과 같다.

MS-OE376 - v20160623 섹션 2.1.378 항목 b.에 언급되어 있다:

NFPartLocaleID = ASCII-LEFT-SQUARE-BRACKET ASCII-DILL-SIGNE 1*UTF16-ANY [ASCII-HYPEN-MINUS 3*8ASCII-DIGIT-HEXADECIMAL] ASCII-Right-SQUARE-BRACKET

ECMA-376 (제1판 / 2006년 12월) 사양의 제4부 섹션 3.8.31에서 마지막 엔트리에 다음과 같은 국제 고려사항이 기재되어 있다.

코드 포맷 묘사
[$D-409]

통화 및 로케일/날짜 시스템/번호 시스템 정보를 지정합니다.

구문은 [$ < Currency String > - < language info > ]입니다.통화 문자열은 통화 기호로 사용할 문자열입니다.언어 정보는 16진수 형식으로 입력된 32비트 값입니다.

언어 정보 형식(바이트 3이 가장 중요한 바이트):
바이트 0,1: 16비트 언어 ID(LID).
바이트 2: 캘린더 타입.높은 비트는 입력이 지정된 달력을 사용하여 구문 분석됨을 나타냅니다.
바이트 3: 번호 시스템 유형.높은 비트는 입력이 지정된 번호 체계를 사용하여 구문 분석됨을 나타냅니다.

MSDN 테크니컬 문서의 나머지 부분에서는 로케일 ID가 무엇인지 알아보려고 합니다.Excel이 Win32 어플리케이션이었을 때 32비트 LCID 구조가 어떻게 되어 있었는지에 대한 몇 가지 통찰이 제시되어 있습니다.

     [$-409] NFPartLocaleID
 0x00000409  <Language info>
          0          0          0          0          0          4          0          9
       0000       0000       0000       0000       0000       0100       0000       1001
+----------+----------+----------+----------+----------+----------+----------+----------+
                     3                     2                     1                     0  byte
+---------------------------------------------------------------------------------------+
|                                   Locale Identifier                                   |
+--------------------------------+----------+-------------------------------------------+
|            Reserved            | Sort ID  |                Language ID                |
+--------------------------------+----------+---------------------+---------------------+
 31                            20 19      16|   SubLanguage ID    | Primary Language ID |
                                            +---------------------+---------------------+
                                             15                 10 9                   0  bit

마지막으로 섹션 2.2MS-LCID v15.0으로 넘어가면 다음 내용을 나타내는 Language ID(2바이트) 테이블이 있습니다.

언어 ID 언어 태그
0x0409 미국 이외의

그래서 저는...[$-409][$-409]d h:mm:ss형식을 지정하는 통화 기호가 정의되지 않은 en-US로 읽힙니다.12.34~하듯이12 8:09:36,반면에.[$$-409] 0.00또는[$USD-409] 0.00그 형식은 다음과 같습니다.$ 12.34그리고.USD 12.34각각 다음과 같다.

언급URL : https://stackoverflow.com/questions/894805/excel-number-format-what-is-409

반응형