Шестнадцатиричный формат ячейки в excel

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

В этой статье описаны синтаксис формулы и использование функции ДЕС.В.ШЕСТН в Microsoft Excel.

Описание

Преобразует десятичное число в шестнадцатеричное.

Синтаксис

ДЕС.В.ШЕСТН(число;[разрядность])

Аргументы функции ДЕС.В.ШЕСТН описаны ниже.

  • Число    — обязательный аргумент. Преобразуемое десятичное число. Если оно отрицательное, то разрядность игнорируется и функция ДЕС.В.ШЕСТН возвращает 10-значное (40-битное) шестнадцатеричное число, в котором самый старший бит является знаковым битом. Остальные 39 бит являются битами значения. Отрицательные числа представляются в дополнительных кодах.

  • Разрядность    Необязательный. Количество знаков в записи числа. Если разрядность опущена, функция ДЕС.В.ШЕСТН использует минимально необходимое количество знаков. Разрядность используется, чтобы приписать возвращаемому значению ведущие нули.

Замечания

  • Если число < -549 755 813 888 или число > 549 755 813 887, то DEC2HEX возвращает #NUM! значение ошибки #ЗНАЧ!.

  • Если число не является числом, то DEC2HEX возвращает #VALUE! значение ошибки #ЗНАЧ!.

  • Если для результата DEC2HEX требуется больше количества знаков Знаков знаков Знаков после заданного числа знаков Знаков после заданного числа знаков, возвращается #NUM! значение ошибки #ЗНАЧ!.
    Например, DEC2HEX(64;1) возвращает значение ошибки, так как для результата (40) требуется два знака.

  • Если значение аргумента «разрядность» не является целым числом, оно усекается.

  • Если число не является числом, то DEC2HEX возвращает #VALUE! значение ошибки #ЗНАЧ!.

  • Если «количество» отрицательное, то DEC2HEX возвращает #NUM! значение ошибки #ЗНАЧ!.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Формула

Описание

Результат

=ДЕС.В.ШЕСТН(100;4)

Преобразует десятичное число 100 в шестнадцатеричное из 4 знаков (с «приписанными» двумя ведущими нулями).

0064

=ДЕС.В.ШЕСТН(-54)

Преобразует десятичное значение -54 в шестнадцатеричное

FFFFFFFFCA

=ДЕС.В.ШЕСТН(28)

Преобразует десятичное значение 28 в шестнадцатеричное.

1C

=ДЕС.В.ШЕСТН(64;1)

Возвращает #NUM! из-за того, что для результата (40) требуется 2 знака.

#ЧИСЛО!

Нужна дополнительная помощь?


Я хотел бы отформатировать ячейку в Microsoft Excel 2007 в шестнадцатеричном формате, но я не нашел, как это сделать.

Есть ли встроенный способ изменить базу с 10 на 16 для клетки?

Ответы:


Как упоминалось ранее, формула = 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 в ее раздел ввода, и она автоматически создала красивую разметку текста в юникоде.


Если вы хотите отформатировать ячейку, чтобы можно было ввести десятичное число и автоматически отобразить ее в виде шестнадцатеричного числа, то это невозможно. Вы можете форматировать ячейки в виде текста и введите число шестнадцатеричного непосредственно (но обратите внимание , что Excel не может использовать те , для расчетов), или использовать DEC2HEX()и HEX2DEC()функцию для преобразования между основанием 10 и основанием 16.






Если ячейка для преобразования является A1использование =DEC2HEX(A1).



Если вам нужно выполнить математические операции с числами, преобразованными в шестнадцатеричные числа, сначала преобразуйте их в десятичные числа, выполните операцию, а затем верните обратно в шестнадцатеричное число.

Например, если ячейка A1имеет шестнадцатеричное число, например, созданное по этой формуле:

=DEC2HEX(17)

который будет отображаться как 11, и ячейка A2имеет формулу:

=DEC2HEX(165)

который будет отображаться как A5, и вы хотите добавить их вместе, тогда эта формула получит желаемый результат:

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

который будет отображаться как B6


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

Формула REPT повторяет «0» в зависимости от длины шестнадцатеричной строки, сгенерированной путем преобразования ее из десятичной, и требуемой длины строки HEX. В этом примере я хочу сгенерировать строки HEX длиной 4.

Затем вы объединяете ведущие нули в фактическую строку HEX, тем самым генерируя значение HEX желаемой длины.

