Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Еще…Меньше
Microsoft Excel предварительно программируется, чтобы упростить ввод дат. Например, 12/2 изменяется на 2-дек. Это очень неприятно, если вы вводите что-то, что не хотите менять на дату. К сожалению, отключить эту возможность не получится. Однако существует несколько способов обойти это.
Предформатация ячеек, в которые нужно ввести числа, в виде текста. В этом случае Excel не будет пытаться изменить то, что вы вводите в даты.
Если нужно ввести всего несколько чисел, можно сделать так, чтобы Excel не превнося их в даты, введите:
-
Пробел перед вводом числа. После нажатия ввод пробел останется в ячейке. (См. заметки)
-
Апостроф (‘) перед вводом числа, например ’11-53 или ‘1/47. Апостроф не отображается в ячейке после нажатия ввода.
-
Нуль и пробел перед вводом дроби, например 1/2 или 3/4, чтобы они не менялись, например, на 2-янв или 4-мар. Введите 0 0 1/2 или 0 3/4. Ноль не остается в ячейке после нажатия ввод, и ячейка становится типом дробного числа.
-
Выйдите из ячеек, в которые нужно ввести числа.
-
Нажмите клавиши CTRL+1 (1 в строке чисел над клавишами QWERTY), чтобы открыть формат ячеек.
-
Выберите тексти нажмите кнопку ОК.
-
Выберите ячейки, в которые необходимо ввести числа.
-
Щелкните Главная > Числовой формат > Текст.
Примечания:
-
Рекомендуется использовать апостроф вместо пробела для ввода данных, если вы планируете использовать функции подменю для данных. Такие функции, как ПОИСКПОЗ и ВПР, не учитывают апострофы при вычислении результатов.
-
Если число в ячейке выровнено по левому краю, обычно это означает, что оно не отформатировано как число.
-
При введении в ячейку числа с буквой «е», например 1e9, оно автоматически преобразуется в научное число: 1,00E+09. Чтобы избежать этого, введите перед числом апостроф: ‘1e9
-
В зависимости от введенного числа в левом верхнем углу ячейки может появиться маленький зеленый треугольник, указывающий на то, что число хранится как текст ,что для Excel является ошибкой. Не обращайте внимание на треугольник или щелкните его. Слева появится поле. Щелкните поле, а затем выберитеигнорировать ошибку , из-за чего треугольник будет отопуститься.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Нужна дополнительная помощь?
Исправление чисел, превратившихся в даты
При импорте в Excel данных из внешних программ, иногда возникает весьма неприятная проблема — дробные числа превращаются в даты:
Так обычно происходит, если региональные настройки внешней программы не совпадают с региональными настройками Windows и Excel. Например, вы загружаете данные с американского сайта или европейской учётной системы (где между целой и дробной частью — точка), а в Excel у вас российские настройки (где между целой и дробной частью — запятая, а точка используется как разделитель в дате).
При импорте Excel, как положено, пытается распознать тип входных данных и следует простой логике — если что-то содержит точку (т.е. российский разделитель дат) и похоже на дату — оно будет конвертировано в дату. Всё, что на дату не похоже — останется текстом.
Давайте рассмотрим все возможные сценарии на примере испорченных данных на картинке выше:
- В ячейке A1 исходное число 153.4182 осталось текстом, т.к. на дату совсем не похоже (не бывает 153-го месяца)
- В ячейке A2 число 5.1067 тоже осталось текстом, т.к. в Excel не может быть даты мая 1067 года — самая ранняя дата, с которой может работать Excel — 1 января 1900 г.
- А вот в ячейке А3 изначально было число 5.1987, которое на дату как раз очень похоже, поэтому Excel превратил его в 1 мая 1987, услужливо добавив единичку в качестве дня:
- То же самое случилось и в ячейке А4, где изначально было число 12.6923. Причем 6923-й год Excel тут нисколько не смутил — для него главное, чтобы дата была не раньше 1900 года. Так что добро пожаловать в далекое будущее:
- Единственное, что распознаётся корректно — это числа без дробной части (число 1000 в ячейке А6). И на том спасибо
Вот такие варианты. И если текстовые числа ещё можно вылечить банальной заменой точки на запятую, то с числами превратившимися в даты такой номер уже не пройдет. А попытка поменять их формат на числовой выведет нам уже не исходные значения, а внутренние коды дат Excel — количество дней от 01.01.1900 до текущей даты:
Лечится вся эта история тремя принципиально разными способами.
Способ 1. Заранее в настройках
Если данные ещё не загружены, то можно заранее установить точку в качестве разделителя целой и дробной части через Файл — Параметры — Дополнительно (File — Options — Advanced):
Снимаем флажок Использовать системные разделители (Use system separators) и вводим точку в поле Разделитель целой и дробной части (Decimal separator).
После этого можно смело импортировать данные — проблем не будет.
Способ 2. Формулой
Если данные уже загружены, то для получения исходных чисел из поврежденной дата-тексто-числовой каши можно использовать простую формулу:
=—ЕСЛИ(ЯЧЕЙКА(«формат»;A1)=»G»; ПОДСТАВИТЬ(A1;».»;»,»); ТЕКСТ(A1;»М,ГГГГ»))
В английской версии это будет:
=—IF(CELL(«format«;A1)=»G»; SUBSTITUTE(A1;».»;»,»); TEXT(A1;»M,YYYY«))
Логика здесь простая:
- Функция ЯЧЕЙКА (CELL) определяет числовой формат исходной ячейки и выдаёт в качестве результата «G» для текста/чисел или «D3» для дат.
- Если в исходной ячейке текст, то выполняем замену точки на запятую с помощью функции ПОДСТАВИТЬ (SUBSTITUTE).
- Если в исходной ячейке дата, то выводим её в формате «номер месяца — запятая — номер года» с помощью функции ТЕКСТ (TEXT).
- Чтобы преобразовать получившееся текстовое значение в полноценное число — выполняем бессмысленную математическую операцию — добавляем два знака минус перед формулой, имитируя двойное умножение на -1.
Способ 3. Макросом
Если подобную процедуру лечения испорченных чисел приходится выполнять часто, то имеет смысл автоматизировать процесс макросом. Для этого жмём сочетание клавиш Alt+F11 или кнопку Visual Basic на вкладке Разработчик (Developer), вставляем в нашу книгу новый пустой модуль через меню Insert — Module и копируем туда такой код:
Sub Fix_Numbers_From_Dates() Dim num As Double, cell As Range For Each cell In Selection If Not IsEmpty(cell) Then If cell.NumberFormat = "General" Then num = CDbl(Replace(cell, ".", ",")) Else num = CDbl(Format(cell, "m,yyyy")) End If cell.Clear cell.Value = num End If Next cell End Sub
Останется выделить проблемные ячейки и запустить созданный макрос сочетанием клавиш Alt+F8 или через команду Макросы на вкладке Разработчик (Developer — Macros). Все испорченные числа будут немедленно исправлены.
Ссылки по теме
- Как Excel на самом деле работает с датами и временем
- Замена текста функцией ПОДСТАВИТЬ
- Функция ВПР и числа-как-текст
Содержание
- Решение проблемы отображения числа как даты
- Способ 1: контекстное меню
- Способ 2: изменение форматирования на ленте
- Вопросы и ответы
Бывают случаи, когда при работе в программе Excel, после занесения числа в ячейку, оно отображается в виде даты. Особенно такая ситуация раздражает, если нужно произвести ввод данных другого типа, а пользователь не знает как это сделать. Давайте разберемся, почему в Экселе вместо чисел отображается дата, а также определим, как исправить эту ситуацию.
Решение проблемы отображения числа как даты
Единственной причиной, почему данные в ячейке могут отображаться как дата, является то, что в ней установлен соответствующий формат. Таким образом, чтобы наладить отображение данных, как ему нужно, пользователь должен его поменять. Сделать это можно сразу несколькими способами.
Способ 1: контекстное меню
Большинство пользователей для решения данной задачи используют контекстное меню.
- Кликаем правой кнопкой мыши по диапазону, в котором нужно сменить формат. В контекстном меню, которое появится после этих действий, выбираем пункт «Формат ячеек…».
- Открывается окно форматирования. Переходим во вкладку «Число», если оно вдруг было открыто в другой вкладке. Нам нужно переключить параметр «Числовые форматы» со значения «Дата» на нужное пользователю. Чаще всего это значения «Общий», «Числовой», «Денежный», «Текстовый», но могут быть и другие. Тут все зависит от конкретной ситуации и предназначения вводимых данных. После того, как переключение параметра выполнено жмем на кнопку «OK».
После этого данные в выделенных ячейках уже не будут отображаться как дата, а станут показываться в нужном для пользователя формате. То есть, будет достигнута поставленная цель.
Способ 2: изменение форматирования на ленте
Второй способ даже проще первого, хотя почему-то менее популярный среди пользователей.
- Выделяем ячейку или диапазон с форматом даты.
- Находясь во вкладке «Главная» в блоке инструментов «Число» открываем специальное поле форматирования. В нём представлены самые популярные форматы. Выбираем тот, который наиболее подходит для конкретных данных.
- Если среди представленного перечня нужный вариант не был найден, то жмите на пункт «Другие числовые форматы…» в этом же списке.
- Открывается точно такое же окно настроек форматирования, как и в предыдущем способе. В нём расположен более широкий перечень возможного изменения данных в ячейке. Соответственно, и дальнейшие действия тоже будут точно такими же, как и при первом варианте решения проблемы. Выбираем нужный пункт и жмем на кнопку «OK».
После этого, формат в выделенных ячейках будет изменен на тот, который вам нужен. Теперь числа в них не будут отображаться в виде даты, а примут заданную пользователем форму.
Как видим, проблема отображения даты в ячейках вместо числа не является особо сложным вопросом. Решить её довольно просто, достаточно всего нескольких кликов мышкой. Если пользователь знает алгоритм действий, то эта процедура становится элементарной. Выполнить её можно двумя способами, но оба они сводятся к изменению формата ячейки с даты на любой другой.
Еще статьи по данной теме:
Помогла ли Вам статья?
На чтение 6 мин. Просмотров 2.2k. Опубликовано 11.08.2021
Как-то попалась на глаза новость: Учёные переименовали 27 человеческих генов из-за Excel. Программа принимала их названия за даты. Кто в танке не в курсе, то при написании похожих на даты в разной записи чисел или текста, Excel в одностороннем порядке пытается превратить их в дату. Одна из самых известных и за столько лет непоправленных недоразумений в Excel. Недавно я опубликовал свой скрипт Excel-CSVD для решения этой проблемы, но хотелось бы собрать в одном месте все известные мне способы для отмены автоматической конвертации чисел в даты.
Все способы можно поделить на 3 типа:
- правка непосредственно в открытой программе Excel
- чтение файлов csv или txt без возможности записи значений в файл
- чтение файлов csv или txt при возможности записи значений в файл
Почему мы рассматриваем только формата csv/txt, ведь большинство работают в xls/xlsx форматах? В родных форматах Excel сохраняются свойства ячеек, столбцов, строк. Поэтому единожды задав правильно тип ячейки, можно уже не беспокоится, что при открытии неправильно что-то отобразится.
Содержание
- При работе в открытом Excel
- Изменение формата ячейки
- Вставка символа апострофа перед любым текстом
- Вставка формулы с текстом
- Чтение файлов csv или txt без возможности записи значений в файл
- Использование скрипта Excel-CSVD
- Использование импорта данных на вкладке Данные
- Чтение файлов csv или txt при возможности записи значений в файл
- Использование формул при записи csv/txt файла
- Использование скрытых символов при записи csv/txt файла
При работе в открытом Excel
Если в любой ячейке написать, например, 1/4, то это превратится в 04-янв. Для изменения поведения Excel есть такие способы
Практически все эффекты от способов, сделанные в открытой программе Excel, при сохранении в формат .csv и .txt потеряются. Поэтому при открытии опять будут даты вместо значений.
Изменение формата ячейки
Так как у ячейки по умолчанию всегда стоит формат Глобальный, то Excel пробует угадать за пользователя, что он хочет вбить: текст, число, формулу или дату. Ну не всегда это у него получается. Для того, чтобы отключить эту автоматическую конвертацию, нужно сделать ячейку/столбец/строку текстом. Более подробно на видео (ссылка).
Вставка символа апострофа перед любым текстом
Если в ячейке в режиме редактирования сначала написать символ апострофа, а потом любой текст — то он автоматом станет текстом, а сам символ апострофа не будет виден в ячейке. При редактировании символ отображается.
Вставка формулы с текстом
Для того, чтобы в формуле написать текст, нужно обрамить его в кавычки.
Чтение файлов csv или txt без возможности записи значений в файл
Обычно файлы csv генерятся какой-нибудь программой. И поэтому проблема в большинстве случаев в том, что поменять сам вывод программы никак нельзя. Отсюда необходимость, чтобы способ был без правки самого файла csv.
Использование скрипта Excel-CSVD
Суть скрипта Excel-CSVD в том, что он открывает файл полностью, как текст. Поэтому он всегда отобразит все данные, как есть. Причем действий со стороны пользователя будет минимально.
К плюсам данного способа можно смело отнести отсутствие правки самого файла csv. При сохранении значения запишутся правильно обратно в файл.
Минус данного способа состоит в том, что при открытии файла все данные (числа или даты) будут текстовые. Это даст неправильную сортировку чисел и дат. При вставке в ячейку формулы, она станет текстом. Для того, чтобы формула заработала в такой ячейке, надо изменить формат на Общий или Формула в свойствах ячейки.
Использование импорта данных на вкладке Данные
Любой файл csv/txt можно импортировать на текущий лист с помощью кнопки на вкладке Данные — Импорт из текста. При импорте пользователь сам выбирает, как разделять данные (по разделителю или по количеству символов фиксировано). Дальше пользователю надо каждую колонку, где Excel может изменить данные на дату, сделать в формате Текст. По ссылке более подробно рассказано про импорт.
Плюс способа в том, что при импорте можно выбрать только необходимые колонки (а не все подряд) как Текст. При этом в остальных колонках сортировка останется нормальной.
Минус только в том, что для пользователя операции импорта с последующим выбором колонок — это куча щелчков мышью. Если операцию нужно проводить постоянно, то этот способ очень муторный.
Чтение файлов csv или txt при возможности записи значений в файл
Если возможно влиять на запись значений в файле csv или txt, то можно использовать следующие способы.
Использование формул при записи csv/txt файла
Определенные данные, которые могут вызвать проблемы с отображением, можно записать виде формулы
При открытии такого файла во втором столбце Excel правильно отобразит значение. А в третьем столбце по умолчанию превратит в дату.
Плюсом данного способа является то, что Excel будет правильно отображать данные и работать с другими данными в формулах, например, сравнения с другими ячейками.
К минусам способа можно отнести, что при сохранении такого файла с помощью Excel в csv формулы пропадут. При следующем открытии пользователь увидит даты вместо значений. Также данные будут текстом, а значит, проблемы с сортировкой остаются.
Использование скрытых символов при записи csv/txt файла
Смысл такого способа в том, чтобы дать Excel нестандартный символ, который в формате даты не используется. Самый простой скрытый символ, доступный для пользователя, это либо пробел, либо табуляция.
Почему табуляцию лучше использовать вместо пробела? Все из-за Excel, который практически игнорирует табуляцию. Для пользователя не будет видно, что есть такой символ. А пробел Excel отобразит и текст немного сместиться на символ вправо.
К плюсам следует отнести, что при сохранении файла скрытые символы запишутся вместе со значениями в ячейках, а, значит, при следующем открытии все отобразится верно без дат.
К минусам данного способа относится тот факт, что пользователь не сможет проверять текст на равенства или использовать нормально формулы, так как символ будет в тексте, и с ним надо что-то делать. Например, пробелы спереди можно убирать функцией СЖПРОБЕЛЫ, а табуляцию с помощью ПЕЧСИМВ.
Я рассмотрел несколько способов, как можно открывать файлы и отключить конвертацию значений в даты. В большинстве случаев они базируются на превращении данных в текст. На мой взгляд, без лишней скромности, самый простой способ это юзать мой бесплатный скрипт Excel-CSVD. Все остальные способы требуют от пользователя каких-то лишних действий. Скрипт Excel-CSVD можно привязать к исполнению файлов csv, и открывать из меню Открыть с помощью. Но тут у каждого свой подход и свои заморочки.
Всем удачной работы в Excel…
Содержание:
- Почему Excel преобразует числа в текст?
- Остановить Excel от автоматического преобразования чисел в даты
- Измените формат на текст
- Добавьте апостроф перед числом
В Excel есть несколько действительно умных функций, которые могут быть действительно полезны во многих случаях (а иногда и разочаровывать).
Одна из таких областей — когда вы вводите числа в Excel. Иногда Excel автоматически заменяет эти числа датами.
Например, если вы введете 1/2 в Excel, Excel автоматически изменит это на 01-02-2020 (или 02-01-2020, если вы находитесь в США).
Точно так же, если вы введете 30-06-2020, Excel предполагает, что вы хотите ввести дату, и изменит ее на дату (как показано ниже).
Хотя в большинстве случаев это может быть то, что вам нужно, но что, если я не хочу этого. Что, если мне просто нужен точный текст 30-06-2020 или дробь 1/2.
Как запретить Excel менять числа на даты?
Вот о чем этот урок.
В этом руководстве по Excel я покажу вам два действительно простых способа остановить преобразование чисел в текст в Excel.
Но прежде чем я покажу вам методы, позвольте мне быстро объяснить, почему Excel это делает.
Почему Excel преобразует числа в текст?
Хотя это может расстраивать, когда Excel делает это, он пытается помочь.
В большинстве случаев, когда люди вводят числа, которые также могут представлять допустимые форматы дат в Excel, они автоматически преобразуются в даты.
И это просто не означает, что он меняет формат, это фактически меняет базовое значение.
Например, если вы введете 3/6/2020 (или 6/3/2020, если вы находитесь в США и используете формат даты в США), Excel изменит значение ячейки на 44012, что является числовым значением даты.
Остановить Excel от автоматического преобразования чисел в даты
Единственный способ запретить Excel преобразовывать эти числа (или текстовую строку) в даты — это очистить, дав ему понять, что это не числа.
Посмотрим, как это сделать.
Измените формат на текст
Самый простой способ убедиться, что Excel понимает, что не следует изменять число на текущий момент, — это указать формат ячейки как текст.
Поскольку даты хранятся в виде чисел, когда вы задаете формат текста ячейки, Excel поймет, что введенное число должно быть в текстовом формате, а не преобразовываться в дату.
Ниже описано, как можно запретить Excel преобразовывать числа в даты:
- Выберите ячейку или диапазон ячеек, в которых вы хотите сделать формат как текст
- Перейдите на вкладку «Главная»
- В группе «Число» щелкните значок средства запуска диалогового окна (или вы можете использовать сочетание клавиш Ctrl + 1).
- В диалоговом окне Формат ячеек в параметре категории щелкните Текст
- Нажмите ОК.
Вышеупомянутые шаги изменили бы формат ячейки на текст. Теперь, когда вы вводите любое число, например 30-06-2020 или 1/2, Excel не преобразует их в формат даты.
Вы также можете открыть диалоговое окно «Формат ячеек», выбрав ячейку, щелкнув ее правой кнопкой мыши, а затем выбрав параметр «Форматировать ячейку».
Примечание: Вам необходимо изменить формат перед вводом числа. Если вы сделаете это после ввода числа, это изменит формат на текст, но вы получите числовое значение даты, а не точное число / текстовую строку, которую вы ввели.
Этот метод лучше всего подходит, когда вам нужно изменить формат диапазона ячеек. Если вам нужно сделать это только для пары ячеек, лучше использовать метод апострофа, описанный ниже.
Также прочтите: Как преобразовать серийные номера в даты в Excel (2 простых способа)
Добавьте апостроф перед числом
Если вам нужно ввести число только в несколько ячеек, и вы не хотите, чтобы Excel менял его на текущий момент, вы можете использовать этот простой прием.
Просто добавьте знак апострофа перед вводом числа (как показано ниже).
Когда вы добавляете апостроф в самом начале, Excel считает эту ячейку текстом.
Хотя вы не увидите знака апострофа, вы можете визуально увидеть, что числа будут выровнены по левому краю (указывая, что это текст).
По умолчанию все числа выравниваются по правому краю, а все текстовые значения выравниваются по левому краю.
Еще одним преимуществом использования знака апострофа является то, что вы по-прежнему можете использовать формулы поиска (например, ВПР или ПОИСКПОЗ), используя значение в ячейке. Эти функции игнорируют апостроф.
Вы также можете использовать этот метод для преобразования существующих дат в текст. Например, если у вас есть 30-06-2020 в ячейке, вы можете просто добавить апостроф (‘) в начале, и тогда дата будет заменена на текст.
Иногда вы можете увидеть зеленый треугольник в верхней левой части ячейки, который указывает на то, что числа были сохранены в виде текста в этих ячейках. Но поскольку в данном случае это именно то, что нам нужно, вы можете игнорировать эти зеленые треугольники или щелкнуть по ним, а затем выбрать опцию «Игнорировать ошибку», чтобы она исчезла.
Хотя эти методы хороши, что, если у вас есть столбец, полный дат, который вы хотите использовать как текст, а не как даты. Вот несколько простых методов, которые вы можете использовать для преобразования даты в текст в Excel.
Надеюсь, вы нашли это руководство по Excel полезным!