Исходные числа формулы, могут быть целыми или десятичными дробями.
Очевидно, что формула будет состоять из слагаемых, по одному на каждую цифру, десятичный разделитель не должен влиять на результат.
Для пустой ячейки формула не должна давать ошибки.
Например исходное число записано в ячейке B3, форматируем число так, чтобы не потерять ни одной цифры по формуле:ТЕКСТ(B3;"<wbr />#.##############"), формат преобразования выбирается из конкретных условий задачи, если ограничиться только целыми числами формат будет таким ТЕКСТ(B3;"#") и число 12.34 преобразуется к 12
чтобы получить цифру из позиции 1 используем формулу ПСТР(ТЕКСТ(B3;"#"),*<wbr />*1**,1)
чтобы получить цифру из позиции 2 используем формулу ПСТР(ТЕКСТ(B3;"#"),*<wbr />*2**,1)
....
для преобразования цифры в число используем функцию ЗНАЧЕН(), а для исключения ошибки используем функцию **ЕСЛИОШИБКА() **(при пустой ячейке или если позиция совпадает с позицией десятичного разделителя)
Получим формулу для слагаемого номер 1
=ЕСЛИОШИБКА(ЗНАЧЕН(П<wbr />СТР(ТЕКСТ(B5;"#.#####<wbr />##########");1;1));0)
или для целого числа
=ЕСЛИОШИБКА(ЗНАЧЕН(П<wbr />СТР(ТЕКСТ(B5;"#");1;1<wbr />));0)
формула для трехзначного целого числа выглядит так:
=ЕСЛИОШИБКА(ЗНАЧЕН(П<wbr />СТР(ТЕКСТ(B5;"#");1;1<wbr />));0)+ЕСЛИОШИБКА(ЗНАЧ<wbr />ЕН(ПСТР(ТЕКСТ(B5;"#")<wbr />;2;1));0)+ЕСЛИОШИБКА(<wbr />ЗНАЧЕН(ПСТР(ТЕКСТ(B5;<wbr />"#");3;1));0)
меняя формат представления текста и количество слагаемых можно получать формулы для любой задачи.
Для обработки более длинных чисел просто добавляем слагаемые с нужным номером позиции.
Иногда при копировании из интернет страниц формулы теряют работоспособность, но это исправимо (см Как скопировать формулу Excel из интернета, чтобы она работала?)
Чтобы формулы были читаемыми их нужно структурировать (см Как сделать понятной и читаемой огромную формулу Excel?)
С учетом всех изменений формула для десятичного числа из пятнадцати (или меньше) разрядов будет выглядеть так: