Как найти формат ввода

Доступные числовые форматы в Excel

В Excel числа, содержащиеся в ячейках, можно преобразовать, например, в денежные единицы, проценты, десятичные числа, даты, номера телефонов или номера социального страхования США.

Строка формул и связанная с ней ячейка

Браузер не поддерживает видео. Установите Microsoft Silverlight, Adobe Flash Player или Internet Explorer 9.

  1. Выделите ячейку или диапазон ячеек.

  2. На вкладке Главная выберите в раскрывающемся списке формат Числовой.
    Общие сведения
    Можно также выбрать один из следующих вариантов:

    • Нажмите клавиши CTRL+1 и выберите формат Числовой.

    • Щелкните ячейку или диапазон ячеек правой кнопкой мыши, выберите команду Формат ячеек… и формат Числовой.

    • Нажмите небольшую стрелку (кнопку вызова диалогового окна) и выберите Числовой.

  3. Выберите нужный формат.

Числовые форматы

Чтобы просмотреть все доступные числовые форматы, на вкладке Главная в группе Число нажмите кнопку вызова диалогового окна рядом с надписью Число.

Кнопка вызова диалогового окна в группе "Число"

Формат

Описание

Общий

При вводе чисел в Excel этот формат используется по умолчанию. В большинстве случаев числа, имеющие формат Общий, отображаются так, как вводятся. Однако если ширины ячейки недостаточно для отображения всего числа, числа в формате Общий округляются. Для чисел, содержащих более 12 знаков, в формате Общий используется научное (экспоненциальное) представление.

Числовой

Используется как основной для вывода чисел. Можно задать количество отображаемых знаков после запятой, применение разделителя групп разрядов и способ отображения отрицательных чисел.

Денежный

Используется для денежных значений и выводит рядом с числом обозначение денежной единицы по умолчанию. Можно задать количество отображаемых знаков после запятой, применение разделителя групп разрядов и способ отображения отрицательных чисел.

Финансовый

Используется для отображения денежных значений с выравниванием обозначений денежных единиц и десятичных разделителей в столбце.

Дата

Отображает числовые представления даты и времени как значения даты в соответствии с заданным типом и языковым стандартом (местоположением). Форматы даты, начинающиеся со звездочки (*), соответствуют формату отображения даты и времени, заданному на панели управления. На форматы без звездочки параметры, заданные на панели управления, не влияют.

Время

Отображает числовые представления даты и времени как значения времени в соответствии с заданным типом и языковым стандартом (местоположением). Форматы времени, начинающиеся со звездочки (*), соответствуют формату отображения даты и времени, заданному на панели управления. На форматы без звездочки параметры, заданные на панели управления, не влияют.

Процентный

В этом формате значение ячейки умножается на 100, а результат отображается со знаком процента (%). Можно задать количество знаков в дробной части.

Дробный

Отображает число в виде дроби выбранного типа.

Экспоненциальный

Отображает число в экспоненциальном представлении, заменяя часть числа на E+n, где E обозначает экспоненциальное представление, то есть умножение предшествующего числа на 10 в степени n. Например, экспоненциальный формат с двумя знаками в дробной части отображает 12345678901 как 1,23E+10, то есть 1,23, умноженное на 10 в 10-й степени. Можно задать количество знаков в дробной части.

Текстовый

Содержимое ячейки (включая числа) обрабатывается как текст и отображается именно так, как было введено.

Дополнительный

Число отображается в виде почтового индекса, телефонного номера или страхового номера (SSN).

(все форматы)

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

Вы можете применять к числам различные форматы, чтобы изменить способ их отображения. Форматы изменяют только способ отображения чисел и не влияют на значения. Например, если вы хотите, чтобы число отображалось в виде валюты, щелкните ячейку с числом > Денежный.

Доступные числовые форматы

Форматы влияют только на отображение чисел, но не значения в ячейках, используемые в вычислениях. Фактическое значение можно увидеть в строка формул.

Отображение числового значения в строке формул

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

Числовой формат

Описание

Общие

Числовой формат по умолчанию. Если ширины ячейки недостаточно, чтобы отобразить число целиком, оно округляется. Например, 25,76 отображается как 26.

Кроме того, если число состоит из 12 или более цифр, при использовании формата Общий значение отображается в экспоненциальном виде.

если число содержит 12 или более цифр, его значение отображается в экспоненциальном виде

Числовой

Этот формат похож на Общий, но в отличие от него отображает числа с десятичным разделителем, а также отрицательные числа. Ниже представлено несколько примеров отображения чисел в обоих форматах:

пример того, как числа отображаются при использовании форматов "Общий" и "Числовой"

Денежный

Отображает рядом с числами денежный символ. Чтобы задать необходимое количество знаков после запятой, нажмите кнопку Увеличить разрядность или Уменьшить разрядность.

увеличение или уменьшение количества знаков после запятой при форматировании чисел

Финансовый

Используется для отображения денежных значений с выравниванием символов валюты и десятичных разделителей в столбце.

Краткий формат даты

В этом формате дата отображается в следующем виде:

краткий формат даты

Длинный формат даты

В этом формате месяц, день и год отображаются в следующем виде:

Длинный формат даты

Системное время

В этом формате числовые представления даты и времени отображаются как значения времени.

Процентный

В этом формате значение ячейки умножается на 100, а результат отображается со знаком процента (%).

Чтобы задать необходимое количество знаков после запятой, нажмите кнопку Увеличить разрядность или Уменьшить разрядность.

увеличение или уменьшение количества знаков после запятой при форматировании чисел

Дробный

Отображает число в виде дроби. Например, при вводе 0,5 отображается ½.

Экспоненциальный

Отображает числа в экспоненциальной нотации, заменяя часть числа на E+n, где E (степень) умножает предыдущее число на 10 в степени n. Например, экспоненциальный формат с двумя знаками в дробной части отображает 12345678901 как 1,23E+10, то есть 1,23, умноженное на 10 в 10-й степени. Чтобы задать необходимое количество знаков после запятой, нажмите кнопку Увеличить разрядность или Уменьшить разрядность.

Текстовый

Содержимое ячейки (включая числа) обрабатывается как текст и отображается именно так, как было введено. Дополнительные сведения о форматировании чисел в виде текста.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Форматирование чисел в виде денежных единиц в Excel

Форматирование чисел

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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

Форматы ввода и вывода используются в диалогах и типовых операциях. Они позволяют задавать вид вводимых в поля ввода диалоговой формы значений, добавлять элементы управления в диалоговую форму. Форматы представляют собой специальный символ (или пару символов) — признак поля, за которым следуют параметры.