Преимущества:

  1. Простое копирование формулы в другой лист. Только две ссылки на ячейку для десятичного значения, B3, для переназначения.
  2. Результаты этой формулы обрабатываются Excel как значения HEX. Вы также можете добавить префикс «0x», но я не считаю это необходимым.

Примечание: я использую это, когда копирую строки HEX, и они копируются с различной длиной. Сначала я генерирую столбец десятичных значений из исходных значений, с которыми затем могу запустить эту формулу.


Вот решение, которое я нашел, чтобы убедиться, что я могу отформатировать эти шестнадцатеричные числа в формат HTML:

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


As mentioned earlier, the formula =DEC2HEX(A1) converts to hex, and DEC2HEX(A1,8) converts to hex with 0 prefix to denote 32 bits. While adding the leading 0’s makes the numbers more readable, especially if you use a fixed point font, the hex and decimal versions can get mixed up when all of the digits in the number happen to be 0-9 (e.g. 327701=50015).

An improvement is to add the «0x» prefix. There are 2 ways to do this. =»0x»&DEC2HEX(A1,8) will do the trick, but it changes the field to a text field, so it can no longer easily be used in formulas. Another method is to use a custom format. If you apply the custom format «0x»@ to the cell, then the value of the cell can still be used in an equation. Examples:

╔═══╦════════════════╦════════════╦═════════════════════════════╦═══════════════╗
║   ║       A        ║     B      ║                             ║               ║
╠═══╬════════════════╬════════════╬═════════════════════════════╬═══════════════╣
║ 1 ║                ║ Value      ║ Corresponding Formula       ║ Number Format ║
║ 2 ║ Decimal        ║ 11162790   ║ 11162790                    ║ General       ║
║ 3 ║ Hex            ║ AA54A6     ║ =DEC2HEX(B2)                ║ General       ║
║ 4 ║ leading 0's    ║ 00AA54A6   ║ =DEC2HEX(B2,8)              ║ General       ║
║ 5 ║ Text 0x prefix ║ 0x00AA54A6 ║ =DEC2HEX(B2,8)              ║ "0x"@         ║
║ 6 ║ Text 0x prefix ║ 0x00AA54A6 ║ ="0x" & DEC2HEX(B2,8)       ║ General       ║
║ 7 ║ Use B5         ║ AA54A600   ║ =DEC2HEX(HEX2DEC(B5) * 256) ║ General       ║
║ 8 ║ Use B5         ║ 0xAA54A600 ║ =DEC2HEX(HEX2DEC(B5) * 256) ║ "0x"@         ║
║ 9 ║ Try to use B6  ║ #NUM!      ║ =DEC2HEX(HEX2DEC(B6) * 256) ║ General       ║
╚═══╩════════════════╩════════════╩═════════════════════════════╩═══════════════╝

However, large numbers with varying digits can still be hard to read, so I like to put commas into decimal numbers and «_»s into hex numbers. First you need to get the upper and lower 16 bits of the number. The upper 16 bits of a 32-bit number can be retrieved with = INT( A1 / 2^16 ). Dividing by 2^16 acts like a right shift of 16 bits, and the INT removes the fractional remainder. MOD can be used to get the lower 16 bits of any 32 or 64-bit number; =MOD(A1, 2^16). The MOD effectively gets the remainder back, which is the lower 16 bits. Here is a table that shows this in action.

╔═══╦═════════════╦═══════════════╦════════════════════════════════════╦═════════╗
║   ║      A      ║      B        ║                                    ║         ║
╠═══╬═════════════╬═══════════════╬════════════════════════════════════╬═════════╣
║ 1 ║             ║ Value         ║ Corresponding Formula              ║ Format  ║
║ 2 ║ Decimal     ║ 3,098,743,209 ║ 3098743209                         ║ #,##0   ║
║ 3 ║ Upper Bytes ║ B8B3          ║ =DEC2HEX(INT( B2/2^16 ), 4)        ║ General ║
║ 4 ║ Lower Bytes ║ 11A9          ║ =DEC2HEX(MOD( B2, 2^16 ))          ║ General ║
║ 5 ║ Full Number ║ 0xB8B3_11A9   ║ ="0x" & DEC2HEX(INT( B2/2^16 ), 4) ║ General ║
║   ║             ║               ║ & "_" & DEC2HEX(MOD(B2, 2^16), 4)  ║         ║
╚═══╩═════════════╩═══════════════╩════════════════════════════════════╩═════════╝

