Пользовательские форматы в Excel

Пользовательские форматы в Excel

При необходимости Вы можете легко добавить к стандартным числовым форматам Excel свои собственные. Для этого выделите ячейки, к которым надо применить пользовательский формат, щелкните по ним правой кнопкой мыши и выберите в контекстном меню команду Формат ячеек (Format Cells) - вкладка Число (Number) , далее - Все форматы (Custom) :

В появившееся справа поле Тип: введите маску нужного вам формата из последнего столбца этой таблицы:

Как это работает.

На самом деле все очень просто. Как Вы уже, наверное, заметили, Excel использует несколько спецсимволов в масках форматов:

  • 0 (ноль) - одно обязательное знакоместо (разряд), т.е. это место в маске формата будет заполнено цифрой из числа, которое пользователь введет в ячейку. Если для этого знакоместа нет числа, то будет выведен ноль. Например, если к числу 12 применить маску 0000, то получится 0012, а если к числу 1,3456 применить маску 0,00 - получится 1,35.
  • # (решетка) - одно необязательное знакоместо - примерно то же самое, что и ноль, но если для знакоместа нет числа, то ничего не выводится
  • (пробел) - используется как разделитель групп разрядов по три между тысячами, миллионами, миллиардами и т.д.
  • [ ] - в квадратных скобках перед маской формата можно указать цвет шрифта. Разрешено использовать следующие цвета: черный, белый, красный, синий, зеленый, жёлтый, голубой.

Плюс пара простых правил:

  • Любой пользовательский текст (кг, чел, шт и тому подобные) или символы (в том числе и пробелы) - надо обязательно заключать в кавычки.
  • Можно указать несколько (до 4-х) разных масок форматов через точку с запятой. Тогда первая из масок будет применяться к ячейке, если число в ней положительное, вторая - если отрицательное, третья - если содержимое ячейки равно нулю и четвертая - если в ячейке не число, а текст (см. выше пример с температурой).
Ссылки по теме

Добрый день!есть значения которые постоянны, а есть которые вводятся.

16/01-2345проблема в следующем: меняется значение 4 и 5 символов (может быть от 1 до 16), и значения после тире (могут быть от одного до пяти знаков).

когда была задача менять символы после тире, я с ней легко справился, а здесь пока никак.За ранее спасибо!

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

Если вы ведете таблицу для печати то перед печатью изначальный столбец (забиваемый вручную[в моем примере "А"]) можно скрывать, удобнее через группировку excel 2007 и старше ( вкладка "Данные" - Группировать )

Николай, подскажите пожалуйста, как решить такую проблему:

необходимо, чтобы номера из 16 символов выводились в удобной форме - группами по 4 цифры.Ввожу маску:0000" "0000" "0000" "0000

И всё бы ничего, но только последнюю цифру Excel настырно заменяет на ноль. Пробовал и через "#". Но безрезультатно. Не хочет он 16-й знак усваивать в цифровом формате.

Пока получается либо в текстовом формате неразрывно 16 символов, либо группами по 4, но с нулём в 16-ой позиции.

Совсем уже замучился.

Или попроще используя три функции ПСТР - для выдергивания нужных знаков, СЦЕПИТЬ для их сливания в единый текст и ЗНАЧЕН для перевода текста в число

Николай, добрый день! Нужна Ваша помощь! Уже всяко перепробовал - не получается.

В ячейке записана дата со временем: 04.06.2014 12:00:00. Формат ячейки выглядит так: [$-419]Д МММ ч:мм;@ (отображается как 4 июн 12:00).

Проблема в том, что если записать в ячейку просто дату без времени, то она отображается так: 4 июн 0:00. Т.е. как будто 12 ночи.Вопрос, можно ли скорректировать формат ячейки так, чтобы, если в ней записана дата без времени, то нули бы не отображались?

Можно, конечно, записать формат так: [$-419]Д МММ;@Но проблема в том, что для некоторых записей необходимо вводить и дату и время, а для некоторых только дату.Ещё добавлю, что я точно не буду записывать в ячейку время как 12 ночи (например, 04.06.2014 00:00), т.к. эта ячейка используется для "напоминалки" о задачах по работе, а рабочее время с 9 до 18.

Очень рассчитываю на Вашу помощь!

Attribute VB_Name = "Module1"Sub Макрос1()Attribute Макрос1.VB_ProcData.VB_Invoke_Func = "q\n14"'' Макрос1 МакросOn Error Resume Next For Each Cell In Selection.Cells.SpecialCells(xlCellTypeConstants, xlNumbers) Cell.Value = Application.Round(Cell.Value, 2) NextEnd Sub

Вот таким макросом решил проблему

Добрый день, Николай!Подскажите как создать формат аналогичный процентному, но без знака % в конце. Т.е. форматирование должно заключаться в умножении значения на 100. Ну и для простоты без разрядов после запятой.Обратный аналог тоже есть - форматы в тысячах "# ### " - фактически это же деление на 1000 и отбрасывание дробной части.

Не знаете, как сделать подобный формат?

Столкнулнся с необходимостью изменения числового формата в ячейке по значению из другой. Примеров воплощения своей задачи в интернете не нашел, только частности. Может Вы подскажите ее решение? Допускается любое из вариантов.

Ячейка А1 - ввод текстовых значений (например "п", "р","$"Ячейка В1 - ввод числовых значений (это точность числа знаков после запятой для С1, может быть: 1; 0,1; 0,01; 0,001; 0,0001)Ячейка С1 - ввод числовых значений (необходимое форматированию число)

Вариант 1:если А1="п", то ячейка С1 bx-inline-tag" bx-tag-value="##"">###" если А1="р", то ячейка С1 bx-inline-tag" bx-tag-value="##">### ,#", если целое число "р # ###" (или чтобы запятая не выводилась)если А1="$", то ячейка С1 bx-inline-tag" bx-tag-value="#0">##0 ,00##"

Вариант 2:если А1="п", то ячейка С1 bx-inline-tag" bx-tag-value="##"">###" точность В1если А1="р", то ячейка С1 bx-inline-tag" bx-tag-value="##"">###" точность В1если А1="$", то ячейка С1 bx-inline-tag" bx-tag-value="##">### ,#" точность В1

📎📎📎📎📎📎📎📎📎📎