Как добавить конечные 0 без десятичной дроби

#excel

#excel

Вопрос:

У меня есть учетные коды. Некоторые из них состоят из 4 цифр, которые заканчиваются на 0, а другие имеют длину 12 цифр.

Я отформатировал ячейки в столбце электронной таблицы Excel, которые я использую для кодирования счетов, под маской «0000-0000-0000».

Однако иногда у меня может быть только номер счета из 4 цифр, который заканчивается на 0, или он может содержать 12 цифр. В любом случае, это 12 цифр.

Существует ли пользовательский формат, чтобы мне не нужно было вводить все конечные 0 для тех, которые содержат только 4 или 8 цифр, начинающихся цифрами?

Пример. Я хочу ввести 1200, и моя ячейка выдает 1200-0000-0000 без необходимости вводить 120000000000.

Комментарии:

1. это Excel или dynamics?

2. Прошу прощения, это Excel.

3. Когда вы вводите в ячейку, как вы хотите, чтобы Excel узнал, следует ли сразу добавить 0 к этому 4-значному числу или подождать, пока вы введете все 12 цифр?

4. В Excel нет пользовательского формата для этого. Вы можете либо использовать соседний столбец с формулой, либо написать макрос события VBA для достижения желаемого.

5. @RonRosenfeld — Я был удивлен этим. Я думал, что вы могли бы использовать формат либо 0000-0000-0000 , либо ####-0000-0000 сделали бы это, но, увы, это ставит 1200 в конец . Хороший вызов.

Ответ №1:

Проблема в том, что по умолчанию числа так не работают. Если вы введете 12 в ячейку Excel, Excel подумает, что это двенадцать, а не 120 миллиардов.

Вставьте эту формулу в ячейку B1:

 =NUMBERVALUE(LEFT(A1amp;"00000000000", 12))
  

Установите формат B1 в пользовательский 0000-0000-0000

Введите 12 в ячейку A1. B1 становится тем, что вы просите

Это работает, потому что формула объединяет 11 нулей (в виде строки) в введенное вами значение, затем сокращает его до 12 крайних левых символов и превращает обратно в число.

12 -> «1200000000000″ -> «120000000000» -> 1200-0000-0000