16 진수로 Microsoft Excel 2007 셀을 포맷하는 방법은 무엇입니까?


27

16 진수로 Microsoft Excel 2007의 셀 형식을 원하지만이를 수행하는 방법을 찾지 못했습니다.

셀의 기본을 10에서 16으로 변경하는 기본 제공 방법이 있습니까?

답변:


18

앞에서 언급했듯이 수식 = DEC2HEX (A1)은 16 진수로 변환되고 DEC2HEX (A1,8)은 0 접두사가있는 16 진수로 변환되어 32 비트를 나타냅니다. 선행 0을 추가하면 숫자를 더 쉽게 읽을 수 있지만 특히 고정 소수점 글꼴을 사용하는 경우 숫자의 모든 숫자가 0-9가되면 16 진수 및 10 진수 버전이 혼합 될 수 있습니다 (예 : 327701 = 50015).

개선 된 기능은 "0x"접두사를 추가하는 것입니다. 이를 수행하는 두 가지 방법이 있습니다. = "0x"& DEC2HEX (A1,8)은 트릭을 수행하지만 필드를 텍스트 필드로 변경하므로 더 이상 수식에서 쉽게 사용할 수 없습니다. 다른 방법은 사용자 정의 형식을 사용하는 것입니다. 셀에 사용자 지정 형식 "0x"@를 적용하면 셀 값을 여전히 방정식에 사용할 수 있습니다. 예 :

╔ === ╦ ================= ╦ ============= ╦ ================ =============== ╦ ================= ╗
║ ║ A ║ B ║ ║ ║
╠ === ╬ ================= ╬ ============= ╬ ================ =============== ╬ ================= ╣
║ 1 ║ ║ 값 ║ 해당 수식 ║ 숫자 형식 ║
║ 2 ║ 10 진수 ║ 11162790 ║ 11162790 ║ 일반 ║
║ 3 ║ 16 진수 ║ AA54A6 ║ = DEC2HEX (B2) ║ 일반 ║
║ 4 ║ 선행 0 ║ 00AA54A6 ║ = DEC2HEX (B2,8) ║ 일반 ║
║ 5 ║ 텍스트 0x 접두사 ║ 0x00AA54A6 ║ = DEC2HEX (B2,8) ║ "0x"@ ║
║ 6 ║ 텍스트 0x 접두사 ║ 0x00AA54A6 ║ = "0x"& DEC2HEX (B2,8) ║ 일반 ║
║ 7 ║ B5 사용 ║ AA54A600 ║ = DEC2HEX (HEX2DEC (B5) * 256) ║ 일반 ║
║ 8 ║ B5 사용 ║ 0xAA54A600 ║ = DEC2HEX (HEX2DEC (B5) * 256) ║ "0x"@ ║
║ 9 ║ B6 ║ #NUM을 사용해보십시오! ║ = DEC2HEX (HEX2DEC (B6) * 256) ║ 일반 ║
╚ === ╩ ================= ╩ ============= ╩ ================ =============== ╩ ================= ╝


그러나 다양한 자릿수를 가진 큰 숫자는 여전히 읽기 어려울 수 있으므로 쉼표를 10 진수로, "_"를 16 진수로 입력하고 싶습니다. 먼저 숫자의 상위 및 하위 16 비트를 가져와야합니다. 32 비트 숫자의 상위 16 비트는 = INT (A1 / 2 ^ 16)로 검색 할 수 있습니다. 2 ^ 16으로 나누면 16 비트의 오른쪽 이동처럼 작동하고 INT는 소수 부분을 제거합니다. MOD를 사용하여 32 또는 64 비트 수의 하위 16 비트를 얻을 수 있습니다. = MOD (A1, 2 ^ 16). MOD는 나머지 16 비트를 효과적으로 다시 가져옵니다. 다음은이를 실제로 보여주는 표입니다.

