Я хотел бы знать формулу для конвертации даты с номером от 27.10.2013 по номер 41573, как это сделано в excel. Например, как 10/26/2013 преобразуется в 41573.
Формула для преобразования даты в число
Ответ 1
Если вы измените формат ячеек на General, тогда это покажет значение даты ячейки как за кулисами. Excel сохраняет дату как количество дней с 01.01.1900
Если ваша дата является текстом, и вам нужно ее преобразовать, то DATEVALUE
сделает следующее:
Ответ 2
Номер Excel для современной даты наиболее легко рассчитывается как количество дней с 12/30/1899 по григорианскому календарю.
Excel рассматривает мифическую дату 01/00/1900 (т.е. 12/31/1899) как соответствующую 0 и неправильно рассматривает год 1900 как високосный год. Таким образом, для дат до 01.03.1900 номер Excel фактически является числом дней после 12/31/1899.
Однако Excel не будет форматировать любое число ниже 0 (-1 дает вам ##########), и поэтому это имеет значение только для "01/00/1900" до 02/28/1900, что делает проще просто использовать дату 12/30/1899 в качестве базы.
Полная функция в DB2 SQL, учитывающая ошибку видового года 1900:
SELECT
DAYS(INPUT_DATE)
- DAYS(DATE('1899-12-30'))
- CASE
WHEN INPUT_DATE < DATE('1900-03-01')
THEN 1
ELSE 0
END