Me gustaría formatear una celda en Microsoft Excel 2007 en hexadecimal, pero no encuentro cómo hacerlo.
¿Hay una forma integrada de cambiar la base de 10 a 16 para una celda?
fuente
Me gustaría formatear una celda en Microsoft Excel 2007 en hexadecimal, pero no encuentro cómo hacerlo.
¿Hay una forma integrada de cambiar la base de 10 a 16 para una celda?
Como se mencionó anteriormente, la fórmula = DEC2HEX (A1) se convierte en hexadecimal, y DEC2HEX (A1,8) se convierte en hexadecimal con 0 prefijo para denotar 32 bits. Si bien agregar los 0 iniciales hace que los números sean más legibles, especialmente si usa una fuente de punto fijo, las versiones hexadecimal y decimal pueden confundirse cuando todos los dígitos del número son 0-9 (por ejemplo, 327701 = 50015).
Una mejora es agregar el prefijo "0x". Hay 2 formas de hacer esto. = "0x" y DEC2HEX (A1,8) harán el truco, pero cambia el campo a un campo de texto, por lo que ya no se puede usar fácilmente en las fórmulas. Otro método es usar un formato personalizado. Si aplica el formato personalizado "0x" @ a la celda, el valor de la celda aún puede usarse en una ecuación. Ejemplos:
╔═══╦════════════════╦════════════╦═══════════════ ══════════════╦═══════════════╗ ║ ║ A ║ B ║ ║ ║ ╠═══╬════════════════╬════════════╬═══════════════ ══════════════╬═══════════════╣ ║ 1 ║ ║ Valor ║ Fórmula correspondiente ║ Formato de número ║ ║ 2 ║ Decimal ║ 11162790 ║ 11162790 ║ General ║ ║ 3 ║ Hex ║ AA54A6 ║ = DEC2HEX (B2) ║ General ║ ║ 4 ║ ceros a la izquierda ║ 00AA54A6 ║ = DEC2HEX (B2,8) ║ General ║ ║ 5 ║ Texto 0x prefijo ║ 0x00AA54A6 ║ = DEC2HEX (B2,8) ║ "0x" @ ║ ║ 6 ║ Texto 0x prefijo ║ 0x00AA54A6 ║ = "0x" y DEC2HEX (B2,8) ║ General ║ ║ 7 ║ Use B5 ║ AA54A600 ║ = DEC2HEX (HEX2DEC (B5) * 256) ║ General ║ ║ 8 ║ Use B5 ║ 0xAA54A600 ║ = DEC2HEX (HEX2DEC (B5) * 256) ║ "0x" @ ║ ║ 9 ║ ¡Intenta usar B6 ║ #NUM! ║ = DEC2HEX (HEX2DEC (B6) * 256) ║ General ║ ╚═══╩════════════════╩════════════╩═══════════════ ══════════════╩═══════════════╝
╔═══╦═════════════╦═══════════════╦═══════════════ ═════════════════════╦═════════╗ ║ ║ A ║ B ║ ║ ║ ╠═══╬═════════════╬═══════════════╬═══════════════ ═════════════════════╬═════════╣ ║ 1 ║ ║ Valor ║ Fórmula correspondiente ║ Formato ║ ║ 2 ║ Decimal ║ 3,098,743,209 ║ 3098743209 ║ #, ## 0 ║ ║ 3 ║ Bytes superiores ║ B8B3 ║ = DEC2HEX (INT (B2 / 2 ^ 16), 4) ║ General ║ ║ 4 ║ Bytes inferiores ║ 11A9 ║ = DEC2HEX (MOD (B2, 2 ^ 16)) ║ General ║ ║ 5 ║ Número completo ║ 0xB8B3_11A9 ║ = "0x" y DEC2HEX (INT (B2 / 2 ^ 16), 4) ║ General ║ ║ ║ ║ ║ & "_" y DEC2HEX (MOD (B2, 2 ^ 16), 4) ║ ║ ╚═══╩═════════════╩═══════════════╩═══════════════ ═════════════════════╩═════════╝
Si desea formatear una celda para poder escribir un número decimal y mostrarlo automáticamente como un número hexadecimal, entonces eso no es posible. Puede formatear la celda como texto e ingresar números hexadecimales directamente (pero tenga en cuenta que Excel no puede usarlos para los cálculos), o usar las funciones DEC2HEX()
y HEX2DEC()
para convertir entre la base 10 y la base 16.
DEC2BIN()
que convierte a binario. Para binarios de ancho fijo, use algo como=TEXT(DEC2BIN(A1), "0000")
Si la celda a convertir es
A1
usar=DEC2HEX(A1)
.fuente
="0x"&DEC2HEX(A1,4)
para obtener un resultado similar a este0x1AF2
.Si necesita realizar operaciones matemáticas en números convertidos a hexadecimal, primero conviértalos a decimal, realice la operación y luego vuelva a convertir a hexadecimal.
Por ejemplo, si la celda
A1
tiene un número hexadecimal, como se crearía a partir de esta fórmula:que se mostrará como 11, y la celda
A2
tiene la fórmula:que se mostrará como
A5
, y desea agregarlos juntos, entonces esta fórmula obtendría el resultado deseado:que se mostraría como
B6
fuente
La fórmula REPT repite el "0" en función de la longitud de la cadena hexadecimal que se genera al convertirla desde un decimal y la longitud deseada de la cadena HEX. En este ejemplo, estoy buscando generar cadenas HEX de longitud 4.
Luego concatena los ceros a la cadena HEX real, generando así el valor HEX de la longitud deseada.
Ventajas:
Nota: Utilizo esto cuando estoy copiando cadenas HEX y se copian a diferentes longitudes. Primero genero una columna de valores decimales a partir de los valores originales con los que puedo ejecutar esta fórmula.
fuente
Aquí hay una solución que encontré para asegurarme de que puedo formatear estos números hexadecimales en formato HTML:
fuente