изменить 2017/2/3 на 2017/02/03

изменить 2017/2/3 на 2017/02/03

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

Например, у нас есть 2017/1/3 или 2017/11/4, но я хочу изменить их на 2017/01/03 // 2017/11/04.

Как я могу сделать это простым способом, не используя формат даты? Вот то, что я пробовал, но это слишком долго и сложно:

  1. разделить дату на год, месяц и дни
  2. если длина месяца < 2, добавьте 0 перед месяцем
  3. если продолжительность дня < 2, добавьте 0 перед днем
  4. построен новый дата

решение1

Все даты, которые вы используете в качестве примеров, прекрасно распознаются Excel как даты. Так что если вам нужны «настоящие» даты, которые вы можете форматировать по своему желанию и которые Excel может напрямую использовать в математике:

1) Если вы хотите сохранить исходные данные и иметь форматируемые данные даты, то просто используйте формулу =A1*1 (если ваша дата находится в ячейке A1) везде, где вы хотите выполнить работу (может быть, на несколько столбцов дальше или на другой странице... как вам удобно). И форматируйте по своему усмотрению («yyyy/mm/dd» или «yyyy/dd/mm» — ваши примеры не позволяют однозначно определить, что у вас, md или dm).

[Я мог бы добавить, что, хотя это, по-видимому, не представляет для вас интереса в этой задаче, если у вас есть текстовые даты и вы просто хотите использовать их в других формулах, то, хотя обычно будет работать простая ссылка на них (например, ...A1+7..., чтобы получить дату на неделю позже) в вашей формуле, может быть, будет странный, даже уникальный случай, когда вы это сделаете, и все равно не получится. В этом случае просто выполните это умножение, так что пример выше будет ... A1*1+7...]

2) Если вы хотите заменить исходные данные на «реальные» даты, вы можете переформатировать диапазон дат из «текстового» в пользовательский формат «гггг-мм-дд», затем ввести «1» в ячейку где-нибудь, скопировать эту ячейку, снова выбрать диапазон дат и Вставить|Специальная|Умножить. Это преодолевает тот факт, что при переходе от текста к числам Excel никогда не пересчитывает с этой идеей. Для одной ячейки нажатие F2 после переформатирования, а затем Enter (сразу, без внесения изменений) сделает то же самое, не будучи обременительным, но если у вас 14 293 таких дат...

3) Вы также можете достичь результата 2) с помощью функции "Текст в столбцы". Просто выберите данные и нажмите "Текст в столбцы", затем выберите "Фиксированная ширина" и поместите маркер линии ширины на "10", затем, наконец, нажмите "Дата" в качестве формата данных столбца. Нажмите "Готово", и у вас будет столбец реальных дат, готовый к применению нужного формата.

Честно говоря, для одноразового использования 3) кажется проще, чем 2), и это происходит «на месте», так что это не нарушает вашу структуру. Но вы бы не хотели делать это каждый раз, когда кто-то добавляет дату, изо дня в день в течение многих лет. Имейте в виду, «однократное использование» может происходить снова и снова: скажем, вы очищаете свои данные и загружаете новый набор каждую неделю. Тогда 3) не будет индюшкой. И его подход был бы проще для создания небольшого записанного макроса для использования каждый раз.

Ну, короткий ответ получился слишком длинным, так что...

решение2

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

Сделайте следующее:

  1. Введите текст 0в ячейку и скопируйте его, или вы также можете скопировать любую пустую ячейку.
  2. Выберите диапазон дат.
  3. Щелкните правой кнопкой мышии в выпавшем меню нажмите кнопкуСпециальная вставказатем изОперацияварианты нажмите Добавлять& завершить с ХОРОШО.
  4. Теперь даты будут выглядеть как числа 43322, т.е.
  5. Так как даты уже выбраны, то простоЩелкните правой кнопкой мышии в меню нажмитеФормат ячейкикоманда.
  6. Наконец, примените yyyy/mm/ddформатирование и завершите с помощьюХорошо.

Связанный контент