BTW, I have to give a big thanks to https://ozh.github.io/ascii-tables/. I used that link to create the ASCII text tables. I just copied the table from my excel spreadsheet into its Input section and it automatically created the nice unicode text layout.

Изучим стандартные способы перевода чисел в различные системы счисления в Excel: двоичную, восьмеричную, десятичную и шестнадцатеричную.

Помимо повсеместно распространенной и всем нам хорошо известной десятичной системы счисления также используются и системы с другими основаниями (отличными от 10), например, двоичная, троичная, восьмеричная и т.д.
Большинство из них имеют достаточно широкое применение практически во всех современных электронных устройствах, в программировании или компьютерной документации.

В Excel есть возможность стандартными средствами переводить данные в четырех системах счисления:

Таблица систем счисления
Давайте подробно остановимся на основных вариантах преобразования данных.

Перевод числа из десятичной в двоичную систему в Excel

Для преобразования данных в двоичную запись в Excel существует стандартная функция ДЕС.В.ДВ (имя функции получается как первые буквы от слов ДЕСятичное В ДВоичное, дополнительно разделенное точками):

ДЕС.В.ДВ(число; [разрядность])
Преобразует десятичное число в двоичное.

  • Число (обязательный аргумент) — десятичное целое число, которое требуется преобразовать;
  • Разрядность (необязательный аргумент) — количество знаков для использования в записи.
    Данный аргумент необходим если нужно приписать к двоичной записи данных ведущие нули. К примеру, число 1101 с разрядностью 7 будет иметь вид 0001101.

Обратите внимание, что Excel накладывает определенные ограничения на размер преобразуемых данных.
Двоичная запись не должна занимать более 10 знаков, поэтому десятичное число, соответственно, не должно быть больше 511 или меньше -512, иначе в качестве значения функция ДЕС.В.ДВ вернет ошибку.

Перевод из 10-й записи в 2-ую

Перевод числа из двоичной в десятичную систему в Excel

Для осуществления обратного перевода можно воспользоваться функцией ДВ.В.ДЕС:

ДВ.В.ДЕС(число)
Преобразует двоичное число в десятичное.

  • Число (обязательный аргумент) — двоичное число, которое требуется преобразовать.

При этом разрядность в качестве аргумента функции для десятичной записи не используется.
Как и в случае с функцией ДЕС.В.ДВ при использовании ДВ.В.ДЕС существует ограничение на размер преобразуемых данных — не более 10 знаков в записи, в ином случае функция вернет значение ошибки.

Перевод из 2-й записи в 10-ую

Перевод в других системах счисления

Для других систем счисления (восьмеричной, шестнадцатеричной) также определен набор стандартных формул.
Для удобства мы составили таблицу со схемой выбора формулы для преобразования данных (в левом столбце указано откуда переводим данные, в верхней строчке — куда переводим):

Формулы перевода
Как и в примерах выше имена функций образуются по достаточно простому правилу — берутся первые буквы от названий систем в которых преобразуются данные и разделяются точками (ВОСЬМеричное В ШЕСТНадцатеричное и пр.)

Арифметические операции с данными

Операции в Excel осуществляются в десятичной системе счисления, поэтому при применении арифметических действий (сложение, вычитание и т.д.) для преобразованных данных учитывайте, что конечный результат также будет записан в десятичной записи:

Сложение данных. Неправильный расчет
Чтобы избежать подобной проблемы, необходимо сначала перевести все данные в десятичный вид, произвести требуемые вычисления, а уже затем вновь преобразовать полученный результат в исходную систему счисления:

Сложение данных. Правильный расчет

Удачи вам и до скорых встреч на страницах блога Tutorexcel.ru!

Поделиться с друзьями:
Поиск по сайту:

Собсбвенно задача преобразовать из текстовой строки, описывающей число в 16тиричной кодировке (2-12) разрядов получить десятичное число для выполнения матопераций, а затем результат опять перегнать в 16тиричное представление и текстовый формат. Что-то весь хелп облазил — не нашел, только десятичное похоже представление обрабатывается. Может какие-то готовые макросы/плагины… есть ?

 

Макрос на бейсике, оформить в виде пользовательской функции. (точнее, двух — прямой и обратной)

 

