Microsoft Excel 2007의 셀 형식을 16진수로 지정하고 싶지만 이 작업을 수행하는 방법을 찾지 못했습니다.
셀의 기준을 10에서 16으로 변경하는 기본 제공 방법이 있습니까?
답변1
앞서 언급한 대로 =DEC2HEX(A1) 공식은 16진수로 변환되고, DEC2HEX(A1,8)은 32비트를 나타내기 위해 접두어가 0인 16진수로 변환됩니다. 앞에 0을 추가하면 숫자를 더 읽기 쉽게 만들 수 있지만, 특히 고정 소수점 글꼴을 사용하는 경우 숫자의 모든 숫자가 0-9인 경우(예: 327701=50015) 16진수 버전과 10진수 버전이 혼동될 수 있습니다.
개선 사항은 "0x" 접두사를 추가하는 것입니다. 이를 수행하는 방법에는 두 가지가 있습니다. ="0x"&DEC2HEX(A1,8)은 트릭을 수행하지만 필드를 텍스트 필드로 변경하므로 더 이상 수식에서 쉽게 사용할 수 없습니다. 또 다른 방법은 사용자 정의 형식을 사용하는 것입니다. 사용자 정의 형식 "0x"@을 셀에 적용하면 셀 값을 방정식에서 계속 사용할 수 있습니다. 예:
╔===╦================1 뚜뚜뚜뚜 ║ ║ A ║ B ║ ║ ║ ╠===╬===============1 ==============╬=============군의 ║ 1 ║ ║ 값 ║ 해당 수식 ║ 숫자 형식 ║ ║ 2 ║ 십진수 ║ 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비트인 나머지 부분을 효과적으로 다시 가져옵니다. 다음은 이를 실제로 보여주는 표입니다.
╔===╦=============1 =====================╦==========╗ ║ ║ A ║ B ║ ║ ║ ╠===╬=============1 =====================╬======군의 ║ 1 ║ ║ 값 ║ 해당 수식 ║ 형식 ║ ║ 2 ║ 십진수 ║ 3,098,743,209 ║ 3098743209 ║ #,##0 ║ ║ 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) ║ ║ ╚===╩=============╩==============╩============== =====================1
그런데, 정말 감사해야겠어요https://ozh.github.io/ascii-tables/. 저는 해당 링크를 사용하여 ASCII 텍스트 테이블을 만들었습니다. 방금 Excel 스프레드시트의 테이블을 입력 섹션에 복사했고 멋진 유니코드 텍스트 레이아웃이 자동으로 생성되었습니다.
답변2
10진수를 입력하고 자동으로 16진수로 표시되도록 셀 서식을 지정하려는 경우에는 불가능합니다. 셀 서식을 텍스트로 지정하고 16진수를 직접 입력할 수 있습니다(단, Excel에서는 이를 계산에 사용할 수 없음). DEC2HEX()
및 HEX2DEC()
함수를 사용하여 10진수와 16진수 간을 변환할 수 있습니다.
답변3
변환할 셀을 A1
사용 하는 경우 =DEC2HEX(A1)
.
답변4
=REPT("0",4-LEN(DEC2HEX(B3)))&DEC2HEX(B3)
REPT 수식은 10진수에서 변환하여 생성된 16진수 문자열의 길이와 원하는 16진수 문자열 길이를 기준으로 "0"을 반복합니다. 이 예에서는 길이가 4인 HEX 문자열을 생성하려고 합니다.
그런 다음 선행 0을 실제 HEX 문자열에 연결하여 원하는 길이의 HEX 값을 생성합니다.
장점:
- 수식을 다른 워크시트에 쉽게 복사할 수 있습니다. 다시 할당할 10진수 값 B3에 대한 두 개의 셀 참조만 사용합니다.
- 이 수식의 결과는 Excel에서 HEX 값으로 처리됩니다. "0x"라는 접두사를 붙일 수도 있지만 그럴 필요는 없습니다.
참고: HEX 문자열을 복사할 때 이를 사용하며 다양한 길이로 복사됩니다. 먼저 이 공식을 실행할 수 있는 원래 값에서 소수 값 열을 생성합니다.