Gostaria de formatar uma célula no Microsoft Excel 2007 em hexadecimal, mas não estou descobrindo como fazer isso.
Existe uma maneira interna de alterar a base de 10 para 16 para uma célula?
fonte
Gostaria de formatar uma célula no Microsoft Excel 2007 em hexadecimal, mas não estou descobrindo como fazer isso.
Existe uma maneira interna de alterar a base de 10 para 16 para uma célula?
Conforme mencionado anteriormente, a fórmula = DEC2HEX (A1) é convertida em hexadecimal e DEC2HEX (A1,8) é convertida em hexadecimal com o prefixo 0 para indicar 32 bits. Embora a adição dos 0s iniciais torne os números mais legíveis, especialmente se você usar uma fonte de ponto fixo, as versões hexadecimal e decimal podem se confundir quando todos os dígitos do número forem de 0 a 9 (por exemplo, 327701 = 50015).
Uma melhoria é adicionar o prefixo "0x". Existem 2 maneiras de fazer isso. = "0x" & DEC2HEX (A1,8) farão o truque, mas ele altera o campo para um campo de texto, para que não possa mais ser usado com facilidade em fórmulas. Outro método é usar um formato personalizado. Se você aplicar o formato personalizado "0x" @ à célula, o valor da célula ainda poderá ser usado em uma equação. Exemplos:
╔═══╦════════════════╦════════════╦═══════════════ ══════════════╦═══════════════╗ ║ ║ A ║ B ║ ║ ║ ╠═══╬════════════════╬════════════╬═══════════════ ══════════════╬═══════════════╣ ║ 1 ║ Valor Formula Fórmula correspondente Format Formato numérico ║ ║ 2 ║ decimal ║ 11162790 ║ 11162790 ║ geral ║ ║ 3 ║ Hex ║ AA54A6 ║ = DEC2HEX (B2) ║ Geral ║ ║ 4 ║ 0s iniciais ║ 00AA54A6 ║ = DEC2HEX (B2,8) ║ Geral ║ ║ 5 ║ Prefixo do texto 0x (0x00AA54A6) = DEC2HEX (B2,8) ║ "0x" @ ║ (6) Texto prefixo 0x (0x00AA54A6) = "0x" e DEC2HEX (B2,8) (geral) ║ 7 ║ Use B5 ║ AA54A600 ║ = DEC2HEX (HEX2DEC (B5) * 256) ║ Geral ║ ║ 8 ║ Use B5 ║ 0xAA54A600 ║ = DEC2HEX (HEX2DEC (B5) * 256) ║ "0x" @ ║ ║ 9 ║ Tente usar B6 ║ # NÚM! ║ = DEC2HEX (HEX2DEC (B6) * 256) ║ Geral ║ ╚═══╩════════════════╩════════════╩═══════════════ ══════════════╩═══════════════╝
╔═══╦═════════════╦═══════════════╦═══════════════ ═════════════════════╦═════════╗ ║ ║ A ║ B ║ ║ ║ ╠═══╬═════════════╬═══════════════╬═══════════════ ═════════════════════╬═════════╣ ║ 1 ║ Valor Formula Fórmula correspondente ║ Formato ║ ║ 2 ║ decimal ║ 3.098.743.209 ║ 3098743209 ║ #, ## 0 ║ ║ 3 ║ Bytes superiores ║ B8B3 ║ = DEC2HEX (INT (B2 / 2 ^ 16), 4) ║ Geral ║ ║ 4 ║ Bytes inferiores ║ 11A9 ║ = DEC2HEX (MOD (B2, 2 ^ 16)) ║ Geral ║ ║ 5 Number Número completo ║ 0xB8B3_11A9 ║ = "0x" e DEC2HEX (INT (B2 / 2 ^ 16), 4) ║ Geral ║ ║ ║ ║ ║ & "_" & DEC2HEX (MOD (B2, 2 ^ 16), 4) ╚═══╩═════════════╩═══════════════╩═══════════════ ═════════════════════╩═════════╝
Se você deseja formatar uma célula para poder digitar um número decimal e exibi-la automaticamente como um número hexadecimal, isso não é possível. Você pode formatar a célula como texto e inserir números hexadecimais diretamente (mas observe que o Excel não pode usá-los para cálculos) ou usar as funções DEC2HEX()
e HEX2DEC()
para converter entre a base 10 e a base 16.
DEC2BIN()
que se converte em binário. Para binário largura fixa, uso algo como=TEXT(DEC2BIN(A1), "0000")
Se a célula a ser convertida for
A1
usada=DEC2HEX(A1)
.fonte
="0x"&DEC2HEX(A1,4)
para obter um resultado parecido0x1AF2
.Se você precisar executar operações matemáticas em números convertidos em hexadecimal, primeiro converta-os em decimais, execute a operação e depois converta novamente em hexadecimal.
Por exemplo, se a célula
A1
tiver um número hexadecimal, como seria criado a partir desta fórmula:que seria exibido como 11 e cell
A2
tem a fórmula:que seria exibido como
A5
e você deseja adicioná-los, essa fórmula obterá o resultado desejado:que seria exibido como
B6
fonte
A fórmula REPT repete o "0" com base no comprimento da cadeia hexadecimal gerada pela conversão de um decimal e no comprimento desejado da cadeia HEX. Neste exemplo, estou procurando gerar seqüências HEX de comprimento 4.
Em seguida, você concatena os zeros à esquerda na cadeia HEX real, gerando o valor HEX do comprimento desejado.
Vantagens:
Nota: Eu uso isso quando estou copiando seqüências de caracteres HEX e elas são copiadas em comprimentos variados. Primeiro, eu gero uma coluna de valores decimais a partir dos valores originais com os quais posso executar essa fórmula.
fonte
Aqui está uma solução que encontrei para garantir que posso formatar esses números hexadecimais no formato HTML:
fonte