Перевод туда и обратно: Формула =ДЕС.В.ШЕСТН(ШЕСТН.В.ДЕС(D33) * ШЕСТН.В.ДЕС(A33))?

 

Напимер, тупо вот такая функция:

Function hex2dec(hhh)
Dim d As Double, n As Integer

d = 0
hhh = trim(hhh) ‘удаляет пробелы с обеих сторон
For n = Len(hhh) To 1 Step -1
d = d + (Val(«&h» & Mid$(hhh, n, 1)) * (16 ^ (Len(hhh) — n)))
Next

hex2dec = d
End Function

На входе строка hhh, изображающая шестнадцатерическое число (например, ffffffffffff ), на выходе результат (в данном случае выдаст 2,81475E+14)

Только ужо Вам самому придется следить, чтобы на вход не попали некорректные данные. Например, «qwerty» будет переведено как 57344, то есть, воспринято как шестнадцатеричное 00e000

И еще никак не могу вспомнить, как сделать чтобы эта функция сохранилась в эксцэле навсегда в списке функций.

 

Wladimir_TS: Что-то весь хелп облазил — не нашел, только десятичное похоже представление обрабатывается
Мастак абсолютно прав: есть встроенные функции, они указаны в хелпе (ищутся по ключевому слову).

Функция ШЕСТН.В.ДЕС
Преобразует шестнадцатеричное число в десятичное.
Синтаксис
ШЕСТН.В.ДЕС(число)
Число — преобразуемое шестнадцатеричное число. Число не может содержать более 10 разрядов (40 бит). Самый старший бит числа является знаковым битом. Остальные 39 бит являются битами значения. Отрицательные числа записываются в дополнительных кодах.

 

kav: kav
Функция ШЕСТН.В.ДЕС
Преобразует шестнадцатеричное число в десятичное.

Хоть оно мне и не надо, попробовал. Результат — в хелпе есть, а когда скопипастил, как советует хелп, в ячейку, ругается : #ИМЯ. И в списке поддерживаемых функций нет.
Excel2003.
Хорошо, что оно мне не надо

 

а опознать буковку и в отдельной табличке «справочник» сделать, сравнить с табличкой и вернуть в десятичной, провести мат операцию, сравнить с табличкой и вернуть 16ичное?

 

Bul_d_Ozer: в списке поддерживаемых функций нет.

Установить из дистрибутива.

 

Mastak: Установить из дистрибутива.
Да ну его… Ексель использую только для ведения «булгахтерии». Для серьезных вещей Дельфи удобнее.

 

Mastak: Mastak ◊
30 марта, 13:30
Bul_d_Ozer: в списке поддерживаемых функций нет.

Установить из дистрибутива.

И где оно там ? Или это какое-то дополнение.

Bul_d_Ozer: Bul_d_Ozer ◊
31 марта, 00:07
Mastak: Установить из дистрибутива.
Да ну его… Ексель использую только для ведения «булгахтерии». Для серьезных вещей Дельфи удобнее.

Дюже сложно увы.

 
 

Mike

Пользователь

Сообщений: 521
Регистрация: 01.01.1970

Доброго всем дня!
Подскажите, как перевести текст в ячейке в шестнадцатиричный формат, а потом то что получилось обратно в систему символов ASCII ?
Нашел похожую тему

https://www.planetaexcel.ru/forum/?PAGE_NAME=read&FID=8&TID=33314

, но ничего не понял…комментариев мало

 

buchlotnik

Пользователь

Сообщений: 3863
Регистрация: 31.10.2014

Excel 365 Бета-канал

del

Изменено: buchlotnik21.08.2021 23:18:19

Соблюдение правил форума не освобождает от модераторского произвола
<#0>

 

Mike

Пользователь

Сообщений: 521
Регистрация: 01.01.1970

При переносе формулы в другую книгу пишет #ИМЯ?  естественно ввод делал через массив (Ctrl+Shift+Enter)

 

andylu

Пользователь

Сообщений: 274
Регистрация: 29.03.2018

#4

23.07.2021 10:37:02

Цитата
Mike написал:
в другую книгу

на всякий случай уточню — у вас эксель 365?
вариант выше на нем, и не совместим с другими версиями…

 

buchlotnik

Пользователь

Сообщений: 3863
Регистрация: 31.10.2014

Excel 365 Бета-канал

del

Изменено: buchlotnik21.08.2021 23:18:06

Соблюдение правил форума не освобождает от модераторского произвола
<#0>

 

Mike

