Получить месяц и год из ячеек даты Excel
Я хочу изолировать month и year от столбца даты, но этот столбец имеет два формата:
08 мая 2011 года 00:59 и 08-05-2011 .
Если я хочу иметь новый столбец, чтобы изолировать месяц и год от этого столбца, например: 05-2011 , как мне это сделать?
4 ответа
У меня действительно трудное время с этой таблицей excel, и я пытался использовать функции VBA, а также Excel, чтобы отформатировать дату в год, месяц, неделю, но я постоянно сталкиваюсь с проблемами. У меня есть следующие входные данные: Причина, по которой Column1 выглядит так странно.
Попробуйте эту формулу (она вернет значение из A1 как есть, если это не дата):
Или эта формула (она более строгая, она вернет ошибку #VALUE , если A1 не является датой):
- Дата через пробел со временем в виде текста (например, как показано ниже)
- Дата, разделенная дефисом, в виде текста (например, как показано ниже)
- Форматированный индекс даты (как A4 и A5 ниже)
ColumnA ниже отформатировано как Общее , а ColumnB-как дата (моя настройка по умолчанию). ColumnC также как дата, но с пользовательским форматированием в соответствии с внешним видом, упомянутым в вашем вопросе.
Подсказка о том, является ли текстовый формат выравниванием содержимого ячеек по левому или правому краю.
Я предлагаю отдельное лечение для каждого из вышеперечисленных трех основных случаев, поэтому используйте =IF, чтобы дифференцировать их.
Дело #1
Это с =FIND , который ищет пробел ( » » ) в C1 , начиная с восьмого символа в C1 , считая слева, исходя из предположения, что в этом случае дни будут выражены двумя символами, а месяцы-тремя или более .
Поскольку =LEFT является строковой функцией, она возвращает строку, но ее можно преобразовать в значение с =VALUE .
возвращает 40671 в этом примере – в системе даты 1900 года Excel серийный номер даты за 5 мая 2011 года.
Дело #2
Если длина C1 не превышает 10 символов, нам все равно нужно различать текстовую запись или запись значения, которую я выбрал для =ISTEXT, и, где условие if равно TRUE (как для C2) apply =DATE, которое принимает три параметра, здесь предоставленных:
Принимает последние четыре символа C2, следовательно, 2011 в этом примере.
Начиная с четвертого символа, принимает следующие два символа C2, следовательно, 05 в этом примере (представляющем Май).
Принимает первые два символа C2, следовательно, 08 в этом примере (представляющем 8-й день месяца). Дата не является текстовой функцией, поэтому ее не нужно оборачивать в =VALUE.
также возвращает 40671 в этом примере, но из другого ввода из случая #1.
Дело #3
Это просто, потому что уже есть серийный номер даты, так что просто
Сложите все вышесказанное вместе, чтобы охватить все три случая в одной формуле:
как применяется в ColumnF (отформатировано в соответствии с OP) или в общем формате (чтобы показать, что значения являются целыми числами) в ColumnH:
Я хочу отфильтровать столбец даты на основе 1-летний 2-месячный Год & месяц — это динамические поля, и я сохранил их значения в макросе как YEAR год Месяц — мес Есть ли способ для макроса просто фильтровать, используя эти условия, не вставляя дополнительные столбцы ? Sub testcode().
Вы можете щелкнуть правой кнопкой мыши по этим ячейкам, перейти к формату, выбрать пользовательский, а затем ввести мм гггг.
У меня было требование предоставить отчет с подробной информацией по месяцам, где поле даты было отформатировано как дата & время, я просто изменил форматирование столбца даты на «General», а затем использовал следующую формулу в новом столбце,
Похожие вопросы:
Как получить год и месяц от заданной даты. например, $dateValue = ‘2012-01-05’; С этой даты мне нужно получить год как 2012 и месяц как январь .
Привет всем, я хочу найти данные из счетов-фактур и клиента по сегодняшней дате я использую функции DateDiff() GETDATE(), например, две таблицы 1 Клиент — ID int — Name Varcher 2 Счет-фактура — ID.
У меня действительно трудное время с этой таблицей excel, и я пытался использовать функции VBA, а также Excel, чтобы отформатировать дату в год, месяц, неделю, но я постоянно сталкиваюсь с.
Я хочу отфильтровать столбец даты на основе 1-летний 2-месячный Год & месяц — это динамические поля, и я сохранил их значения в макросе как YEAR год Месяц — мес Есть ли способ для макроса просто.
Мне нужно получить месяц и год текущей системной даты, хранящиеся в двух разных переменных, используя batch file. Формат месяца должен быть MMM, а год-гггг. Например. Сегодняшняя дата-10 июня 2019.
Как я понимаю, первая дата и последняя дата месяц и год |Excel Б |Spinner за месяц и год| Я создал excel, используя два Spinner один для года и один для месяца на основании этого показывается.
У меня есть дата в этом формате — 2024-01-31T00:00:00.000Z , это идет от API. Как получить месяц (например, апрель) и год (например, 2024) от этой даты с помощью модуля datetime?
[expert_bq id=»1570″]Положительный момент этого метода в том, что он отлично работает во всех случаях, независимо от того, какая дата старше, а какая новее. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] Положительный момент этого метода в том, что он отлично работает во всех случаях, независимо от того, какая дата старше, а какая новее. Если вы вычитаете более позднюю дату из более ранней, то формула просто возвращает разницу в виде отрицательного числа.Формула для расчета сколько прошло лет и месяцев с даты в Excel
Сейчас мы создадим автоматический календарь который пригодится не только на текущий год, но и на все последующие года. И для этого нам не понадобятся макросы и программирование. Все что я покажу — сделано с использованием стандартных возможностей Excel.
[expert_bq id=»1570″]Вы можете сразу скачать календарь в Excel или же потратить 15 минут и научиться делать его самостоятельно, параллельно открыв для себя новые возможности Excel. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq]
Сейчас в январе календарь содержит даты 29, 30, 31 декабря, а также часть дат февраля. Давайте немного скроем эти числа. Для этого будем использовать условное форматирование. Выделяем ячейки B5:H10 и создаем правило условного форматирования. Форматироваться будут ячейки, для которых следующая формула будет являться ИСТИНОЙ:
=И(МЕСЯЦ(B5)1+3*(ЧАСТНОЕ(СТРОКА(B5)-5;9))+ЧАСТНОЕ(СТОЛБЕЦ(B5);9))
Создание календаря в Excel на год
- Weekday — требуемый параметр. Номер дня недели.
- Toabbreviate — необязательный параметр. Булевское значение, указывающее, следует ли сокращать имя месяца. Если оставить пустым, значение по умолчанию будет считаться False.
- Firstdayofweek — необязательный параметр. Задает первый день недели.
- 0 = vbUseSystemDayOfWeek — настройка API поддержки национальных языков (NLS)
- 1 = vbSunday — воскресенье
- 2 = vbMonday — понедельник
- 3 = vbTuesday — вторник
- 4 = vbWednesday — среда
- 5 = vbThursday — четверг
- 6 = vbFriday — пятница
- 7 = vbSaturday — суббота
Совет: Если вы не хотите ссылаться на название диапазона праздников, можно также ввести диапазон, например D35:E:39. Можно также ввести в формулу каждый праздник. Например, если ваши праздники были 1 и 2 января 2016 г., введите их так: =СЕТЕВЫЕДНИ. INTL(D53;E53;1;). В Excel 2007 г. она будет выглядеть так: =ДНЕЙМН(D53;E53;)
[expert_bq id=»1570″]Если вы создали имя диапазона праздников в разделе Начало работы выше, введите его в конце так Если у вас нет праздников, оставьте запятую и запятую MyHolidays. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq]
Если вы создали имя диапазона праздников в разделе “Начало работы” выше, введите его в конце так: Если у вас нет праздников, оставьте запятую и запятую MyHolidays. Если вы используете Excel 2007, пример будет такой: =ДНЕЙМН(D53;E53;MyHolidays).
Синтаксис
Для создания заголовков последующих месяцев будем использовать еще одну очень полезную функцию =ДАТАМЕС(B3;1). Эта функция возвращает дату отстоящую от указанной на заданное число месяцев (в нашем случае на один). Таким образом, у нас получается следующая картина (дополнительно я добавил немного форматирования):