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

Продолжаем бороться в MS EXCEL 2007 с автоматическим преобразованием формата ячейки при вводе данных в ячейку. При вводе пользователем данных, EXCEL пытается определить тип вводимых данных. Если данные можно перевести в формат даты, то EXCEL производит соответствующее преобразование и форматирование. Часто текстовые строки действительно имеют формат дат (2-3-8, т.е. 2 марта 2008), но на самом деле ими не являются (например, это м.б. артикул). В этом случае необходимо запретить EXCEL выполнять автоматическое преобразование и форматирование.

Продолжаем бороться с автоматическим преобразованием формата ячейки при вводе текстовых данных (см. Часть 1). Предположим, что на листе MS EXCEL 2007 содержатся импортированные текстовые данные следующего вида: "2 - 3 - 8" (без кавычек, дефисы отделены от цифр пробелами. В MS EXCEL 2010 данные будут преобразованы в дату при вставке). Если использовать инструмент Заменить (Главная/ Найти и выделить/ Заменить) для избавления от пробелов, то после удаления пробелов EXCEL заменит текст «2-3-8» на дату «02.03.08» (даже если Формат ячейки был текстовый).

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

Существует еще одно решение. Предположим текстовая строка "2 - 3 - 8" (с пробелами) находится в ячейке А1.

  • ячейке B1 установим текстовый формат;
  • введем в ячейку B1 формулу =ПОДСТАВИТЬ(A1;" ";"") - т.е. избавимся от пробелов;
  • скопируем (CTRL+C) содержимое ячейки B1 в Буфер обмена и вставим (CTRL+V) туда же как значение.

Подход работает, т.к. результат выполнения функции ПОДСТАВИТЬ() всегда интерпретируется EXCEL как текст.

Связанные статьи

Похожие задачи
Прочитайте другие статьи, решающие похожие задачи в MS Excel. Это позволит Вам решать широкий класс подобных задач.
Средняя: 3.2 (5 оценок)

Комментарии

Adam (не проверено)

А есть ли возможность вообще запретить попытку преобразование строки в число, дату и т.п. "

Creator

В некоторых случаях это возможно. Если ячейка имеет формат Текстовый, то вы можете ввести в ячейку, например, 2/3 и это выражение не будет преобразовано в 2 марта, а так и останется 2/3. Но если вы введете в ячейку с текстовым форматом, рассмотренное в статье выражение 2 - 3 - 8 и попытаетесь удалить пробелы указанным в статье способом, то выражение все же будет преобразовано, а формат ячейки будет изменен на Дата.