Пользователь

Сообщений: 521
Регистрация: 01.01.1970

#6

23.07.2021 11:28:02

Цитата
andylu написал:

Цитата
Mike написал:
в другую книгу

на всякий случай уточню — у вас эксель 365?
вариант выше на нем, и не совместим с другими версиями…

У меня 2016

 

Mike

Пользователь

Сообщений: 521
Регистрация: 01.01.1970

#7

23.07.2021 11:31:13

Цитата
buchlotnik написал:

Цитата
ну несовместимость 365 лечится легко
Код
 =СЦЕП(ДЕС.В.ШЕСТН(КОДСИМВ(ПСТР(A2;СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A2)));1));2))   

   

Код
 =СЦЕП(СИМВОЛ(ШЕСТН.В.ДЕС(ПСТР(B3;1+2*(СТРОКА($A$1:ИНДЕКС(A:A;ДЛСТР(A2)))-1);2))))   

  а вот альтернативу СЦЕП() без бубнов найти трудно — если экселька старше 2019, думаю придется UDF писать

не прокатывает

Изменено: Mike23.07.2021 11:32:11

 

buchlotnik

Пользователь

Сообщений: 3863
Регистрация: 31.10.2014

Excel 365 Бета-канал

#8

23.07.2021 11:43:19

Цитата
Mike написал:
не прокатывает

и в чём сюрприз?

Цитата
buchlotnik написал:
если экселька старше 2019, думаю придется UDF писать

Соблюдение правил форума не освобождает от модераторского произвола
<#0>

 

Mike

Пользователь

Сообщений: 521
Регистрация: 01.01.1970

#9

23.07.2021 11:55:02

Цитата
buchlotnik написал:

Цитата
Mike написал:
не прокатывает

и в чём сюрприз?

почему-то также пишет  #ИМЯ?

 

buchlotnik

Пользователь

Сообщений: 3863
Регистрация: 31.10.2014

Excel 365 Бета-канал

#10

23.07.2021 12:00:08

Цитата
Mike написал:
почему-то
Цитата
buchlotnik написал:
СЦЕП() — начиная с 2019

Соблюдение правил форума не освобождает от модераторского произвола
<#0>

 

Mike

Пользователь

Сообщений: 521
Регистрация: 01.01.1970

#11

23.07.2021 12:13:41

Цитата
Цитата
buchlotnik написал:
СЦЕП() — начиная с 2019

СЦЕП() — это СЦЕПИТЬ() ? если так, то ошибка пропала, но «перевод» осуществляет только первого символа (в ячейке получается «С8»)

 

buchlotnik

Пользователь

Сообщений: 3863
Регистрация: 31.10.2014

Excel 365 Бета-канал

нет, СЦЕП() — это СЦЕП(), функция из 2019 версии
СЦЕПИТЬ() — это старая функция и она как раз не понимает массивы, берет только первое

Соблюдение правил форума не освобождает от модераторского произвола
<#0>

 

andylu

Пользователь

Сообщений: 274
Регистрация: 29.03.2018

/dell pls, пока писал вышел аналог ответа 12 выше

Изменено: andylu23.07.2021 12:27:02

 

buchlotnik

Пользователь

Сообщений: 3863
Регистрация: 31.10.2014

Excel 365 Бета-канал

del

Изменено: buchlotnik21.08.2021 23:17:39

Соблюдение правил форума не освобождает от модераторского произвола
<#0>

 

Mike

Пользователь

Сообщений: 521
Регистрация: 01.01.1970

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#16

24.07.2021 12:35:05

Mike, приведите в порядок свои сообщения. Цитата — это не то, что Вы думаете и делаете.  Вы бездумно копируете.



  • Excel 365


  • Excel 2021


  • Excel 2019


  • Excel 2016




  • February 12, 2022



  • No Comments

It’s unusual to need to work with Hexadecimal values in Excel, but on these rare occasions it can be challenging to figure out how Excel deals with values of this kind. If you simply enter a value like 0xABCDEF78 Excel will treat it as text and won’t recognize it as a numeric value.

What is Hexadecimal?

Hexadecimal (or Hex for short) is a counting system that uses 16 symbols as opposed to the 10 symbols used in the Decimal counting system that we use more often. Hexadecimal uses the letters A-F as well as the numbers 0-9.

Hexadecimal is most often used by computer systems, though it is also used in some advanced mathematical calculations outside of the world of computing.