Поля ввода

Можно использовать два варианта описания форматов полей ввода:

С заданием формата ввода по маске

Пример:

&налог&&&&

AR_1

ar_l

ar_l

AR_1

ar_l

AR_1

заполнитель маски (то же, что и признак поля)

переменная

признак поля

И, более полный, с числовым заданием длины полей ввода:

Пример:

для числа — минимальное значение (по умолчанию ограничения нет)

ard_2

для числа — макимальное значение (по умолчанию ограничения нет)

ARD_1

&сумма:10:3:0:100

признак поля

flag_green

Замечание!

При вводе числовой переменной по маске количество знаков после запятой зависит от признака «Копейки» в закладке Отчеты пункта «Установка | Настройки» главного меню.

Существуют следующие признаки полей ввода различных типов данных (слева — признак поля, справа — тип переменной и вид поля ввода):

&

Число. Если число знаков после запятой — 0 или длина графы 1 или 2 символа, будет отображаться кнопка AB_SELINCDEC, в противном случае справа будет кнопка вызова калькулятора AB_SELNUM)

*

Строка

**

Строка ввода пароля (вместо вводимых символов отображается зведочка)

*~

Строка с возможностью вызова библиотечной функции с помощью кнопки выбора AB_SELTRIANG.

Подробнее о графе такого типа смотрите Графа с вызовом функции

*@

Строка с возможностью подстановки значения из журнала с помощью кнопки выбора AB_SELTRIANG.

Подробнее о графе такого типа смотрите Графа с подстановкой поля журнала

*$

Список (лист, радиогруппа) с перечислением значений (число) или множество.

Подробнее о графе такого типа смотрите Графа с выбором из списка

*^

Строка с возможностью подстановки значения из XML или DBF файла с помощью кнопки выбора AB_SELTRIANG.

Подробнее о графе такого типа смотрите Графа с выбором из XML и DBF

~

Дата. Длина графы — 8 или 10 позиций в зависимости от опции четыре цифры в записи года)

~~

Время. Длина графы — 10 позиций

$

Логика. За именем переменной может следовать строка в скобках, определяющая текст опции. Переключение может осуществляться как при нажатии на саму опцию, так и при нажатии на текст.

^

Код счета (строка, длина по умолчанию — 20 позиций)

при заполнении такого поля можно пользоваться кнопкой выбора AB_SELTRIANG для подстановки

кода счета из плана счетов

^^

Код счета без аналитик

Сразу после формата может следовать ? (вопросительный знак). При его указании поведение графы изменяется следующим образом:

*?
**?
*~?

Разрешается строка любой длины.

Без него вводимая строка не будет длиннее графы.

~?

Дата может быть пустой (для ввода такого значение поле очищается). Переменная в этом случае имеет значение НЕТ_ДАТЫ (или ПУСТО).

~~?

Время может быть пустым (для ввода такого значение поле очищается). Переменная в этом случае имеет значение ПУСТО.

^?

Разрешается ввод счета не последнего уровня

^^?

Разрешается ввод счета без аналитики не последнего уровня

*@?

Допускается, чтобы графа содержала пустую строку.

$?

Логика станет принимать три значения: НЕТ, ДА и ПУСТО. Последний вариант может трактоваться как «неопределенность выбора».

Для полей ввода число, дата и код счета может быть задана возможность вызова библиотечной функции с помощью кнопки выбора AB_SELTRIANG.

Примеры.

Поля ввода с заданием формата ввода по маске

&сумма&&&

ввод числа «сумма» (длина поля 9 символов)

*коммент************

ввод строковой переменной «коммент» (длина поля — 20 символов)

Поля ввода с числовым заданием длины полей

&сумма:9:2

ввод числовой переменной «сумма» (9 позиций, 2 знака после запятой)

*коммент:40

ввод строковой переменной «коммент» (длина поля — 40 символов)

$Проверка(“Выполнять проверку”)

ввод переменной типа логика «проверка», справа будет текст “Выполнять проверку”

^счет

ввод строковой переменной кода счета «счет» (длина — 20 символов)

~нач_кв

ввод переменной «нач_кв» типа дата (длина всегда 8/10 позиций: дд.мм.гг/гггг, в зависимости от опции «Четыре цифры в записи года»)

Поля вывода и элементы управления

Также как и поля ввода, поля вывода могут задаваться двумя способами:

С заданием формата вывода по маске:

Пример:

   #сумма*налог/100#####

признак поля

И, более полный, с числовым заданием длины полей вывода

Пример:

   #сумма:10:3

признак поля

prod_tip

Внимание!

Выражения в графах вывода вычисляются в момент выполнения функции ВВЕСТИ.

Существуют следующие признаки полей вывода (слева — признак поля, справа — вид поля вывода):

Диалоги могут содержать одну или несколько закладок. Для этого используется ключевое слово ЗАКЛАДКА.

На общую линию вместе с кнопками <OK> и <Отмена> можно добавлять свои кнопки с помощью ключевого слова КНОПКА.

Для форматирования простого текста в диалоге операции могут использоваться символы

|

Для начала нового фрагмента текста

Для отображения горизонтальной линии (длина >= 2 символов)

<…>

Для обозначения текста, выделенного жирным шрифтом

{…}

Для обозначения текста, выделенного наклонным шрифтом

