Введите дату в excel без разделителей
Обновлено: 21.11.2024
Я хотел бы иметь возможность вводить дату в Excel как просто символы без тире и правильно распознавать ее, например, 05142006 меняется на 14.05.2006. У меня есть много данных для ввода, и это было бы намного быстрее, если бы я мог сделать это в этом формате. Есть ли сценарий VBA или функция Excel, которую я мог бы использовать для этого? Я пытался немного поискать здесь и в настройках программы, но я в тупике. Спасибо!
Маска ввода даты в Excel
Я нашел что-то, что работает на странице ввода даты и времени, упомянутой в разделе справки, но я могу заставить ее работать только для двух диапазонов.
Он использует следующий оператор:
If Application.Intersect(Target, Range("E2:R2")) Is Nothing Then
Я понял, как добавить второй набор диапазонов, добавив его через запятую ("E2:R2","E8:R8")) но, похоже, это не работает для третьего набора. Как я могу включить дополнительные диапазоны в этот оператор, потому что в противном случае остальная часть скрипта работает идеально.
СНАЧАЛА ПОПРОБУЙТЕ ЧТО-НИБУДЬ ПРОСТОЕ.
Попробуйте это. Введите все свои даты, а затем отформатируйте ячейки так, как вы хотите. Это очень просто, просто выберите ячейки, которые вы хотите отформатировать, а затем перейдите в «Формат» -> «Ячейки». В окне «Формат ячеек» нажмите «Пользовательский» в поле категории. Затем измените тип в поле типа. Excel распознает m как месяц, d как день и y как год. Итак, вы хотите ввести «ммддгггг», пример, который они используют, это мм/дд/гггг. но вы не хотите, чтобы эти косые черты были правильными. так что просто уберите их.
Надеюсь, вам это поможет.
Удачи,
Дэйв
Извините, возможно, я не так хорошо объяснился.
Я хочу иметь возможность ввести "032404" в поле даты, чтобы Excel распознал его как 24.03.04. Если я ввожу 032404 в ячейку, она распознает ее как 18.09.1988. Меня не столько волнует, как Excel отображает дату после того, как я ее введу, сколько то, что он распознает ее как дату, которую я хотел.
Сценарий, который я получил, работает очень хорошо, и я могу изменить его для двух наборов ячеек даты, которые хочу использовать, но не могу заставить его работать с тремя наборами ячеек даты.
Хорошо. Вот подход грубой силы с использованием формул. Пожалуйста, пожалуйста, пожалуйста, мастера Excel, не издевайтесь надо мной. Это работает, просто беспорядок
Если ваше числовое значение находится в формате ddmmyy в A1, вот вывод в B1
=CONCATENATE((LEFT(A1,2)),"/",(RIGHT(LEFT(A1,4),2) )),"/",(RIGHT(LEFT(A1,6),2)))
Убедитесь, что к A1 применен текстовый формат. Таким образом, 0 в "032404" не будет обрезан.
Конечно, для этого вам понадобятся две ячейки. но погодите, если вам это действительно нужно.
Пользовательский формат: 00\/00\/0000
Это позволит вам ввести "05142006"; фактическая ячейка потеряет предшествующий ноль, но будет отображаться как «14.05.2006»
редактировать: в вашем последнем сообщении говорится, что вы хотите ввести "032404", поэтому для этого потребуется собственный формат: 00\/00\/00
Я должен был упомянуть, что это расширение из предыдущего поста, и мне нужно, чтобы поле даты не только отображалось в формате даты, но и оставалось полем даты, а не текстовым полем, потому что я использовал составленный для меня рабочий лист, который фактически считывает поле, чтобы определить соответствующую сумму пробега на основе даты.
Во всяком случае, я понял, как правильно отформатировать команду диапазона, чтобы включить столько, сколько я хочу! Спасибо всем за вашу помощь! Вы здесь гении.
Не хотите опубликовать свое решение для будущих поисков?
Просмотрев опубликованную формулу, я подумал, как упростить ее и сохранить формат даты в выходной ячейке.
Вот новая формула:
=DATE(MID(A1,5,2),MID(A1,1,2),MID(A1,3,2))
A1 по-прежнему содержит дата в текстовом формате "032404"
B1 теперь содержит значение даты "24 марта-04"
Теперь вы можете использовать столбец B в качестве "поля даты"
Вот автоматический способ ввода дат без разделителей.
Еще раз спасибо! Это очень похоже на сценарий VBS, который я действительно использовал. Это тоже сработало лучше всего, так как Excel по-прежнему должен уметь распознавать дату, чтобы найти соответствующий пробег в таблице. Теперь у меня все почти идеально — это значительно облегчит мне работу! Я опубликую копию на случай, если кто-то захочет использовать ее для аналогичной задачи. Мне просто нужно работать с промежуточным итогом внизу, так как Excel суммирует его со всеми десятичными точками, и я не могу заставить TRUNC или ROUND работать правильно, основываясь на том, как я это сделал, но это совсем другой поток :спин:
Файлы
Введите =INT(A1) в другой столбец (скройте, если нужно) и просуммируйте ЭТОТ столбец.
Спасибо, что поделились окончательным файлом.
Да. Ваш вопрос был двусмысленным и расплывчатым.
Начните новую тему, не предполагая, что мы можем читать ваши мысли, и прекратите использовать теги кода в формулах.
Как легко вводить даты без косой черты в Excel?
Как правило, когда мы вводим стандартные даты, нам нужно вводить косые черты для их разделения, например ММ/ДД/ГГГГ . Но в некоторых случаях вы можете захотеть напрямую ввести даты в виде порядковых номеров, например, 01022016, а затем даты можно преобразовать в стандартное форматирование дат как 02.01.2016, как показано на снимке экрана ниже. В этой статье я расскажу о том, как легко вводить стандартные даты без косой черты в Excel.
Введите даты без косой черты с помощью функции «Текст в столбцы»
Введите даты без косой черты с помощью функции «Формат ячеек»
Введите даты без косой черты с помощью формулы
Enter даты без косой черты с Kutools for Excel
<р>1. Выберите 8-значные числа и нажмите «Данные» > «Текст в столбцы». Смотрите скриншот:
<р>2. На шаге 1 мастера преобразования текста в столбцы установите флажок Фиксированная ширина, см. снимки экрана:
<р>3. Нажмите «Далее»> «Далее», чтобы перейти к шагу 3 мастера, и установите флажок «Дата» в разделе «Формат данных столбца», выберите «МДГ» в следующем раскрывающемся списке и укажите ячейку в качестве места назначения. Смотрите скриншот:
<р>4. Нажмите Готово. Теперь порядковые номера преобразованы в стандартные даты.
Совет. Для правильного преобразования дат можно сначала преобразовать числа в текст.
Кроме того, вы можете применить функцию "Формат ячеек", чтобы преобразовать порядковый номер в стандартный формат даты.
<р>1. Выберите числа, чтобы щелкнуть правой кнопкой мыши, и выберите «Формат ячеек» в контекстном меню. Смотрите скриншот:
<р>3. Нажмите «ОК». И выбранные числа были преобразованы в стандартные даты.
Кроме того, вы можете применять формулы для преобразования чисел в формат даты.
Выделите пустую ячейку рядом с числами, которые вы хотите использовать, введите эту формулу =ДАТА(ПРАВО(A9,4),ЛЕВО(A9,ЕСЛИ(ДЛСТР(A9) = 8,2,1)),ЛЕВО( RIGHT(A9,6),2)) , A9 – число, которое вы хотите преобразовать, перетащите маркер автозаполнения на ячейки, к которым вы хотите применить эту формулу, см. снимок экрана:
Если у вас есть Kutools for Excel, вы можете применить его утилиту Convert to Date, чтобы быстро преобразовать несколько нестандартных дат в стандартные даты.
После бесплатной установки Kutools for Excel сделайте следующее:
Выберите числа, которые вы хотите преобразовать в даты, и нажмите Kutools > Контент > Преобразовать в дату. Смотрите скриншот:
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Еще. Меньше
Когда вы вводите какой-либо текст в ячейку, например "2/2", Excel предполагает, что это дата, и форматирует ее в соответствии с настройкой даты по умолчанию на панели управления. Excel может отформатировать его как «2 февраля». Если вы измените настройку даты в панели управления, формат даты по умолчанию в Excel изменится соответствующим образом. Если вам не нравится формат даты по умолчанию, вы можете выбрать другой формат даты в Excel, например «2 февраля 2012 г.» или «2/2/12». Вы также можете создать свой собственный формат в настольном Excel.
Выполните следующие действия:
Выберите ячейки, которые хотите отформатировать.
В поле "Формат ячеек" перейдите на вкладку "Число".
В списке категорий нажмите Дата.
В разделе "Тип" выберите формат даты. Ваш формат будет предварительно просмотрен в поле «Образец» с первой датой в ваших данных.
Примечание. Форматы даты, начинающиеся со звездочки (*), изменятся, если вы измените региональные настройки даты и времени в панели управления. Форматы без звездочки не изменятся.
Если вы хотите использовать формат даты в соответствии с тем, как даты отображаются на другом языке, выберите язык в Locale (местоположение).
Если вы хотите использовать формат, которого нет в поле "Тип", вы можете создать свой собственный. Самый простой способ сделать это — начать с формата, близкого к тому, что вам нужно.
Выберите ячейки, которые хотите отформатировать.
В поле "Формат ячеек" перейдите на вкладку "Число".
В списке «Категория» нажмите «Дата», а затем выберите нужный формат даты в поле «Тип». Вы можете настроить этот формат на последнем шаге ниже.
Вернитесь к списку категорий и выберите «Пользовательский». В разделе «Тип» вы увидите код формата для формата даты, который вы выбрали на предыдущем шаге. Встроенный формат даты изменить нельзя, так что не бойтесь его испортить. Вносимые вами изменения будут применяться только к пользовательскому формату, который вы создаете.
В поле "Тип" внесите нужные изменения, используя код из таблицы ниже.
Используйте этот код
Месяцы с января по декабрь
Месяцы с января по декабрь
Месяцы как первая буква месяца
Дни с воскресенья по субботу
Годы как 1900–9999
Если вы изменяете формат, включающий значения времени, и используете "m" сразу после кода "h" или "hh" или непосредственно перед кодом "ss", Excel отображает минуты вместо месяца.< /p>
Чтобы быстро ввести текущую дату на листе, выберите любую пустую ячейку, нажмите CTRL+; (точка с запятой), а затем при необходимости нажмите клавишу ВВОД.
Чтобы ввести дату, которая будет обновляться до текущей даты каждый раз, когда вы повторно открываете лист или пересчитываете формулу, введите =СЕГОДНЯ() в пустой ячейке и нажмите клавишу ВВОД.
Когда вы вводите какой-либо текст в ячейку, например "2/2", Excel предполагает, что это дата, и форматирует ее в соответствии с настройкой даты по умолчанию на панели управления. Excel может отформатировать его как «2 февраля». Если вы измените настройку даты в панели управления, формат даты по умолчанию в Excel изменится соответствующим образом. Если вам не нравится формат даты по умолчанию, вы можете выбрать другой формат даты в Excel, например «2 февраля 2012 г.» или «2/2/12». Вы также можете создать свой собственный формат в настольном Excel.
Выполните следующие действия:
Выберите ячейки, которые хотите отформатировать.
Нажмите Control+1 или Command+1.
В поле "Формат ячеек" перейдите на вкладку "Число".
В списке категорий нажмите Дата.
В разделе "Тип" выберите формат даты. Ваш формат будет предварительно просмотрен в поле «Образец» с первой датой в ваших данных.
Примечание. Форматы даты, начинающиеся со звездочки (*), изменятся, если вы измените региональные настройки даты и времени в панели управления. Форматы без звездочки не изменятся.
Если вы хотите использовать формат даты в соответствии с тем, как даты отображаются на другом языке, выберите язык в Locale (местоположение).
Если вы хотите использовать формат, которого нет в поле "Тип", вы можете создать свой собственный. Самый простой способ сделать это — начать с формата, близкого к тому, что вам нужно.
Выберите ячейки, которые хотите отформатировать.
Нажмите Control+1 или Command+1.
В поле "Формат ячеек" перейдите на вкладку "Число".
В списке «Категория» нажмите «Дата», а затем выберите нужный формат даты в поле «Тип». Вы можете настроить этот формат на последнем шаге ниже.
Вернитесь к списку категорий и выберите «Пользовательский».В разделе «Тип» вы увидите код формата для формата даты, который вы выбрали на предыдущем шаге. Встроенный формат даты изменить нельзя, так что не бойтесь его испортить. Вносимые вами изменения будут применяться только к пользовательскому формату, который вы создаете.
В поле "Тип" внесите нужные изменения, используя код из таблицы ниже.
Раньше я мог вводить дату без разделителей, например 062509, и Excel распознавал ее и возвращал дату в любом выбранном формате, например 25 июня 2009 г. или 25 июня 2009 г. Теперь Excel интерпретирует 062509 как просто число и возвращает 20.02.2071, если я явно не ввожу косую черту, 25.06.09.
Я использую Office 365 для предприятий. Есть ли способ изменить поведение по умолчанию обратно на то, как оно было раньше? Заранее спасибо!
Что изменилось? Новая версия Экселя? Форматы даты/времени Windows по умолчанию? Международные настройки?
Что изменилось? Скорее всего, подпрограмма VBA (или аналогичная), которая интерпретировала вашу неразделенную дату, больше не установлена. Я почти уверен, что описанное вами поведение никогда не было частью какой-либо версии Windows Excel; и я сомневаюсь, что это было частью версий, отличных от Windows.
1 Ответ 1
Рон Розенфельд почти абсолютно прав в том, почему это больше не работает для вас. Особенно, если она содержалась в личной книге, а ваш переход на Office 365 корпоративный заменил купленную версию, на которую не было подписки.
На моей памяти 30 лет с Excel таковы, что сам Excel никогда этого не делал.
Что еще более важно, учтите следующее: чтобы интерпретировать этот ввод как дату, Excel должен понять, что это дата, но Excel полагается на Windows или любую другую ОС, чтобы распознать дату. Excel не решает это сам. Поэтому, если ваши настройки Windows не настроены на то, чтобы рассматривать только этот точный формат ввода как дату, Windows не может сообщить Excel, что это дата, и Excel не будет рассматривать ее как дату. Например, даже если вы открыли свой шаблон по умолчанию и установили числовой формат каждой ячейки как «ггммдд», а затем сохранили его, чтобы он всегда давал вам новые электронные таблицы, которые были отформатированы таким образом с самого начала, это все равно не поможет вам, потому что Excel будет думать, что "062509" не ближе к дате, чем "лошадь". Таким образом, он не будет применять формат даты, который вы приложили так много усилий, чтобы установить.
Традиционным способом уже давно является написание макроса, который срабатывает, когда вы выходите из ячейки или нажимаете Enter. Вот почему переход на (вероятно) совершенно другую версию Excel, которая ЗАМЕНЯЕТ, а не ОБНОВЛЯЕТ вашу программу, кажется вероятным источником потерь. Поскольку вы указываете, что это было доступно для вас таким образом, что предполагает, что вы имеете в виду всю свою работу, а не только определенный набор электронных таблиц, ваша личная книга в старой версии кажется хорошим выбором для того, где был макрос.
Если этот файл все еще может быть на вашем компьютере (и помните о папке «Корзина»), вы можете либо использовать его для полной замены личной книги новой версии, либо просто взять из нее макрос ( предполагая, что это то место, где оно было!) и поместите его в личную книгу новой версии. Но программы установки обычно удаляют материал способом, который не проходит через защиту концепции «Корзина».
Если вы не попробуете поискать, вы определенно не найдете его в наличии. Итак, проверьте, возможно.
Или написать новый. Вероятно, это было не более 4-5 строк. Просто подход «При входе». (Если бы вы хотели преобразовать существующие данные, все было бы более сложно, и также предлагались бы шаблонные подходы и подходы к форматированию, но вы хотите взять то, что было введено, в тот момент, когда вы закончите ввод, и преобразовать его в дату, которая затем может быть отображена однако вы отформатировали ячейку (например, вы могли бы ввести ее как 062509, но отображать ее как "25, juNE 2009"). Это все, что должен сделать макрос: распознать момент для действия, проанализировать его и сделать его дата, по которой Excel должен действовать, и остановиться.
Я просмотрела 20–25 страниц Google с различными способами запроса, но не смогла найти страну, которая, как утверждается, использует формат ISO 8601 в качестве национального формата, надеясь сообщить вам настройки страны, которые вы могли бы выбрать в Windows и надеяться их короткие форматы могут предлагать выбор без тире или косой черты. Но, как вы можете догадаться из всего вышеперечисленного, я не смог найти ни одного. И Windows 10 НЕ ПРЕДЛАГАЕТ его ни одним из способов, которыми веб-сайт уверенно говорит вам установить его. Но если вы действительно этого хотите и не выполняете упомянутый макрос, возможно, ваши поиски будут более успешными.
Читайте также: