Функция ДЕС.В.ДВ() преобразует десятичное число в двоичное (в англ. версии DEC2BIN) Аналогичные этому, есть преобразователи в восьмиричное, шестнадцатиричное число: ДЕС.В.ВОСЬМ() и ДЕС.В.ШЕСТ()
Обратное действие – функция ДВ.В.ДЕС().
Количество символов двоичного числа ограничена 9 разрядами, т.е. таким образом excel может преобразовать в двоичное число не больше 511, даже попытка искусственно увеличить разрядность не помогает:
Но, тем не менее если все-таки хочется преобразовывать в двоичные числа большие 111111111, выход есть, нужно вспомнить о функции ОСТАТ(), или в англ. версии – MOD(). Функция возвращает остаток от деления аргумента «число» на значение аргумента «делитель». Т.е. ОСТАТ(512/512) = 0, ОСТАТ(513/512) = 1 и т.д.
Решение:
- Находим двоичное число от дроби: исходное число, деленное на 512.
- Находим двоичное число от остатка, указываем количество разрядов – 9.
- Сцепляем их вместе, хотя бы амперсандом (&). Тут возможны варианты, но это самое простое.
=ДЕС.В.ДВ(A1/512)&ДЕС.В.ДВ(ОСТАТ(A1;512);9)
Если вам не нужен нолик перед числом (а он появляется, если делить число меньше 512, например 64), то можно обернуть выражение в проверочную функцию ЕСЛИ. Полный вид заклинания, позволяет превращать десятичные числа до 262143 (512^2) в двоичные:
=ЕСЛИ(A1<512;ДЕС.В.ДВ(A1);ДЕС.В.ДВ(A1/512)&ДЕС.В.ДВ(ОСТАТ(A1;512);9))