Автоматическое преобразование формата ячейки в EXCEL при вводе ТЕКСТовых данных (Часть 1)

history

При вводе пользователем данных, EXCEL пытается определить тип вводимых данных. Если данные можно перевести в формат даты или числа, то EXCEL производит соответствующее преобразование и форматирование. Преобразование производится «на лету» после нажатия клавиши ENTER . Часто текстовые данные действительно имеют формат дат (1-05, 2.12) или чисел (000123456), но на самом деле ими не являются. В этом случае необходимо запретить EXCEL выполнять автоматическое преобразование и форматирование.


При вводе текстовых данных определенного вида, например: 1-05, 2.12, 1 e 2, 00012456 , EXCEL автоматически меняет формат ячейки и преобразовывает текст в другой, как ему кажется,  подходящий тип данных. Это приводит к тому, что 1-05 и 2.12 будут преобразованы в даты ( 01.май и 02.дек ), а 1 e 2 и 000123456 в числа (в 1,00 E +02 , т.е. 100 и в 123456 ).

Допустим, мы вводим текст 1-05 (пусть это будет артикул товара) и хотим, чтобы EXCEL сохранил в ячейке именно текст, а не что-либо другое.

Что же происходит при вводе значения в ячейку? Если ячейка имеет формат Общий (формат ячейки по умолчанию), EXCEL преобразует текст 1-05 в дату 01.май : формат ячейки изменяется с Общий на формат Дата (точнее все форматы /ДД.МММ). Если мы вернем ячейке формат Общий , то в ячейке увидим число 40299 (если сейчас 2010 год), что соответствует 01.05.2010 . Вернуть исходное значение 1-05 простым преобразованием формата уже не представляется возможным - EXCEL интерпретировал 1-05 , как дату 01.05.2010 и вставил в ячейку соответствующее ей число 40299 .

Универсальным способом отмены автоматического преобразования формата является явное указание желаемого формата перед вводом данных. Т.е. выделяем ячейки, в которые необходимо ввести заведомо текстовые данные и устанавливаем им текстовый формат. Для вызова формата ячейки нажмите CTRL+1 .

Есть и другой способ. Чтобы EXCEL автоматически при вводе текстовых данных назначал ячейкам текстовый формат, перед вводимым текстом можно ввести знак апострофа ('), т.е. в нашем случае необходимо ввести ‘1-05 (давайте введем его на новом листе в ячейку А1 ). Почему именно апостроф? Есть две причины: этот символ не отображается в ячейке (если он введен первым) и он игнорируется формулами. Например, после ввода формулы =ЛЕВСИМВ(A1;4) получим 1-05 , а не ‘1-0 , как вроде следовало бы ожидать.

Использование апострофа - не единственный способ отмены автоматического преобразования формата при вводе значений. Можно вместо апострофа ввести перед словом пробел или после слова точку. Например, если нужно ввести 2.3 (что превращается 02.мар ), то вводим 2.3. (после 3 стоит точка).

Другой пример об автоматическом преобразовании формата читайте в Части 2 .

СОВЕТ: Неправильный формат значения – это частый тип ошибки, к тому же, который трудно найти. Подсказкой может служить выравнивание значения в ячейке: если значение выровнено по правой стороне, то это число, а если по левой, то текст. Если ранее было сделано другое выравнивание в ячейке, то через Формат ячеек / Вкладка Выравнивание / По горизонтали установите параметр « По Значению ».

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


Комментарии

Только для авторизованных пользователей

Аноним, 27 декабря 2017 г.
Как сделать, чтобы в ячейке, где введена формула, оставался формат "Общий"? Редактирую чуток формулу - формат сбивается. Просто копирую её для подстановки в другое место - формат сбивается... Достало уже. В начале стоит знак "=". Какой дурак решил, что это может быть "текст"? Очевидно же, что формула... А эксель - меняет формат и вместо значения формулы - показывает саму формулу. Интересно, что при копировании формул из ячеек с форматом "дата" такой проблемы нет. Всё хорошо, "дата" держится крепко. А "общий" сменяется "текстовым".
Михаил, 28 декабря 2017 г.
Можете прислать формулу? Я написал формулу, возвращающую текст, но формат Общий не изменился.
Михаил, 10 августа 2019 г.
так устроен мир, т.е excel ))))
(только для авторизованных пользователей)

© Copyright 2013 - 2024 Excel2.ru. All Rights Reserved