Converting Hexadecimal values to Decimal in Excel

Excel won’t recognize a Hexadecimal value, but there is a function in its function library that will convert Hexadecimal values into Decimals: the HEX2DEC function.

For example: =HEX2DEC(“FF”) will return 255 – the decimal conversion of the Hexadecimal value FF.

If you’re unfamiliar with Excel functions and formulas you might benefit from our completely free Basic Skills E-book, which will introduce you to the basics of formulas and functions.

Dealing with 0x prefixes

Many programming languages prefix Hexadecimal values with 0x. For example 0xFF instead of just FF.

The HEX2DEC function won’t recognize a Hex value that has a 0x prefix so you will need to strip away the prefixes before you can convert the values.

There are a few different ways you could do this, including Flash Fill, Text To Columns and even Find & Replace, but a formula offers the most long-term solution because it will automatically recalculate. This formula will remove the 0x prefixes:

=RIGHT(A2,LEN(A2)-2)

All of the options mentioned above (as well as the RIGHT and LEN functions) are explained in depth in our Expert Skills Books and E-books.

A working example

You can download an example workbook showing the above functions and formulas in action.

Other counting systems supported by Excel

As well as the HEX2DEC function for Hex values, Excel also contains functions to convert values from Binary (Base 2) and Octal (Base 8) . These are supported by the BIN2DEC and OCT2DEC.

There are also functions to convert each of these counting systems to the other. For example you can convert an Octal value into a Hex value using the OCT2HEX function.

These are the only up-to-date Excel books currently published and includes the new Dynamic Arrays features.

They are also the only books that will teach you absolutely every Excel skill including Power Pivot, OLAP and DAX.

Some of the things you will learn

Share this article

Recent Articles

Leave a Reply

Перейти к содержимому

Системы исчисления в программе «Эксель».

В мире существует множество различных способов записи чисел и систем исчисления. В текущем столетии самыми популярными являются системы исчисления:
Двоичная;
• Восьмеричная;
• Десятеричная;
• Шестнадцатеричная.
Перевод между системами исчисленияПрограмма «Excel» предусматривает возможность обработки информации в этих системах.
Для удобства перевода чисел из различных систем в привычную большинству пользователей десятеричную систему, а так же перевода чисел между восьмеричной, двоичной, шестнадцатеричной системами существует целый ряд функций. Эти функции позволяют произвести перевод чисел из одной системы в другую.

Рассмотрим эти функции:

ДЕС.В.ДВ( ) – переводит десятичные числа в двоичные;
ДЕС.В.ВОСЬМ( ) – переводит десятичные числа в восьмеричные;
ДЕС.В.ШЕСТН( ) – переводит десятичные числа в шестнадцатеричные;
ВОСЬМ.В.ДВ() – переводит восьмеричные в двоичные;
ВОСЬМ.В.ДЕС() – переводит восьмеричные десятичные;
ВОСЬМ.В.ШЕСТН() – переводит восьмеричные в шестнадцатеричные;
ШЕСТН.В.ВОСЬМ() – переводит шестнадцатеричные в восьмеричные;
ШЕСТН.В.ДВ() – переводит шестнадцатеричные в двоичные;
ШЕСТН.В.ДЕС() – переводит шестнадцатеричные в десятичные;
ДВ.В.ВОСЬМ() – переводит двоичные в восьмеричные;
ДВ.В.ДЕС() – переводит двоичные в десятичные;
ДВ.В. ШЕСТН() – переводит двоичные в шестнадцатеричные.

Пример использования:Перевод между двоичной, восьмеричной, шестнадцатиричной, десятеричной

• Установить курсор в ячейку, которой будет присвоено значение;
• Выбрать необходимую функцию при помощи мастера функций в зависимости от того в какую систему исчисления вы хотите перевести число;
• В появившемся окне указать ячейку с переводимым числом или прописать само число;
• Указать количество разрядов – количество знаков в написании числа при необходимости (для функций перевода в десятичную систему количество разрядов не указывается).
• Нажать «Enter» или «Ok».

Скачать таблицу перевода чисел между двоичной, восьмеричной, десятеричной и шестнадцатеричной системами исчисления.

Понравилась статья? Поделить с друзьями:
  • Шестнадцатеричный код в excel
  • Шестнадцатеричные значения в excel
  • Шекспир на английском word
  • Шейн сериал l word
  • Шейн в сериале l word