17 авг. 2022 г.
читать 2 мин
В этом руководстве объясняется, как преобразовать дату в число в трех различных сценариях:
1. Преобразуйте одну дату в число
2. Преобразуйте несколько дат в числа
3. Преобразование даты в количество дней с другой даты
Давайте прыгать!
Пример 1: преобразование одной даты в число
Предположим, мы хотим преобразовать дату «10.02.2022» в число в Excel.
Для этого мы можем использовать функцию ДАТАЗНАЧ в Excel:
=DATEVALUE("2/10/2022")
По умолчанию эта функция вычисляет количество дней между заданной датой и 01.01.1900 .
На следующем снимке экрана показано, как использовать эту функцию на практике:
Это говорит нам о том, что между 10.02.2022 и 01.01.1900 существует разница в 44 602 дня.
Пример 2. Преобразование нескольких дат в числа
Предположим, у нас есть следующий список дат в Excel:
Чтобы преобразовать каждую из этих дат в число, мы можем выделить диапазон ячеек, содержащих даты, затем щелкнуть раскрывающееся меню «Числовой формат » на вкладке « Главная » и выбрать « Число »:
Это автоматически преобразует каждую дату в число, представляющее количество дней между каждой датой и 01.01.1900 :
Пример 3. Преобразование даты в количество дней, прошедших с другой даты
Мы можем использовать следующую формулу для преобразования даты в количество дней, прошедших с другой даты:
=DATEDIF( B2 , A2 , "d")
Эта конкретная формула вычисляет количество дней между датой в ячейке B2 и датой в ячейке A2 .
На следующем снимке экрана показано, как использовать формулу DATEDIF для расчета количества дней между датами в столбце A и 01.01.2022:
Вот как интерпретировать значения в столбце B:
- Между 01.01.2022 и 01.04.2022 есть 3 дня.
- Между 01.01.2022 и 01.01.2022 8 дней.
- Между 01.01.2022 и 15.01.2022 14 дней.
И так далее.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:
Как автозаполнять даты в Excel
Как использовать СЧЁТЕСЛИМН с диапазоном дат в Excel
Как рассчитать среднее значение между двумя датами в Excel
Каждая функция привнося выражение к определенному тип данных.
Синтаксис
CBool(
выражение
)
CByte(
выражение
)
CCur(
выражение
)
CDate(
выражение
)
CDbl(
выражение
)
CDec(
выражение
)
CInt(
выражение
)
CLng(
выражение
)
CSng(
выражение
)
CStr(
выражение
)
CVar(
выражение
)
Обязательный аргумент выражениеаргумент — это любое строковое выражение или числовое выражение.
Возвращаемые типы
Тип возвращаемого значения определяется по имени функции в соответствии со следующей таблицей:
Функция |
Тип возвращаемого значения |
Диапазон аргумента |
CBool |
Boolean |
Любое допустимое строковое или числовое выражение. |
CByte |
Byte |
От 0 до 255. |
CCur |
Currency |
От -922 337 203 685 477,5808 до 922 337 203 685 477,5807. |
CDate |
Date |
Любое допустимое выражение даты. |
CDbl |
Double |
От -1,79769313486231E308 до |
CDec |
Decimal |
+/-79 228 162 514 264 337 593 543 950 335 для чисел без дробной части. Для чисел с 28 десятичными знаками допустимый диапазон составляет |
CInt |
Integer |
От -32 768 до 32 767, дробная часть округляется. |
CLng |
Long |
От -2 147 483 648 до 2 147 483 647, дробная часть округляется. |
CSng |
Single |
От -3,402823E38 до -1,401298E-45 для отрицательных значений и от 1,401298E-45 до 3,402823E38 для положительных. |
CStr |
String |
Результат, возвращаемый функцией CStr, зависит от аргумента выражение. |
CVar |
Variant |
Тот же диапазон, что и для числов Double. Такой же диапазон, как и для строк для не числов. |
Замечания
Если передаваемое функции выражение находится за пределами диапазона типа данных, в который оно преобразуется, возникает ошибка.
Как правило, функции преобразования типов используются в тексте программ для того, чтобы указать, что результатом той или иной операции должны стать данные определенного типа, а не типа, заданного по умолчанию. Например, с помощью функции CCur можно принудительно перейти к вычислениям в денежном формате в тех случаях, в которых обычно используются действия с числами с обычной точностью, двойной точностью или с целыми числами.
Функции преобразования типа данных следует использовать вместо функции Val для преобразования типов данных в приложениях, поддерживающих различные региональные стандарты. Например, при использовании функции CCur десятичные разделители, разделители групп разрядов и параметры денежных единиц распознаются в соответствии с языковыми и региональными параметрами компьютера.
Если дробная часть целого числа строго равна 0,5, функции CInt и CLng всегда округляют результат до ближайшего четного числа. Например, 0,5 округляется до 0, а 1,5 — до 2. В отличие от функций CInt и CLng, в функциях Fix и Int дробная часть не округляется, а отбрасывается. Кроме того, функции Fix и Int всегда возвращают значение того же типа, что и переданное им выражение.
Для определения возможности преобразования даты в дату или время используется функция IsDate. Функция CDate распознает литералы даты и времени, а также некоторые числа, которые находятся в диапазоне допустимых дат. При преобразовании числа в дату преобразуется целая часть числа. Дробная часть преобразуется во время суток, начиная с полуночи.
CDate распознает форматы даты в соответствии с языковые стандарты системным параметром. Правильный порядок дат, месяца и года может быть определен не в том формате, который не является распознаемой датой. Кроме того, длинный формат даты не распознается, если он также содержит строку дней недели.
Функция CVDate предназначена для обеспечения совместимости с предыдущими версиями Visual Basic. Синтаксис функции CVDate идентичен синтаксису функции CDate, однако функция CVDate возвращает не результат типа Date, а результат типа Variant с подтипом Date. Поскольку теперь реализован встроенный тип Date, необходимость в функции CVDate отпадает. Того же результата можно добиться, преобразовав выражение в тип Date и присвоив это значение переменной типа Variant. Этот способ позволяет преобразовать все прочие встроенные типы в эквивалентные им подтипы Variant.
Примечание: Функция CDec не возвращает отдельный тип данных. Вместо этого она всегда возвращает результат типа Variant, значение которого преобразовано в подтип Decimal.
Примеры запросов
|
|
SELECT SalePrice,FinalPrice,CBool(SalePrice>FinalPrice) AS Expr1 FROM productSales; |
Возвращает значения «ЦенаПродажи», «ПоследняяЦена» и оценивает, превышает ли Цена конечная цена. Возвращает «-1», если истина, и «0», если ложь. |
SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales; |
Возвращает значение «ProductID», преобразует значения в поле «Количество» в формат «Количество» и отображает в столбце Expr1 значение «ProductID», преобразует значения в поле «Количество» в формат «Валюта» и отображает в столбце Expr1. |
SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales; |
Возвращает значение «ProductID», преобразует значения поля DateofSale в формат Date и отображает значения в столбце Expr1. |
SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales; |
Возвращает значение «ProductID», преобразует значения в поле Discount в формат Double и отображает значения в столбце Expr1. |
SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales; |
Возвращает значение «ProductID», преобразует значения в поле Discount в формат Integer и отображает значения в столбце Expr1. |
SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales; |
Возвращает значение «ProductID», преобразует значения в поле Discount в формат Long и отображает в столбце Expr1. |
SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales; |
Возвращает значение «ProductID», преобразует значения в поле «Скидка» в single format и отображает в столбце «Expr1». |
SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales; |
Возвращает значение «ProductID», преобразует значения в поле Discount в строковом формате и отображает значения в столбце Expr1. |
SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales; |
Возвращает значение «ProductID», преобразует значения в поле «Скидка» в значение Double для числных значений и String для не числных значений. |
Примеры VBA
Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.
Функция CBool
Совет: В Access 2010 и более поздних версиях есть построитель выражений с поддержкой IntelliSense, который помогает создавать выражения.
В этом примере функция CBool используется для преобразования выражения в тип Boolean. Если выражение разрешается в ненулевое значение, функция CBool возвращает значение True; в противном случае она возвращает значение False.
Dim A, B, Check
A = 5: B = 5 ' Initialize variables.
Check = CBool(A = B) ' Check contains True.
A = 0 ' Define variable.
Check = CBool(A) ' Check contains False.
Функция CByte
В этом примере функция CByte используется для преобразования выражения в тип Byte.
Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.
Функция CCur
В этом примере функция CCur используется для преобразования выражения в тип Currency.
Dim MyDouble, MyCurr
MyDouble = 543.214588 ' MyDouble is a Double.
MyCurr = CCur(MyDouble * 2)
' Convert result of MyDouble * 2 (1086.429176) to a
' Currency (1086.4292).
Функция CDate
В этом примере функция CDate используется для преобразования выражения в тип Date. Как правило, не рекомендуется определять дату и время в виде строк (как показано в этом примере). Вместо этого пользуйтесь литералами даты и времени, например #2/12/1969# и #4:45:23 PM#.
Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969"
' Convert to Date data type.
MyShortDate = CDate(MyDate)
MyTime = "4:35:47 PM"
' Convert to Date data type.
MyShortTime = CDate(MyTime)
Функция CDbl
В этом примере функция CDbl используется для преобразования выражения в тип Double.
Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)
Функция CDec
В этом примере функция CDec используется для преобразования выражения в тип Decimal.
Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.
Функция CInt
В этом примере функция CInt используется для преобразования выражения в тип Integer.
Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.
Функция CLng
В этом примере функция CLng используется для преобразования выражения в тип Long.
Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45
MyVal2 = 25427.55 ' MyVal1, MyVal2 are Doubles.
MyLong1 = CLng(MyVal1)
' MyLong1 contains 25427.
MyLong2 = CLng(MyVal2)
' MyLong2 contains 25428.
Функция CSng
В этом примере функция CSng используется для преобразования выражения в тип Single.
Dim MyDouble1, MyDouble2, MySingle1, MySingle2
' MyDouble1, MyDouble2 are Doubles.
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1)
' MySingle1 contains 75.34211.
MySingle2 = CSng(MyDouble2)
' MySingle2 contains 75.34216.
Функция CStr
В этом примере функция CStr используется для преобразования выражения в тип String.
Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".
Функция CVar
В этом примере функция CVar используется для преобразования выражения в тип Variant.
Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.
В этом руководстве я расскажу о нескольких методах решения различных случаев преобразования даты в числовой или текстовый формат в Excel.
- 1. Преобразование даты в текст
1.1 Преобразование даты в текст в формате мм / дд / гггг
1.2 Преобразование даты в текст в формате mmddyyyy
1.3 Преобразование даты в текст в других форматах - 2. Преобразование даты в число
2.1 Преобразование даты в число в 5-значном формате
2.2 Преобразование даты в число в формате mmddyyyy - 3. Преобразование даты в месяц / день / год или другие форматы даты с помощью щелчков мышью.
- 4. Загрузите образец файла.
1. Преобразование даты в текст
В этом разделе представлены методы преобразования даты в текст в Excel.
Чтобы преобразовать дату в текст, вам нужна всего одна формула.
Формула: = ТЕКСТ (дата, «формат_даты»)
Ссылка: дата: ячейка с датой, которую вы хотите преобразовать в текст
Формат даты: формат, который вы хотите отобразить после преобразования даты в текст
В следующих случаях я расскажу вам, как использовать эту формулу.
1.1 Преобразование даты в текст в формате мм / дд / гггг
Например, для преобразования даты в ячейке A3 в мм / дд / гггг используйте формулу
= ТЕКСТ (A3; «мм / дд / гггг»)
нажмите Enter ключ
Если вы хотите преобразовать дату в ячейке A8 в дд / мм / гггг, используйте эту формулу
= ТЕКСТ (A8; «дд / мм / гггг»)
нажмите Enter ключ
1.2 Преобразование даты в текст в формате mmddyyyy или ddmmyyyy
Если вы хотите преобразовать дату в ячейке A13 в текст, но в формате mmddyyyy, введите эту формулу
= ТЕКСТ (A13, «ммддйгг»)
нажмите Enter ключ
Если вы хотите преобразовать дату в ячейке A18 в текст в формате ddmmyyyy, введите эту формулу
= ТЕКСТ (A18, «ддммйгг»)
нажмите Enter ключ
1.3 Преобразование даты в текст в других форматах
Фактически, в любой текстовый формат, в который вы хотите преобразовать дату, просто введите нужный формат в кавычки в формуле.
Формула | = ТЕКСТ (A3; «мм-дд-гггг») | = ТЕКСТ (A3; «мм / дд») | = ТЕКСТ (A3; «дд») | = ТЕКСТ (A3; «д / м / г») |
Результат | 23-12-2019 | 23/12 | 23 | 23/12/19 |
2. Преобразование даты в число
В этом разделе я предлагаю методы преобразования даты в число в 5-значном формате mmddyyyy.
2.1 Преобразование даты в число в 5-значном формате
Если вы хотите преобразовать дату в число в 5-значном формате, выполните следующие действия:
1. Щелкните правой кнопкой мыши ячейку, содержащую дату, которую вы хотите преобразовать в число, и в контекстном меню выберите Формат ячеек общий.
2. в Формат ячеек диалог , под Число вкладка , выберите Общие из панели Категория.
3. Нажмите OK. Дата в выбранной ячейке преобразована в числовую строку в формате ммддыггг.
2.2 Преобразование даты в число в формате mmddyyyy или ddmmyyyy
Если вы хотите преобразовать дату в числовую строку в формате mmddyyyy или ddmmyyyy, вы также можете применить функцию Format Cells.
1. Щелкните правой кнопкой мыши ячейку, содержащую дату, которую вы хотите преобразовать в число, и в контекстном меню выберите Формат ячеек общий.
2. в Формат ячеек диалога под Число вкладка, выберите На заказ из Категория панель, затем перейдите в правый раздел, введите ММДДГГГГ в Тип текстовое окно.
3. Нажмите OK. Дата в выбранной ячейке преобразована в числовую строку в формате ммддйгг
Если вы хотите преобразовать дату в числовую строку в другом формате, вы можете использовать приведенный ниже список в качестве справки.
Форматировать ячейку как настраиваемую | ддммгггг | ддммгг | ммгггг | ггггммдд |
Монитор | 23022019 | 230219 | 022019 | 20190223 |
3. Преобразование даты в месяц / день / год или другие форматы даты с помощью щелчков мышью.
Если вы хотите быстро преобразовать дату в месяц, день, год или другие форматы даты, Применить форматирование даты полезности Kutools for Excel будет хорошим выбором для использования.
Попрощайтесь с мышиной рукой и шейным спондилезом
300 продвинутых инструментов Kutools for Excel решить 80% Задачи Excel за считанные секунды, избавят вас от тысяч щелчков мышью.
|
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:
1. Выделите ячейки, содержащие даты, которые вы хотите преобразовать в другие форматы дат.
2. Нажмите Кутулс > Формат > Применить форматирование даты.
3. в Применить форматирование даты диалоговом окне выберите формат даты, который вы хотите использовать в Форматирование даты панель, тем временем преобразованный результат будет предварительно показан справа предварительный просмотр панель.
4. Нажмите Ok, то выбранные вами даты будут преобразованы в выбранный вами формат даты.
Преобразование даты в несколько форматов даты Индивидуальность с помощью щелчков
Дополнительные советы по преобразованию даты
Скачать образец файла
Рекомендуемые инструменты для повышения производительности
Вкладка Office — просмотр, редактирование и управление документами с вкладками в Microsoft Office 2019 — 2003 и Office 365
Kutools for Excel — Объединяет более 300 расширенных функций и инструментов для Microsoft Excel.
На чтение 9 мин. Просмотров 29.8k.
Содержание
- Преобразование строки даты в дату
- Преобразовать дату в Юлианский формат
- Преобразование даты в месяц и год
- Преобразование даты в текст
- Преобразование даты текста дд/мм/гг в мм/дд/гг
- Преобразование текста в дату
Преобразование строки даты в дату
= ЛЕВСИМВ (дата; 10) + ПСТР (дата; 12;8)
Когда данные даты из других систем вставляются или импортируются в Excel, они могут не распознаваться как правильная дата или время. Вместо этого Excel может интерпретировать эту информацию только как текстовое или строковое значение.
Чтобы преобразовать строку даты в дату-время (дату со временем), вы можете разобрать текст на отдельные компоненты, а затем построить правильное время и дату.
В показанном примере мы используем приведенные ниже формулы.
Для извлечения даты формула в C5:
= ДАТАЗНАЧ (ЛЕВСИМВ(B5;10))
Чтобы извлечь дату, формула в D5:
= ВРЕМЗНАЧ (ПСТР (B5;12;8))
Чтобы собрать дату-время, формула в E5:
= C5 + D5
Чтобы получить дату, мы извлекаем первые 10 символов значения с помощью ЛЕВСИМВ:
ЛЕВСИМВ(B5;10) // возвращает «2015-03-01»
Результатом является текст, поэтому, чтобы заставить Excel интерпретироваться как дата, мы помещаем ЛЕВСИМВ в ДАТАЗНАЧ, который преобразует текст в правильное значение даты Excel.
Чтобы получить время, мы извлекаем 8 символов из середины значения с ПСТР:
ПСТР (B5;12;8) // возвращает «12:28:45»
Опять же, результатом является текст. Чтобы заставить Excel интерпретироваться как время, мы помещаем ПСТР в ВРЕМЗНАЧ, который преобразует текст в правильное значение времени Excel.
Чтобы построить окончательную дата-время, мы просто добавляем значение даты к значению времени.
Хотя этот пример извлекает дату и время отдельно для ясности, вы можете комбинировать формулы, если хотите. Следующая формула извлекает дату и время и объединяет их в один шаг:
= ЛЕВСИМВ(дата; 10) + ПСТР(дата; 12;8)
Обратите внимание, что в этом случае значения ДАТАЗНАЧ и ВРЕМЯЗНАЧ не нужны, поскольку математическая операция (+) заставляет Excel автоматически принудительно передавать текстовые значения в числа.
Преобразовать дату в Юлианский формат
= ГОД (дата) и ТЕКСТ (дата-ДАТА (ГОД (дата); 1;0); «000»)
Если вам нужно преобразовать дату в формат даты в Юлиане в Excel, вы можете сделать это, построив формулу, в которой используются функции ТЕКСТ, ГОД и ДАТА.
«Формат даты в Юлиане» относится к формату, в котором значение года для даты комбинируется с «порядковым днем для этого года» (т. Е. 14-й день, 100-й день и т. д.) для формирования штампа даты.
Есть несколько вариантов. Дата в этом формате может включать в себя 4-значный год (гггг) или год с двумя цифрами (гг), а номер дня может быть заполнен нулями или может быть не дополнен тремя цифрами. Например, на дату 21 января 2017 года вы можете увидеть:
1721 // ГГД
201721 // ГГГГ
2017021 // ГГГГДДД
Для двухзначного года + число дня без дополнения используйте:
= ТЕКСТ (B5; «гг») & B5-ДАТА(ГОД (B5); 1;0)
Для двузначного года + число дня, дополненное нулями до 3-х мест:
= ТЕКСТ (B5; «гг») & ТЕКСТ (B5-ДАТА (ГОД (B5); 1;0); «000»)
Для четырехзначного года + число дня, дополненное нулями до 3-х мест:
= ГОД(B5) & ТЕКСТ(B5-ДАТА(ГОД(B5); 1;0); «000»)
Эта формула строит окончательный результат в 2 частях, объединенных конъюнкцией с оператором амперсанда (&).
Слева от амперсанда мы генерируем значение года. Чтобы извлечь 2-значный год, мы можем использовать функцию ТЕКСТ, которая может применять числовой формат внутри формулы:
ТЕКСТ (B5; «гг»)
Чтобы извлечь полный год, используйте функцию ГОД:
ГОД (B5)
С правой стороны амперсанда нам нужно определить день года. Мы делаем это, вычитая последний день предыдущего года с того дня, с которым мы работаем. Поскольку даты — это просто серийные номера, это даст нам «n» день года.
Чтобы получить последний день года предыдущего года, мы используем функцию ДАТА. Когда вы даете ДАТА значение года и месяца и ноль на день, вы получаете последний день предыдущего месяца. Так:
B5-ДАТА(ГОД (B5); 1;0)
Дает нам последний день предыдущего года, который на примере 31 декабря 2015 года.
Теперь нам нужно заполнить значение дня нулями. Опять же, мы можем использовать функцию ТЕКСТ:
ТЕКСТ (B5-ДАТА (ГОД (B5); 1;0); «000»)
Если вам нужно преобразовать юлианскую дату назад к обычной дате, вы можете использовать формулу, которая анализирует юлианскую дату и пробегает ее через функцию даты с месяцем 1 и днем, равным «n-му» дню. Например, это создаст дату с Юлианской датой ггггддд, например, 1999143.
= ДАТА(ЛЕВСИМВ(A1;4); 1; ПРАВСИМВ(A1;3)) // для ггггддд
Если у вас есть только номер дня (например, 100, 153 и т. д.), вы можете жестко закодировать год и вставить следующий день:
= ДАТА (2016;1; A1)
Где A1 содержит номер дня. Это работает, потому что функция ДАТА умеет настраивать значения вне диапазона.
Преобразование даты в месяц и год
= ТЕКСТ(дата; «ггггмм»)
Чтобы преобразовать нормальную дату Excel в формат ггггмм (например, 9/1/2017> 201709), вы можете использовать функцию ТЕКСТ.
В показанном примере формула в C5:
= ТЕКСТ (B5; «ггггмм»)
Функция TEКСT применяет заданный числовой формат к числовому значению и возвращает результат в виде текста.
В этом случае предоставляется формат числа «ггггмм», который присоединяется к 4-значному году с 2-значным значением месяца.
Если вы хотите отображать дату только с указанием года и месяца, вы можете просто применить формат пользовательских номеров «ггггмм» к датам. Это заставит Excel отображать год и месяц вместе, но не изменит базовую дату.
Преобразование даты в текст
= ТЕКСТ (дата; формат)
Если вам нужно преобразовать даты в текст (т. е. дату в преобразование строк), вы можете использовать функцию ТЕКСТ. Функция ТЕКСТ может использовать такие шаблоны, как «дд / мм / гггг», «гггг-мм-дд» и т. д., чтобы преобразовать действительную дату в текстовое значение.
Даты и время в Excel хранятся в виде серийных номеров и преобразуются в удобочитаемые значения «на лету» с использованием числовых форматов. Когда вы вводите дату в Excel, вы можете применить числовой формат, чтобы отобразить эту дату по своему усмотрению. Аналогичным образом, функция ТЕКСТ позволяет преобразовать дату или время в текст в предпочтительном формате. Например, если дата 9 января 2000 года введена в ячейку A1, вы можете использовать TEКСТ, чтобы преобразовать эту дату в следующие текстовые строки следующим образом:
= ТЕКСТ(A1; «ммм») // «Янв»
= TEКСТ(A1; «дд/мм/гггг») // «09/01/2012»
= ТЕКСТ(A1; «дд-ммм-гг») // «09-Янв-12»
Вы можете использовать TEКСТ для преобразования дат или любого числового значения в фиксированном формате. Вы можете просмотреть доступные форматы, перейдя в меню «Формат ячеек» (Win: Ctrl + 1, Mac: Cmd + 1) и выбрав различные категории в списке слева.
Преобразование даты текста дд/мм/гг в мм/дд/гг
= ДАТА(ПРАВСИМВ(A1;2) + 2000; ПСТР(A1;4;2); ЛЕВСИМВ(A1;2))
Чтобы преобразовать даты в текстовом формате дд/мм /гг в истинную дату в формате мм/дд/гг, вы можете использовать формулу, основанную на функции ДАТА. В показанном примере формула в C5:
= ДАТА(ПРАВСИМВ(B5;2) + 2000; ПСТР(B5;4;2); ЛЕВСИМВ (B5;2))
Который преобразует текстовое значение в B5 «29/02/16» в правильную дату Excel.
Ядром этой формулы является функция ДАТА, которая используется для сборки правильного значения даты Excel. Функция ДАТА требует действительных значений года, месяца и дня, поэтому они анализируются из исходной текстовой строки следующим образом:
Значение года извлекается с помощью функции ПРАВСИМВ:
ПРАВСИМВ(B5;2) +2000
ПРАВСИМВ получает по крайней мере 2 символа от исходного значения. Число 2000 добавлено к результату, чтобы создать действительный год. Это число переходит в ДАТА в качестве аргумента год.
Значение месяца извлекается с помощью:
ПСТР(B5;4;2)
ПСТР извлекает символы 4-5. Результат переходит в ДАТА в качестве аргумента месяц.
Значение дня извлекается с помощью:
ЛЕВСИМВ(B5;2)
ЛЕВСИМВ захватывает последние 2 символа исходного текстового значения, которое переходит в ДАТА в качестве аргумента дня.
Три значения, извлеченные выше, входят в ДАТУ следующим образом:
= ДАТА (2016; «02»; «29»)
Хотя месяц и день предоставляются в виде текста, функция ДАТА автоматически преобразуется в числа и возвращает действительную дату.
Примечание: значение 2016 года автоматически было преобразовано в число при добавлении 2000.
Если исходное текстовое значение содержит дополнительные начальные или конечные символы пробела, вы можете добавить функцию СЖПРОБЕЛЫ для удаления:
= ДАТА(ПРАВСИМВ (СЖПРОБЕЛЫ (A1); 2) + 2000; ПСТР(СЖПРОБЕЛЫ (A1); 4;2); ЛЕВСИМВ(СЖПРОБЕЛЫ (A1); 2))
Преобразование текста в дату
=ДАТА (ЛЕВСИМВ(текст; 4); ПСРТ(текст; 5;2); ПРАВСИМВ(текст; 2))
Чтобы преобразовать текст в непринятом формате даты в правильную дату Excel, вы можете проанализировать текст и собрать правильную дату с формулой, основанной на нескольких функциях: ДАТА, ЛЕВСИМВ, ПСРТ и ПРАВСИМВ.
В показанном примере формула в C6:
= ДАТА(ЛЕВСИМВ(B6;4); ПСРТ(B6;5;2); ПРАВСИМВ(B6;2))
Эта формула отдельно извлекает значения года, месяца и дня и использует функцию ДАТА, чтобы собрать их в дату 24 октября 2000 года.
Когда вы работаете с данными из другой системы, вы можете использовать текстовые значения, которые представляют даты, но не понимаются как даты в Excel. Например, у вас могут быть такие текстовые значения:
текст (19610412) Дата представления (Апрель 12, 1961)
Excel не будет распознавать эти текстовые значения в качестве даты, поэтому для создания правильной даты вам нужно проанализировать текст в его компонентах (год, месяц, день) и использовать их для создания даты с помощью функции ДАТА.
Функция ДАТА принимает три аргумента: год, месяц и день. ЛЕВСИМВ извлекает самые левые 4 символа и поставляет это в ДАТА в качестве года. Функция ПСРТ извлекает символы 5-6 и поставляет это в ДАТА в качестве месяца, а функция ПРАВСИМВ извлекает самые правые 2 символа и поставляет их в ДАТА в качестве дня. Конечным результатом является правильная дата Excel, которая может быть отформатирована любым способом.
В строке 8 (непризнанный) формат даты дд.мм.гггг и формула в C8:
= ДАТА(ПРАВСИМВ(B8;4); ПСРТ(B8;4;2); ЛЕВСИМВ(B8;2))
Иногда встречаются даты в текстовом формате, которые должен распознавать Excel. В этом случае вы могли бы заставить Excel преобразовать текстовые значения в даты, добавив ноль к значению. Когда вы добавите нуль, Excel попытается принудить текстовые значения к числам. Поскольку даты — это всего лишь цифры, этот трюк — отличный способ преобразовать даты в текстовый формат, который действительно должен понимать Excel.
Чтобы преобразовать даты, добавив нуль, попробуйте Специальную вставку:
- Добавить ноль в неиспользуемую ячейку и скопировать в буфер обмена
- Выберите проблемные даты
- Специальная вставка> Значения> Добавить
Чтобы преобразовать даты путем добавления нуля в формулу, используйте:
= A1 + 0
Где A1 содержит непризнанную дату.
Другой способ заставить Excel распознавать даты — использовать текст в столбцах:
Выберите столбец дат, затем попробуйте Дата> Текст в столбах>Исправлено> Конец
Это иногда может исправить все сразу.
Если в вашей ячейке лежит дата в виде текстовой строки, например, «8 март 2013», то для Excel это, естественно, не дата, а текст. Чтобы преобразовать текстовую дату в полноценную (читай – в числовой код даты, т.к. внутри Excel любая дата представлена именно числовым кодом), можно использовать специальную функцию ДАТАЗНАЧ (DATEVALUE). Она умеет превращать в нормальную дату различные текстовые варианты ее написания:
Как видно из скриншота, проблемы с преобразованием будут только у англоязычных дат (если у вас установлен русский Excel), с падежами месяцев (ибо их нет в английском языке в принципе) и с совсем уж невнятными цифровыми наборами типа «18 3 17». Со всем остальным эта функция замечательно справляется.
Если для ввода дат была использована не точка или косая черта, а запятая (что часто бывает при использовании дополнительной цифровой клавиатуры), то придется сначала заменить запятую на точку с помощью функции ПОДСТАВИТЬ (SUBSTITUTE) и потом уже использовать функцию ДАТАЗНАЧ для преобразования получившегося текста в реальную дату:
Ссылки по теме
- Как Excel на самом деле хранит и обрабатывает даты и время
- Как найти ближайший рабочий день функцией РАБДЕНЬ (WORKDAY)
- Как вычислить разницу между двумя датами в днях, месяцах или годах