If you want to format a cell so that you can type in a decimal number and automatically have it displayed as a hexadecimal number, then that's not possible. You can either format the cell as text and enter hexadecimal numbers directly (but note that Excel cannot use those for calculations), or use the DEC2HEX()
and HEX2DEC()
functions to convert between base 10 and base 16.
Как отформатировать ячейку Microsoft Excel 2007 в шестнадцатеричном формате?
Я хотел бы отформатировать ячейку в Microsoft Excel 2007 в шестнадцатеричном формате, но я не нашел, как это сделать.
Есть ли встроенный способ изменить базу с 10 на 16 для клетки?
6 ответов на вопрос
- Популярные
- Новые
- С комментариями
- Активные
Как упоминалось ранее, формула = DEC2HEX (A1) преобразуется в шестнадцатеричный формат, а DEC2HEX (A1,8) преобразуется в шестнадцатеричный с префиксом 0 для обозначения 32 битов. Хотя добавление начальных 0 делает числа более читабельными, особенно если вы используете шрифт с фиксированной запятой, шестнадцатеричная и десятичная версии могут смешиваться, когда все цифры в номере оказываются 0-9 (например, 327701 = 50015).
Улучшение заключается в добавлении префикса «0x». Есть 2 способа сделать это. = "0x" & DEC2HEX (A1,8) добьется цели, но изменит поле на текстовое, так что его уже нельзя будет легко использовать в формулах. Другой способ - использовать пользовательский формат. Если вы примените пользовательский формат «0x» @ к ячейке, тогда значение ячейки все еще может быть использовано в уравнении. Примеры:
╔═══╦════════════════╦════════════╦═══════════════ ══════════════╦═══════════════╗ ║ ║ A ║ B ║ ║ ║ ╠═══╬════════════════╬════════════╬═══════════════ ══════════════╬═══════════════╣ ║ 1 ║ ║ Значение ║ Соответствующая формула ║ Числовой формат ║ ║ 2 ║ Десятичное число ║ 11162790 ║ 11162790 ║ Общее ║ ║ 3 ║ Hex ║ 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) ║ Общие сведения ║ ╚═══╩════════════════╩════════════╩═══════════════ ══════════════╩═══════════════╝
Тем не менее, большие числа с разными цифрами все еще трудно читать, поэтому я предпочитаю ставить запятые в десятичные числа, а "_" - в шестнадцатеричные числа. Сначала вам нужно получить верхний и нижний 16 бит числа. Старшие 16 бит 32-битного числа могут быть получены с помощью = INT (A1 / 2 ^ 16). Деление на 2 ^ 16 действует как сдвиг вправо на 16 бит, а INT удаляет дробный остаток. MOD может использоваться для получения младших 16 бит любого 32- или 64-битного числа; = MOD (A1, 2 ^ 16). Мод эффективно возвращает остаток, то есть младшие 16 бит. Вот таблица, которая показывает это в действии.
╔═══╦═════════════╦═══════════════╦═══════════════ ═════════════════════╦═════════╗ ║ ║ A ║ B ║ ║ ║ ╠═══╬═════════════╬═══════════════╬═══════════════ ═════════════════════╬═════════╣ ║ 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) ║ ║ ╚═══╩═════════════╩═══════════════╩═══════════════ ═════════════════════╩═════════╝
Кстати, я должен поблагодарить https://ozh.github.io/ascii-tables/ . Я использовал эту ссылку для создания текстовых таблиц ASCII. Я просто скопировал таблицу из моей таблицы Excel в ее раздел ввода, и она автоматически создала красивую разметку текста в юникоде.
If cell to be converted is A1
use =DEC2HEX(A1)
.
If you need to perform mathematical operations on numbers converted to hex, first convert them to decimal, perform the operation, then convert back to hex.
For example, if cell A1
has a hex number, such as would be created from this formula:
=DEC2HEX(17)
which would be displayed as 11, and cell A2
has formula:
=DEC2HEX(165)
which would be displayed as A5
, and you want to add them together, then this formula would get the desired result:
=DEC2HEX(HEX2DEC(A1)+HEX2DEC(A2))
which would be displayed as B6
=REPT("0",4-LEN(DEC2HEX(B3)))&DEC2HEX(B3)
Формула REPT повторяет «0» в зависимости от длины шестнадцатеричной строки, сгенерированной путем преобразования ее из десятичной, и требуемой длины строки HEX. В этом примере я хочу сгенерировать строки HEX длиной 4.
Затем вы объединяете ведущие нули в фактическую строку HEX, тем самым генерируя значение HEX желаемой длины.
Преимущества:
- Простое копирование формулы в другой лист. Только две ссылки на ячейку для десятичного значения, B3, для переназначения.
- Результаты этой формулы обрабатываются Excel как значения HEX. Вы также можете добавить префикс «0x», но я не считаю это необходимым.
Примечание: я использую это, когда копирую строки HEX, и они копируются с различной длиной. Сначала я генерирую столбец десятичных значений из исходных значений, с которыми затем могу запустить эту формулу.
Вот решение, которое я нашел, чтобы убедиться, что я могу отформатировать эти шестнадцатеричные числа в формат HTML:
SWITCH(LEN(DEC2HEX(B6)),1,"000"&DEC2HEX(B6),2,"00"&DEC2HEX(B6),3,"0"&DEC2HEX(B6),4,DEC2HEX(B6))
Похожие вопросы
-
4
MSFT Excel сводная таблица ссылки на внешние данные
-
3
Как обновить все функции в Excel 2007?
-
2
Коды ASCII появляются в Excel '03, но не в '07
-
-
1
Добавление пользовательского формата в выпадающее меню формата в Excel 2007
-
8
Как я могу получить ячейку в Excel, чтобы автоматически регулировать ее высоту, чтобы соответствоват...
-
4
Открыть несколько экземпляров Excel без сообщения блокировки PERSONAL.xlsb
-
2
Шрифт гиперссылки в Excel всегда меняется на шрифт / размер шрифта по умолчанию
-
4
Как преобразовать столбец текста в верхний регистр в Excel 2007 без создания нового столбца?
-
3
Есть ли способ настроить Excel 2007, возможно, с помощью надстройки, позволяющей сохранять электронн...
-
2
Определите формат, который можно ввести в ячейку Excel