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

Иван Корнев·13.04.2026·4 мин

Для перевода чисел из десятичной системы в двоичную и обратно в Excel используйте встроенные инженерные функции DEC2BIN (для русскоязычной версии — ДВОЙЧН) и BIN2DEC (ДЕСВ). Они позволяют мгновенно конвертировать значения без сложных вычислений. Например, чтобы превратить число 13 в двоичный код, достаточно ввести =ДВОЙЧН(13), а для обратного действия — =ДЕСВ("1101").

Основные функции для конвертации

В современных версиях Excel (начиная с 2007 и в подписке Microsoft 365) эти функции доступны по умолчанию в категории «Инженерные». Если у вас старая версия или функции не работают, возможно, требуется подключение надстройки «Пакет анализа».

Из десятичной в двоичную (DEC2BIN / ДВОЙЧН)

Функция преобразует целое десятичное число в двоичное представление.

Синтаксис: =ДВОЙЧН(число; [разряды])

  • число — десятичное значение, которое нужно перевести.
  • разряды (необязательно) — количество знаков в результате. Используется для добавления ведущих нулей.

Примеры использования:

  • Базовое преобразование: =ДВОЙЧН(10) вернет текст "1010".
  • Фиксированная длина: =ДВОЙЧН(5; 8) вертет "00000101". Это удобно для создания байтов или битовых масок.

Функция возвращает результат в виде текста, а не числа. Это важно, так как позволяет сохранять ведущие нули, которые математически не значимы, но критичны в двоичном коде.

Из двоичной в десятичную (BIN2DEC / ДЕСВ)

Функция преобразует двоичное число (в виде текста) обратно в десятичное.

Синтаксис: =ДЕСВ(число)

  • число — строка, содержащая только символы 0 и 1. Максимальная длина — 10 знаков (для знаковых чисел).

Примеры использования:

  • Простой перевод: =ДЕСВ("1111") вернет число 15.
  • Обработка ячейки: если в ячейке A1 записано 1001, формула =ДЕСВ(A1) даст результат 9.

Ограничения и технические нюансы

При работе с этими функциями важно помнить о технических ограничениях Excel, чтобы избежать ошибок #ЧИСЛО! (#NUM!).

  1. Диапазон значений: Стандартные функции ДВОЙЧН и ДЕСВ работают только с числами от -512 до 511 (10 бит).
    • Если вам нужно конвертировать числа больше 511, стандартные функции выдадут ошибку. В таких случаях потребуется использование формул массива или макросов VBA.
  2. Формат данных: Аргумент для ДЕСВ должен быть текстом или числом, состоящим строго из 0 и 1. Наличие пробелов, букв или других символов приведет к ошибке #ЗНАЧ! (#VALUE!).
  3. Отрицательные числа: Функция ДВОЙЧН поддерживает отрицательные числа, представляя их в дополнительном коде (двоичное дополнение до двух). Например, =ДВОЙЧН(-1) вернет "1111111111" (10 единиц).

Не пытайтесь перевести число 512 функцией ДВОЙЧН без указания разрядов или в стандартном режиме — вы получите ошибку. Для работы с большими числами (например, 16-битными или 32-битными) стандартные инженерные функции Excel не подходят без дополнительных настроек.

Практические примеры и проверка данных

Рассмотрим типовой сценарий проверки корректности данных при импорте из внешних источников.

ЗадачаФормулаРезультатКомментарий
Перевод 45 в двоичный код (8 бит)=ДВОЙЧН(45; 8)00101101Добавлены ведущие нули
Обратный перевод кода=ДЕСВ("00101101")45Проверка целостности
Обработка ошибки ввода=ЕСЛИОШИБКА(ДЕСВ(A2); "Некорректно")Текст ошибкиЗащита от сбоев

Как проверить правильность перевода?

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

  1. Исходное десятичное число находится в ячейке A2.
  2. В ячейке B2 переводим его в двоичную: =ДВОЙЧН(A2).
  3. В ячейке C2 переводим результат обратно: =ДЕСВ(B2).
  4. Сравните A2 и C2. Если они равны, конвертация прошла успешно.

Формула для автоматической проверки: =ЕСЛИ(A2=ДЕСВ(ДВОЙЧН(A2)); "Верно"; "Ошибка")

Частые ошибки пользователей

  • Потеря ведущих нулей. Если вы введете двоичное число 00101 просто как число в ячейку, Excel автоматически удалит первые нули, и оно станет 101. При использовании функции ДЕСВ это не критично (результат будет тем же), но визуально данные исказятся. Решение: форматируйте ячейки с двоичными кодами как Текстовый формат перед вводом данных.
  • Использование точки вместо запятой. В русскоязычной версии Excel разделителем аргументов в формулах является точка с запятой (;), а не запятая. Формула =ДВОЙЧН(10, 8) выдаст ошибку. Правильно: =ДВОЙЧН(10; 8).
  • Попытка конвертации дробных чисел. Функции работают только с целыми числами. Попытка перевести 10.5 приведет к ошибке. Дробную часть необходимо обрабатывать отдельно или отбрасывать функцией ЦЕЛОЕ().

FAQ

Можно ли перевести шестнадцатеричную систему в двоичную напрямую? Да, используйте связку функций: сначала ШЕСТГРВДЕС (HEX2DEC) для перевода в десятичную, затем ДВОЙЧН (DEC2BIN) для перевода в двоичную. Прямой функции HEX2BIN в стандартном наборе нет.

Что делать, если функция ДВОЙЧН не найдена? Убедитесь, что установлен и активирован надстройку «Пакет анализа» (Файл > Параметры > Надстройки > Управление надстройками Excel > Пакет анализа). В новых версиях Office 365 эти функции должны работать без дополнительных настроек.

Как конвертировать числа больше 511? Стандартные функции ограничены 10 битами. Для работы с большими числами (до 32 или 64 бит) потребуется написание пользовательской функции на VBA или использование степеней двойки через формулу СУММПРОИЗВ, однако это значительно усложнит таблицу.