╔ === ╦ ============== ╦ ================ ╦ ================ ======================= ╦ ===========
║ ║ A ║ B ║ ║ ║
╠ === ╬ ============== ╬ ================ ╬ ================ ======================= ╬ ===========
║ 1 ║ ║ 값 ║ 해당 수식 ║ 형식 ║
║ 2 ║ 소수 ║ 3,098,743,209 ║ 3098743209 ║ #, ## 0 ║
By 3 ║ 상위 바이트 ║ B8B3 ║ = DEC2HEX (INT (B2 / 2 ^ 16), 4) ║ 일반 ║
║ 4 ║ 하위 바이트 ║ 11A9 ║ = DEC2HEX (MOD (B2, 2 ^ 16)) ║ 일반 ║
║ 5 ║ 정수 ║ 0xB8B3_11A9 ║ = "0x"& DEC2HEX (INT (B2 / 2 ^ 16, 4) ║ 일반 ║
║ ║ ║ ║ & "_"& DEC2HEX (MOD (B2, 2 ^ 16), 4) ║ ║
╚ === ╩ ============== ╩ ================ ╩ ================ ======================= ╩ ===========


BTW, https://ozh.github.io/ascii-tables/ 덕분에 큰 감사를드립니다 . 해당 링크를 사용하여 ASCII 텍스트 테이블을 만들었습니다. 방금 Excel 스프레드 시트에서 입력 섹션으로 테이블을 복사하고 멋진 유니 코드 텍스트 레이아웃을 자동으로 만들었습니다.


16

십진수를 입력하고 자동으로 16 진수로 표시되도록 셀의 서식을 지정하려면 불가능합니다. 셀을 텍스트로 서식을 지정하고 16 진수를 직접 입력하거나 (Excel에서는 계산에 사용할 수 없음) DEC2HEX()HEX2DEC()함수를 사용하여 10 진수와 16 진수 사이를 변환 할 수 있습니다.


1
참고 DEC2BIN()로 바이너리로 변환하는 것도 있습니다 . 고정 폭 바이너리의 경우 다음과 같이 사용하십시오.=TEXT(DEC2BIN(A1), "0000")
Tor Klingberg

1
독일어로 지역화 된 Excel 2013에서 DEC2HEX 및 HEX2DEC는 오류 메시지 #NAME?을 발생시킵니다. Office 도움말을 통해 함수가 DEZINHEX 및 HEXINDEZ라고하는 것을 알 수 있습니다.
Bernhard Hiller

= 0x1234AB를 = 0x001234AB로 확장하려면 어떻게해야합니까 (고정 너비 8 필요)?
Danijel

@Danijel DEC2HEX의 두 번째 매개 변수를 사용하십시오.
Vincent G

7

변환 할 셀이 A1사용 된 경우 =DEC2HEX(A1).


2
16 진수 값에 선행 "0x"를 추가 할 수 있습니다. ="0x"&DEC2HEX(A1,4)다음과 같은 결과를 얻는 데 사용하십시오 0x1AF2.
5910

4

16 진수로 변환 된 숫자에 대해 수학 연산을 수행해야하는 경우 먼저 10 진수로 변환하고 연산을 수행 한 다음 16 진수로 다시 변환하십시오.

예를 들어, 셀 A1에 16 진수가있는 경우 (예 :이 공식에서 작성)

=DEC2HEX(17)

11로 표시되고 셀 A2에는 수식이 있습니다.

=DEC2HEX(165)

로 표시되고 A5함께 추가하려는 경우이 수식은 원하는 결과를 얻습니다.

=DEC2HEX(HEX2DEC(A1)+HEX2DEC(A2))

로 표시됩니다 B6


1
=REPT("0",4-LEN(DEC2HEX(B3)))&DEC2HEX(B3)

REPT 수식은 10 진수 문자열을 변환하여 생성 된 16 진 문자열의 길이와 원하는 HEX 문자열 길이를 기준으로 "0"을 반복합니다. 이 예에서는 길이가 4 인 HEX 문자열을 생성하려고합니다.

그런 다음 선행 0을 실제 HEX 문자열에 연결하여 원하는 길이의 HEX 값을 생성합니다.

장점 :

  1. 수식을 다른 워크 시트에 쉽게 대처할 수 있습니다. 재 할당 할 10 진수 값 B3에 대한 두 개의 셀 참조 만 있습니다.
  2. 이 수식의 결과는 Excel에서 HEX 값으로 처리됩니다. "0x"접두사를 사용할 수도 있지만 꼭 필요한 것은 아닙니다.

참고 : 16 진수 문자열을 복사 할 때 이것을 사용하고 길이가 다양하게 복사됩니다. 먼저 원래 값에서 10 진수 열을 생성 한 다음이 수식을 실행할 수 있습니다.


0

이 16 진수를 HTML 형식으로 포맷 할 수 있는지 확인한 해결책은 다음과 같습니다.

SWITCH(LEN(DEC2HEX(B6)),1,"000"&DEC2HEX(B6),2,"00"&DEC2HEX(B6),3,"0"&DEC2HEX(B6),4,DEC2HEX(B6))

2
코드에서 무슨 일이 일어나고 있는지에 대한 설명은 대답을 더 유용하게 만듭니다.
WilliamKF
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.