`

Смещать по-вертикали последующие графы и текст

Содержание:развернуть

  • Чтение ввода с клавиатуры
  • Преобразование вводимые данные
  • Input() → int

  • Input() → float

  • Input() → list (список)

  • Ввод в несколько переменных

Обычно программа работает по такой схеме: получает входные данные → обрабатывает их → выдает результат. Ввод может поступать как непосредственно от пользователя через клавиатуру, так и через внешний источник (файл, база данных).

В стандартной библиотеке Python 3 есть встроенная функция input() (в Python 2 это raw_input()), которая отвечает за прием пользовательского ввода. Разберемся, как она работает.

Чтение ввода с клавиатуры

Функция input([prompt]) отвечает за ввод данных из потока ввода:

s = input()
print(f"Привет, {s}!")

> мир # тут мы с клавиатуры ввели слово "мир"
> Привет, мир!

👉 В этом примере:

  1. При вызове функции input() выполнение программы приостанавливается до тех пор, пока пользователь не введет текст на клавиатуре (приложение может ждать бесконечно долго).
  2. После нажатия на Enter, функция input() считывает данные и передает их приложению (символ завершения новой строки не учитывается).
  3. Полученные данные присваиваются переменной и используются дальше в программе.

input() всегда возвращает строку:

s = input()
print(type(s))

> 2
> <class 'str'>

Также у input есть необязательный параметр prompt – это подсказка пользователю перед вводом:

name = input("Введите имя: ")
print(f"Привет, {name}!")

> Введите имя: Вася
> Привет, Вася!

📃 Более подробное описание функции из документации:

def input([prompt]):
"""
Read a string from standard input. The trailing newline is stripped.

The prompt string, if given, is printed to standard output without a
trailing newline before reading input.

If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
On *nix systems, readline is used if available.
"""
pass

Преобразование вводимые данные

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

☝️ Важно: если вы решили преобразовать строку в число, но при этом ввели строку (например: test), возникнет ошибка:

ValueError: invalid literal for int() with base 10: 'test'

На практике такие ошибки нужно обрабатывать через try except. В примере ниже пользователь будет вводить данные до тех пор, пока они успешно не преобразуются в число.

def get_room_number():
while True:
try:
num = int(input("Введите номер комнаты: "))
return num
except ValueError:
print("Вы ввели не число. Повторите ввод")

room_number = get_room_number()
print(f"Комната {room_number} успешно забронирована!")

> Введите номер комнаты: test
> Вы ввели не число. Повторите ввод
> Введите номер комнаты: 13
> Комната 13 успешно забронирована!

Input() → int

Для преобразования в целое число используйте функцию int(). В качестве аргумента передаются данные которые нужно преобразовать, а на выходе получаем целое число:

age_str = input("Введите ваш возраст: ")
age = int(age_str)

print(age)
print(type(age))

> Введите ваш возраст: 21
> 21
> <class 'int'>

То же самое можно сделать в одну строку: age = int(input("Введите ваш возраст: ")).

Input() → float

Если нужно получить число с плавающей точкой (не целое), то его можно получить с помощью функции float().

weight = float(input("Укажите вес (кг): "))

print(weight)
print(type(weight))

> Укажите вес (кг): 10.33
> 10.33
> <class 'float'>

Input() → list (список)

Если в программу вводится информация, которая разделяется пробелами, например, “1 word meow”, то ее легко преобразовать в список с помощью метода split(). Он разбивает введенные строки по пробелам и создает список:

list = input().split()

print(list)
print(type(list))

> 1 word meow
> ['1', 'word', 'meow']
> <class 'list'>

💭 Обратите внимание, что каждый элемент списка является строкой. Для преобразования в число, можно использовать int() и цикл for. Например, так:

int_list = []
for element in input().split():
int_list.append(int(element))

print([type(num) for num in int_list])

> 1 2 3
> [<class 'int'>, <class 'int'>, <class 'int'>]

Ввод в несколько переменных

Если необходимо заполнить одним вводом с клавиатуры сразу несколько переменных, воспользуйтесь распаковкой:

a, b, c = input().split()
print(f"a: {a}, b: {b}, c: {c}")

> test 13 100
> a: test, b: 13, c: 100

В этом примере строка из input() разбивается по пробелу функцией split(). Далее применяется синтаксис распаковки – каждый элемент списка попадает в соответствующую переменную.

Все переменные после распаковки будут строкового типа. Преобразовать их (например в int) можно так:

a, b = [int(s) for s in input().split()]
print(f"type a: {type(a)}, type b: {type(b)}")

> 13 100
> type a: <class 'int'>, type b: <class 'int'>

☝️ Важно: не забывайте обрабатывать ошибки:

  • если введенных значений больше чем переменных, получите ошибку – ValueError: too many values to unpack (expected 3);
  • если введенных значений меньше чем переменных, получите ошибку – ValueError: not enough values to unpack (expected 3, got 2);
  • если преобразовываете в int, а вводите строку – ValueError: invalid literal for int() with base 10: 'test'.

В этом руководстве вы узнали, как принимать данные от пользователя, введенные с клавиатуры, научились преобразовывать данные из input и обрабатывать исключения.

О выводе данных в Python читайте тут:

Skip to content

7 способов поменять формат ячеек в Excel

Мы рассмотрим, какие форматы данных используются в Excel.  Кроме того, расскажем, как можно быстро изменять внешний вид ячеек самыми различными способами.

Когда дело доходит до форматирования ячеек в Excel, большинство пользователей знают, как применять основные текстовые и числовые форматы. Но знаете ли вы, как отобразить необходимое количество десятичных знаков или определенный символ валюты, и как применить экспоненциальный или финансовый формат? А знаете ли вы, какие комбинации клавиш в Excel позволяют одним щелчком применить желаемое оформление? Почему Excel сам изменяет формат ячеек и как с этим бороться?

Итак, вот о чём мы сегодня поговорим:

  • Что такое формат ячейки
  • Способы настройки формата ячеек
  • Как настроить параметры текста
  • Комбинации клавиш для быстрого изменения формата
  • Почему Excel не меняет формат ячейки?
  • Как бороться с автоматическим форматированием?
  • 4 способа копирования форматов
  • Как создать и работать со стилями форматирования

Что такое формат данных в Excel?

По умолчанию все ячейки на листах Microsoft Excel имеют формат «Общий». При этом все, что вы вводите в них, обычно остается как есть (но не всегда).

В некоторых случаях Excel может отображать значение не именно так, как вы его ввели, хотя формат установлен как Общий. Например, если вы вводите большое число в узком столбце, Excel может отобразить его в научном формате, например, 4.7E + 08. Но если вы посмотрите в строке формул, вы увидите исходное число, которое вы ввели (470000000).

Бывают ситуации, когда Excel может автоматически изменить вид ваших данных в зависимости от значения, которое вы записали. Например, если вы введете 4/1/2021 или 1/4, Excel будет рассматривать это как дату и соответствующим образом изменит формат записи.

Самый простой способ проверить формат, примененный к определенной ячейке, – выбрать ее и посмотреть на поле Числовой формат на вкладке Главная:

Важно помнить, что форматирование в Excel изменяет только внешний вид или визуальное представление содержимого, но не само значение.

Например, если у вас есть число 0,6691, и вы настроите так, чтобы отображалось только 2 десятичных знака, то оно будет отображаться как 0,67. Но реальное значение не изменится, и Excel будет использовать 0,6691 во всех расчетах.

Точно так же вы можете изменить отображение значений даты и времени так, как вам нужно. Но Excel сохранит исходное значение (целое число для даты и десятичный остаток для времени) и будет использовать их во всех функциях даты и времени и других формулах.

Чтобы увидеть настоящее значение, скрытое за числовым форматом, выберите ячейку и посмотрите на строку формул:

Как настроить формат ячейки в Excel

Когда вы хотите изменить внешний вид числа или даты, отобразить границы ячеек, изменить выравнивание и направление текста или внести какие-либо другие изменения, диалоговое окно «Формат ячеек» является основной функцией, которую следует использовать. И поскольку это наиболее часто используемый инструмент для изменения представления данных в Excel, Microsoft сделала ее доступной множеством способов.

4 способа открыть диалоговое окно «Формат ячеек».

Чтобы изменить оформление данных в определенной позиции или диапазоне в Excel, прежде всего выберите то, вид чего вы хотите изменить. А затем выполните одно из следующих четырёх действий:

  1. Нажмите комбинацию Ctrl + 1.
  2. Щелкните правой кнопкой мыши (или нажмите Shift + F10) и выберите нужный пункт во всплывающем меню.

3. Щелкните стрелку запуска диалогового окна в правом нижнем углу группы Число.

4. На вкладке «Главная» в группе «Ячейки» нажмите кнопку «Формат», а затем выберите «Формат ячеек».

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

6 вкладок диалогового окна «Формат ячеек».

Эти вкладки содержат различные параметры оформления. Расскажем о них подробнее.

Числовой формат.

Вкладка “Число” – применение определенного порядка отображения к числовым значениям.

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

Для чисел вы можете поменять следующие параметры:

  • Сколько десятичных знаков отображать.
  • Показать или скрыть разделитель тысяч.
  • Особый вид для отрицательных чисел.

По умолчанию числовой формат Excel выравнивает значения вправо.

Денежный и финансовый.

Денежный формат позволяет настроить следующие три параметра:

  • Количество отображаемых десятичных знаков,
  • Используемый символ валюты,
  • Как будут выглядеть отрицательные числа.

Финансовый формат позволяет настроить только первые 2 параметра из перечисленных выше.

Разница между ними также заключается в следующем:

  • Денежный помещает символ валюты непосредственно перед первой цифрой.
  • В финансовом выравнивается символ валюты слева и значения справа, нули отображаются как прочерк.

Другие особенности этих двух похожих форматов мы подробно рассмотрели в этой статье.

Дата и время.

Microsoft Excel предоставляет множество предустановленных форматов даты и времени для разных языков:

Дополнительные сведения и подробные инструкции о том, как создать собственное представление даты и времени в Excel, см. в следующих разделах: Формат даты в Excel.

Процент.

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

Чтобы быстро применить процентный формат без десятичных знаков, используйте комбинацию клавиш Ctrl + Shift +% .

Дополнительные сведения см. в разделе Как отображать проценты в Excel .

Дробь.

Здесь вам нужно выбирать из нескольких вариантов представления дроби:

Экспоненциальный формат

Экспоненциальный (научный) формат представляет собой компактный способ отображения очень больших или очень малых чисел. Его обычно используют математики, инженеры и ученые.

Например, вместо 0,0000000012 вы можете написать 1,2 x 10 -9. И если вы примените его к числу 0,0000000012, то получите 1,2E-09.

Единственный параметр, который вы можете здесь установить, – это количество десятичных знаков:

Чтобы быстро применить его с двумя знаками после запятой по умолчанию, нажмите на клавиатуре Ctrl + Shift + ^ .

Текст.

Если ячейка отформатирована как текст, Excel будет рассматривать её содержимое как текстовую строку, даже если там записаны число или дата. По умолчанию текстовое представление выравнивает значения по левому краю. 

Помните, что текстовый формат, применяемый к числам или датам, не позволяет использовать их в математических функциях и вычислениях Excel. Числовые значения, отформатированные как текст, выделяются маленьким зеленым треугольником в верхнем левом углу ячейки. Этот треугольник показывает, что в этой позиции что-то не так. 

И если ваша, казалось бы, правильная формула Excel не работает или возвращает неправильный результат, то первое, что нужно проверить, – имеются ли числа, отформатированные как текст.

Чтобы исправить текстовые числа, недостаточно поменять формат на «Общий» или «Число». Самый простой способ преобразовать текст в число – выбрать проблемные позиции мышкой, затем щелкнуть появившийся треугольник, и выбрать опцию «Преобразовать в число» во всплывающем меню. Некоторые другие методы описаны в статье  Как преобразовать цифры в текстовом формате в числа.

Специальный формат

Позволяет отображать числа в виде, обычном для почтовых индексов, номеров телефонов и табельных номеров:

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

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

В следующей статье мы предоставим подробные инструкции и примеры для создания пользовательского числового формата в Excel.

Вкладка «Выравнивание» – изменение выравнивания, положения и направления

Как следует из названия, эта вкладка позволяет изменять выравнивание текста. Кроме того, тут имеется ряд других опций, в том числе:

  1. Выровнять содержимое по горизонтали, вертикали или по центру. Кроме того, вы можете центрировать значение по выделению (отличная альтернатива слиянию ячеек!). Или делать отступ от любого края.
  2. Разбить текст на несколько строк в зависимости от ширины столбца и содержимого.
  3. Сжать по размеру – этот параметр автоматически уменьшает видимый размер шрифта, чтобы все данные помещались в столбце без переноса. Реальный установленный размер шрифта не изменяется.
  4. Объединить две или более ячеек в одну.
  5. Изменить направление текста. Значение по умолчанию – Контекст, но вы можете изменить его на Справа налево или Слева направо.
  6. Измените ориентацию текста. При вводе положительного числа в поле «Градусы» содержимое поворачивается из нижнего левого угла в верхний правый, а при отрицательном градусе выполняется поворот из верхнего левого угла в нижний правый. Этот параметр может быть недоступен, если ранее были выбраны другие параметры выравнивания.

На скриншоте показаны настройки вкладки «Выравнивание» по умолчанию:

Вкладка «Шрифт» – изменение типа, цвета и стиля шрифта

Используйте её, чтобы изменить тип, цвет, размер, стиль, эффекты и другие элементы шрифта:

Думаю, здесь всё интуитивно понятно – всё как в текстовом редакторе.

Вкладка «Граница» – создание границ ячеек разных стилей.

Используйте её, чтобы создать рамку вокруг выбранных ячеек в цвете и стиле по вашему выбору. Если вы не хотите удалять существующую границу, выберите «Нет».

Совет. Чтобы скрыть линии сетки в определенном диапазоне ячеек, вы можете применить белые границы (внешние и внутренние) к выбранным позициям, как показано на скриншоте ниже:

Вкладка «Заливка» – изменение цвета фона.

Вы можете закрашивать ячейки различными цветами, узорами, применять специальные эффекты заливки.

Вкладка Защита – заблокировать и скрыть ячейки

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

Как настроить текст?

Разберем несколько способов того, как можно настроить текст, чтобы сделать таблицы с данными максимально читаемыми.

Как изменить шрифт.

Разберем несколько способов изменения шрифта:

  1. Способ первый. Выделяем ячейку, переходим в раздел «Главная» и выбираем элемент «Шрифт». Открывается список, в котором каждый пользователь сможет подобрать для себя подходящий шрифт.

  1. Способ второй. Выделяем ячейку, жмем на ней правой кнопкой мыши. Отображается контекстное меню, а рядом с ним небольшое окошко, позволяющее установить шрифт.

  1. Способ третий. При помощи комбинации клавиш Ctrl+1 вызываем уже знакомое нам окно. В нём выбираем раздел «Шрифт» и проводим все необходимые настройки. Про это мы уже рассказывали чуть выше.

Выбираем способы начертания.

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

  1. При помощи комбинации клавиш:
  • Ctrl+B – полужирное;
  • Ctrl+I – курсивное;
  • Ctrl+U – подчеркнутое;
  • Ctrl+5 – перечеркнутое;
  • Ctrl+= – подстрочное;
  • Ctrl+Shift++ – надстрочный.
  1. При помощи инструментов, находящихся в разделе «Шрифт» вкладки «Главная».
  2. Используя окошко «Формат ячеек». Здесь можно выставить нужные настройки в разделах «Видоизменение» и «Начертание» (подробнее см. выше)

Выравнивание текста.

Способ выравнивания текста можно установить следующими методами:

  • Заходим в раздел «Выравнивание» вкладки «Главная». Здесь при помощи иконок можно установить способ выравнивания данных.
  • В окошке «Формат ячеек» переходим в соответствующий раздел. Здесь тоже можно выбрать все нужные опции.

Параметры форматирования ячеек на ленте.

Как вы только что убедились, диалоговое окно «Форматирование ячеек» предоставляет большое количество возможностей. Для нашего удобства на ленте также доступны наиболее часто используемые инструменты.

Чтобы быстро применить один из форматов Excel с настройками по умолчанию, сделайте следующее:

  • Выделите ячейку или диапазон, вид которых вы хотите изменить.
  • Щелкните маленькую стрелку рядом с полем Формат числа на вкладке Главная в группе Число и выберите нужный вам:

Параметры финансового формата на ленте.

Группа Число предоставляет некоторые из наиболее часто используемых параметров для отображения финансовой информации:

  • Чтобы применить числовой формат с символом валюты по умолчанию, выберите ячейку и нажмите значок со знаком $.
  • Чтобы выбрать другой символ валюты, щелкните стрелку рядом со значком доллара и выберите нужную валюту из списка. Если вы хотите использовать какой-либо другой символ валюты, нажмите «Другие финансовые форматы» в конце списка, откроется диалоговое окно с дополнительными параметрами.

  • Чтобы использовать разделитель тысяч, нажмите значок с нулями 000.
  • Чтобы отобразить больше или меньше десятичных знаков, используйте иконки «Увеличить разрядность» или «Уменьшить разрядность» соответственно. Это можно применить для финансового формата, а также для числового, процентного и денежного.

Другие параметры форматирования на ленте.

На вкладке «Главная» имеется еще несколько параметров – изменение границ ячеек, цветов заливки и шрифта, выравнивания. Например, чтобы быстро добавить границы, щелкните стрелку рядом с кнопкой Границы в группе Шрифт и выберите желаемый макет, цвет и стиль:

Вновь видим, что одно и тоже можно сделать несколькими способами – ведь про оформление границ мы уже говорили выше.

Быстрые клавиши для изменения формата данных в Excel.

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

Клавиши Применяемый формат
Ctrl + Shift + ~ Общий числовой формат
Ctrl + Shift +! Число с разделителем тысяч, двумя десятичными разрядами и знаком минус (-) для отрицательных значений
Ctrl + Shift + $ Валюта с двумя десятичными знаками и отрицательными числами, отображаемыми в скобках.
Ctrl + Shift +% Проценты без десятичных знаков
Ctrl + Shift + ^ Экспоненциальный (научный) с двумя десятичными знаками
Ctrl + Shift + # Дата (дд-ммм-гг)
Ctrl + Shift + @ Время (чч: мм: сс)

Почему не работает форматирование?

Если после изменения одного из числовых форматов Excel в ячейке появляется несколько хеш-символов (######), то обычно это происходит по одной из следующих причин:

  • Ячейка недостаточно широка для отображения данных в выбранном представлении. Чтобы исправить это, чаще всего всё, что вам нужно сделать — это увеличить ширину столбца, перетащив мышкой его правую границу. Или же просто дважды щелкните правую границу, чтобы автоматически изменить его размер, который сам подстроится под наибольшее значение в столбце.
  • Ячейка содержит отрицательную дату или дату вне поддерживаемого диапазона дат (с 01.01.1900 по 31.12.9999).

Чтобы различать эти два случая, наведите указатель мыши на знаки решетки. Если там какое-то допустимое значение, которое слишком велико, чтобы поместиться в ячейку, Excel отобразит всплывающую подсказку с реальным значением. Если указана неверная дата, вы получите уведомление о проблеме.

И второй случай, который достаточно часто встречается. Excel не меняет формат ячейки. Точнее, он меняет, но представление данных остаётся прежним.

Вы пытаетесь изменить представление даты, но ничего не происходит. Причина в том, что у вас дата записана в виде текста. Если вы будете пытаться формат для чисел применить к тексту, то ничего не произойдет. Как превратить текст в настоящую дату — читайте здесь.

Как избежать автоматического форматирования данных в Excel?

Excel – полезная программа, когда у вас есть стандартные задачи и стандартные данные. Если вы захотите пойти своим нестандартным путем, может появиться некоторое разочарование. Особенно, когда у нас большие наборы данных. Я столкнулся с одной из таких проблем, когда работал с задачами наших клиентов в Excel.

Удивительно, но это оказалось довольно распространенной проблемой: мы вводим цифры вместе с тире или косой чертой, и Excel тут же решает, что это дата. И сразу изменяет формат, не спрашивая вас.

Итак, если вы хотите найти ответ на вопрос: «Можно ли отменить автоматическое форматирование?», то ответ, к сожалению, «Нет». Но есть несколько способов справиться с таким навязчивым поведением программы.

Предварительное форматирование ячеек перед вводом данных.

Это действительно довольно простое решение, если вы только вводите данные в свою таблицу. Самый быстрый способ – следующий:

  • Выберите диапазон, в котором у вас будут особые данные. Это может быть столбец или диапазон. Вы даже можете выбрать весь рабочий лист (нажмите Ctrl + A, чтобы сделать это сразу)
  • Щелкните правой кнопкой мыши выбранное и используйте пункт «Форматировать ячейки…». Или просто нажмите Ctrl + 1.
  • Выберите текст в списке категорий на вкладке «Число».
  • Нажмите ОК

Это то, что нужно: всё, что вы вводите в этот столбец или рабочий лист, сохранит свой исходный вид: будь то 1–4 или мар-5. Оно рассматривается как текст, выровнено по левому краю, вот и все.

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

  • Отформатируйте лист как текст, следуя шагам выше;
  • Сохранить как… – тип файла шаблона Excel. Теперь каждый раз, когда вам нужен рабочий лист в текстовом формате, вы можете использовать его в своих личных шаблонах и создать из него новый лист.

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

Ввод данных в виде текста.

Другой способ запретить Excel автоматически менять формат ячеек – ввести апостроф (‘) перед вводимым вами значением. По сути, эта операция делает то же самое – жёстко определяет ваши данные как текст.

Копирование форматов в Excel.

После того, как вы приложили много усилий для расчета таблицы, вы обычно хотите добавить несколько штрихов, чтобы она выглядела красиво и презентабельно. Независимо от того, создаете ли вы отчет для своего головного офиса или сводный рабочий лист для руководства, правильное оформление – это то, что выделяет важные данные и более эффективно передает соответствующую информацию.

К счастью, в Microsoft Excel есть удивительно простой способ скопировать форматирование, которое часто упускают из виду. Как вы, наверное, догадались, я говорю об инструменте «Формат по образцу», который позволяет очень легко применить параметры отображения одной ячейки к другой.

Далее в этом руководстве вы найдете наиболее эффективные способы его использования и изучите несколько других методов для копирования форматирования в ваших таблицах.

Формат по образцу.

Он работает, копируя офорление одной ячейки и применяя его к другим.

Всего за пару щелчков мышью вы сможете изменить большую часть параметров внешнего вида, в том числе:

  • Вид числа (общий, процентный, денежный и т. д.),
  • Начертание, размер и цвет шрифта,
  • Характеристики шрифта, такие как полужирный, курсив и подчеркивание,
  • Цвет заливки (цвет фона),
  • Выравнивание текста, направление и ориентация,
  • Границы ячеек.

Во всех версиях Excel кнопка вызова этой функции находится на вкладке «Главная» в группе «Буфер обмена», рядом с кнопкой «Вставить» :

Чтобы скопировать форматирование ячеек, сделайте следующее:

  1. Выделите ячейку с тем оформлением, которое вы хотите скопировать.
  2. На вкладке «Главная» в группе «Буфер обмена» нажмите кнопку «Формат по образцу». Указатель мышки превратится в кисть.
  3. Кликните мышкой туда, где вы хотите применить это.

Готово! Целевая ячейка теперь выглядит по-новому.

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

1. Как скопировать форматирование в диапазон ячеек.

Чтобы скопировать в несколько соседних ячеек, выберите образец с желаемыми параметрами, нажмите кнопку «Формат по образцу», а затем протащите курсор кисти по ячейкам, которые вы хотите оформить.

2. Как скопировать формат в несмежные ячейки.

Чтобы скопировать в несмежные ячейки, дважды нажмите кнопку «Формат по образцу», а не один раз. Это «заблокирует» кисть, и скопированные параметры будут применяться ко всем позициям и диапазонам, которые вы щелкаете кисточкой, пока вы не нажмете клавишу Esc или же еще раз эту кнопку.

3. Как скопировать форматирование одного столбца в другой столбец построчно.

Чтобы быстро скопировать внешний вид всего столбца, выберите его заголовок, щелкните на кнопку с кисточкой, а затем кликните заголовок целевого столбца.

Новое оформление применяется к целевому столбцу построчно, включая ширину.
Таким же образом вы можете скопировать формат строки. Для этого щелкните заголовок строки-образца, нажмите на кисточку, а затем щелкните заголовок целевой строки.

Думаю, вы согласитесь, что это делает копирование формата настолько простым, насколько это возможно. Однако, как это часто бывает с Microsoft Excel, есть несколько способов выполнить любое действие. 

Вот еще два метода.

Использование маркера заполнения.

Мы часто используем маркер заполнения для копирования формул или автоматического заполнения ячеек данными. Но знаете ли вы, что он также может копировать форматы Excel всего за несколько кликов? Вот как:

  1. Установите вид первой ячейки так, как это необходимо.
  2. Выберите эту правильно отформатированную ячейку и наведите указатель мыши на маркер заполнения (небольшой квадрат в правом нижнем углу). При этом курсор изменится с белого креста выбора на черный крестик.
  3. Удерживайте и перетащите маркер над ячейками, к которым вы хотите применить форматирование.
    Это также скопирует значение первой из них в остальные. Но не беспокойтесь об этом, мы отменим это на следующем шаге.
  4. Отпустите маркер заполнения, щелкните раскрывающееся меню и выберите Заполнить только форматы:

Это оно! Значения ячеек возвращаются к исходным, и желаемый внешний вид применяется к нужным ячейкам в столбце.

Специальная вставка.

Предыдущие два инструмента отлично работают с небольшими областями данных. Но как скопировать формат определенной ячейки на весь столбец или строку, чтобы он применялся абсолютно ко всем позициям, включая пустые? Решение заключается в использовании опции «Форматы» в инструменте «Специальная вставка».

  1. Выберите ячейку с желаемым форматом и нажмите Ctrl + C, чтобы копировать её полностью в буфер обмена.
  2. Выделите весь столбец или строку, которую хотите отформатировать, щелкнув ее заголовок.
  3. Кликните на выделенном правой кнопкой мыши и выберите “Специальная вставка”.
  4. В появившемся диалоговом окне нажмите «Форматы», а затем — « ОК» .

Либо выберите параметр «Форматирование» в том же всплывающем меню: 

«Найти и выделить».

Инструмент «Найти и выделить» может искать не только значения, но и форматы. С его помощью также можно быстро менять вид вашей таблицы. Особенно это хорошо тогда, когда ячейки, которые нужно изменить, разбросаны по всему рабочему листу и вручную выделить их все будет довольно проблематично.

Предположим, в нашей таблице нужно заменить финансовый формат на денежный. И руками кликать кисточкой на каждую клетку будет очень долго. Да ещё и обязательно что-то пропустишь…

Итак, давайте рассмотрим небольшой пример. У нас есть образец в A1. Точно таким же образом мы хотим оформить все ячейки с форматом «Общий».

На ленте активируем инструмент «Найти и выделить» – «Заменить». Не вводим никаких значений для поиска, а используем кнопку «Формат» – «Выбрать формат из ячейки»

На скриншоте ниже вы можете наблюдать весь этот процесс.

После выбора исходного формата, в поле «Заменить на» можно выбрать новый, которым можно заменить исходный. Как видите, процедура в целом та же, что и при замене одних значений другими. 

Клавиши для копирования форматирования в Excel.

К сожалению, Microsoft Excel не предоставляет ни одной комбинации клавиш, которую можно было бы использовать для копирования форматов ячеек. Однако это можно сделать с помощью последовательности команд. Итак, если вы предпочитаете большую часть времени работать с клавиатуры, вы можете скопировать формат в Excel одним из следующих способов.

Клавиши для формата по образцу.

Вместо того, чтобы нажимать кнопку на ленте, сделайте следующее:

  1. Выделите ячейку, содержащую нужный формат.
  2. Нажмите Alt, H, F, P.
  3. Щелкните цель, к которой вы хотите применить форматирование.

Обратите внимание, что эти клавиши следует нажимать одну за другой, а не все сразу:

  • Alt активирует сочетания клавиш для команд ленты.
  • H выбирает вкладку “Главная” на ленте.
  • Нажатие F а затем — P, активирует кисть.

Клавиши специального форматирования.

Еще один быстрый способ скопировать формат в Excel – использовать сочетание клавиш для Специальной вставки > Форматы :

  1. Выберите ячейку, которую используем как образец.
  2. Используйте Ctrl + C чтобы скопировать ее в буфер обмена.
  3. Выберите, где будем менять оформление.
  4. Нажмите Shift + F10, S, R, а затем щелкните Войти.

Если кто-то все еще использует Excel 2007, нажмите Shift + F10, S, T, ввод.

Эта последовательность клавиш выполняет следующее:

  • Shift + F10 отображает контекстное меню.
  • комбинация Shift + S выбирает команду «Специальная вставка».
  • Shift + R выбирает для вставки только форматирование.

Это самые быстрые способы скопировать форматирование в Excel. 

Работа со стилями форматирования ячеек Excel

Использование стилей позволяет значительно ускорить процесс оформления таблицы и придать ей красивый внешний вид.

Основная цель использования стилей – автоматизация работы с данными. Используя стиль, можно быстро оформить выделенный диапазон. Для вас уже создано большое количество интегрированных готовых стилей. Как ими пользоваться – разберём пошагово:

  1. Выделяем необходимую ячейку или диапазон.
  2. Переходим на вкладку «Главная», находим на ленте раздел «Стили ячеек».
  1. Нажимаем, и на экране появляется библиотека готовых стилей.
  2. Кликаем на понравившийся стиль. Стиль применился к ячейке. Если просто навести мышку на предлагаемый стиль, но не нажимать на него, то можно предварительно посмотреть прямо на рабочем листе, как он будет выглядеть.

Как создать или изменить стиль?

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

  1. Выделяем любую ячейку и устанавливаем в ней все необходимые параметры. Это будет наш образец для создания нового стиля.
  2. Переходим в раздел «Главная» в блок «Стили ячеек». Кликаем «Создать …». Открылось окошко под названием «Стиль».
  3. Вводим любое имя.
  4. Выставляем все необходимые параметры, которые вы желаете включить.
  5. Кликаем «ОК».
  6. Теперь в библиотеку стилей добавился ваш новый уникальный, который можно использовать в этом документе.

Готовые стили, располагающиеся в библиотеке, можно самостоятельно изменять:

  1. Переходим в раздел «Стили ячеек».
  2. Жмем правой кнопкой мыши по стилю, который желаем отредактировать, и кликаем «Изменить».
  3. В открывшемся окошке кликаем «Формат», далее – «Формат ячеек» настраиваем уже знакомые нам опции. После проведения всех манипуляций кликаем «ОК».
  4. Снова нажимаем «ОК», чтобы закрыть. Редактирование завершено.

Перенос стилей в другую книгу.

Вот последовательность действий:

  1. Отрываем документ, в котором находятся созданные стили.
  2. Также открываем другой документ, в который желаем их перенести.
  3. В исходном документе переходим во вкладку «Главная» и находим раздел «Стили».
  4. Кликаем «Объединить». Появилось окошко «Объединение».
  5. В нем видим список всех открытых документов. Выбираем тот из них, в который хотим перенести созданный стиль и кликаем кнопку «ОК». Готово!

Итак, теперь вы владеете основными навыками, чтобы настроить формат ячеек в Excel. Но если вы случайно установили неудачный вид – это не проблема! Наша следующая статья научит вас, как его очистить 🙂

Благодарю вас за чтение и надеюсь вновь увидеть вас в нашем блоге!

Формат времени в Excel Вы узнаете об особенностях формата времени Excel, как записать его в часах, минутах или секундах, как перевести в число или текст, а также о том, как добавить время с помощью…
как форматировать Google таблицу Как сделать пользовательский числовой формат в Excel В этом руководстве объясняются основы форматирования чисел в Excel и предоставляется подробное руководство по созданию настраиваемого пользователем формата. Вы узнаете, как отображать нужное количество десятичных знаков, изменять выравнивание или цвет шрифта,…
Как удалить формат ячеек в Excel В этом коротком руководстве показано несколько быстрых способов очистки форматирования в Excel и объясняется, как удалить форматы в выбранных ячейках. Самый очевидный способ сделать часть информации более заметной – это…
8 способов разделить ячейку Excel на две или несколько Как разделить ячейку в Excel? С помощью функции «Текст по столбцам», мгновенного заполнения, формул или вставив в нее фигуру. В этом руководстве описаны все варианты, которые помогут вам выбрать технику, наиболее подходящую…

Форматированный ввод данных

В то время как функция printf() осуществляет форматированный вывод данных, функция scanf() осуществляет их форматированный ввод. Это значит, что поступающие на ввод данные преобразуются соответственно указанному формату(ам) и записываются по адресу(ам) указанной(ых) переменной(ых):

scanf(строка_формата, адреса_переменных);

Причина, по которой в scanf() передаются адреса, а не значения переменных, очевидна. Функция scanf() должна изменять значения переменных тех функций, из которых вызывается. Единственный способ — это получить адреса областей памяти.

Спецификации формата данных, допустимые в строке формата, для scanf() почти идентичны тем, что были описаны для функции printf(). На этом уроке мы подробно не рассмотрим все возможности форматированного ввода с помощью scanf(), зато разберем ряд конкретных примеров.

Ввод чисел, символов и строк

Пример ввода-вывода целого и вещественного чисел, символа и строки:

int a;
float b;
char ch, str[30];
 
scanf("%d%f%c%s", &a, &b, &ch, str);
printf("%d %.3f %c %sn", a, b, ch, str);

Результат:

45 34.3456y hello
45 34.346 y hello

Здесь при выполнении программы все данные были введены в одну строку. Разделителем между числами и строками является пробел, а также любой другой символ пустого пространства (например, ‘n’). Однако при считывании символа, пробел учитывается как символ; чтобы этого не произошло, в примере букву записали сразу после числа. Данные можно было бы ввести, разделяя их переходом на новую строку (опять же при этом надо иметь ввиду, как считывается символ).

В строке формата функции scanf() между спецификациями вполне допустимо поставить пробелы: %d %f %c %s. Они никакой роли не сыграют. Понятно, что данные можно было получить и так:

scanf("%d", &a);
scanf("%f", &b);
scanf("%c", &ch);
scanf("%s", str);

Обратите внимание, перед переменной str отсутствует знак амперсанда. Это не опечатка. В последующих уроках вы узнаете, что имя массива уже само по себе является ссылкой на массив (другими словами, str содержит адрес начала массива).

В функции scanf() в спецификации формата вещественных чисел не указывается точность представления числа. Запись типа %.3f или %.10lf приведет к невозможности получить вещественное число. Чтобы получить число типа double используют формат %lf, для long double – %Lf.

Для целых чисел: длинное целое – %ld, короткое целое – %hd. Кроме того, существуют спецификации для ввода восьмеричных и шестнадцатеричных чисел.

Функция scanf() возвращает количество удачно считанных данных; т.е. значение, возвращаемое функцией, можно проанализировать и таким образом узнать, корректно ли были введены данные. Например:

int a;
double b;
char ch, str[30]; 
 
ch = scanf("%d %lf %s", &a, &b, str);  
 
if (ch == 3)
    printf("%d %.3lf %sn", a, b, str);
else
    printf("Error inputn");

Обычные символы в строке формата

В строке формата scanf() допустимо использование обычных символов. В этом случае при вводе данных также должны вводится и эти символы:

int a, b, c;
 
scanf("%d + %d = %d", &a, &b, &c);
printf("Your answer is %dn", c);
printf("The correct is %dn", a+b);

В данном случае, когда программа выполняется, ввод должен выглядеть примерно так: 342+1024 = 1366. Знаки “+” и “=” обязательно должны присутствовать между числами, наличие пробелов или их отсутствие абсолютно никакой роли не играет:

45 + 839=875
Your answer is 875
The correct answer is 884

Запрет присваивания

Если какие-либо данные, вводимые пользователем, следует проигнорировать, то используют запрет присваивания, ставя после знака %, но перед буквой формата звездочку *. В таком случае данные считываются, но никакой переменной не присваиваются. Это можно использовать, например, когда нет определенной уверенности в том, что поступит на ввод, с одной стороны, и нужды сохранять эти данные, с другой:

float arr[3];
int i;
 
for(i = 0; i < 3; i++)
    scanf("%*s %f", &arr[i]);
 
printf("Sum: %.2fn", 
        arr[0]+arr[1]+arr[2]);

Здесь предполагается, что перед каждым числом будет вводится строка, которую следует проигнорировать, например:

First: 23.356
Second: 17.285
Third: 32.457
Sum: 73.098

Использование “шаблонов”

Для функции scanf() есть пара спецификаций формата, отдаленно напоминающих шаблоны командной оболочки и др. Формат […] позволяет получить строку, содержащую любые символы, указанные в квадратных скобках. Как только на ввод поступает символ, не входящий в указанный набор, считывание данных прекращается. Формат [^…], наоборот, помещает в строку символы, не входящие в указанный набор, до тех пор пока не встретит любой из указанных.

В примере ниже как только поступает не цифра, считывание ввода завершается. При этом если первый символ — не цифра, то в str вообще ничего не записывается:

char str[30]="";
 
scanf("%[0-9]", str);
printf("%sn", str);

А в этом случае строке будет присвоена последовательность символов до любого из указанных знаков препинания:

scanf("%[^;:,!?]", str);
printf("%sn", str);

Результат:

Hello, World!
Hello

Как только поступают некорректные данные, функция scanf() завершает свою работу. В примере:

scanf("%d%f", &a, &b);

если переменной a попытаться присвоить символ или строку, что невозможно, то переменная bуже обрабатываться не будет. Можно предположить, что так будет надежнее:

scanf("%d", &a);
scanf("%f", &b);

Вроде бы неудачное считывание a не должно оказывать никакого влияния на b, т.к. это уже иной вызов scanf(). Но не все так просто: при некорректном вводе данные остаются в буфере и пытаются “навязать” себя последующим вызовам scanf(). Поэтому при использовании scanf()надо думать о том, как в случае некорректного ввода очистить буфер. Например, это можно сделать так, как показано ниже, или путем использования специальных функций (здесь не рассматриваются):

// если данные не удалось присвоить,
if (scanf("%d", &a) != 1)
    // то выбросить их в виде строки
    scanf("%*s"); 
scanf("%f", &b);

Разделителем данных для scanf() являются символы пустого пространства. Это означает отсутствие возможности записать строку, содержащую неизвестное количество пробелов, в одну переменную, используя только scanf(). Придется использовать либо другую функцию (например, getchar()), либо создать циклическую конструкцию, считывающую по одному слову и добавляющую его к общей строке.

Таким образом, не смотря на достаточно большие возможности scanf(), эта функция хранит в себе ряд неудобств и опасностей.

  1. На прошлом занятии вы написали программу, содержащую функции, вычисляющие факториал числа и заданный элемент ряда Фибоначчи. Измените эту программу таким образом, чтобы она запрашивала у пользователя, что он хочет вычислить: факториал или число Фибоначчи. Затем программа запрашивала бы у пользователя либо число для вычисления факториала, либо номер элемента ряда Фибоначчи.
  2. Напишите программу, которая запрашивает у пользователя две даты в формате дд.мм.гггг. Дни, месяцы и года следует присвоить целочисленным переменным. Программа должна выводить на экран информацию о том, какая дата более ранняя, а какая более поздняя.
  3. Используя цикл, напишите код, в котором пользователю предлагается вводить данные до тех пор, пока он не сделает это корректно, т.е. пока все указанные в scanf() переменные не получат свои значения. Протестируйте программу.

Курс с решением части задач:
pdf-версия, android-приложение

Добавить комментарий