Предположим, что в каждой строке имеется только одна 8-значная цифровая строка , представляющая дату в виде YYYYMMDD
, которую вы хотите извлечь, вы можете использовать одну из следующих трех формул для возвратадата:
Метод 1:
=DATE(LEFT(MAX(IFERROR(--MID(A1,ROW($A$1:INDEX($A:$A,LEN(A1))),8),0)),4),MID(MAX(IFERROR(--MID(A1,ROW($A$1:INDEX($A:$A,LEN(A1))),8),0)),5,2),RIGHT(MAX(IFERROR(--MID(A1,ROW($A$1:INDEX($A:$A,LEN(A1))),8),0)),2))
Метод 2:
=DATEVALUE(LEFT(MAX(IFERROR(--MID(A1,ROW($A$1:INDEX($A:$A,LEN(A1))),8),0)),4)&"/"&MID(MAX(IFERROR(--MID(A1,ROW($A$1:INDEX($A:$A,LEN(A1))),8),0)),5,2)&"/"&RIGHT(MAX(IFERROR(--MID(A1,ROW($A$1:INDEX($A:$A,LEN(A1))),8),0)),2))
Метод 3:
=DATEVALUE(TEXT(MAX(IFERROR(--MID(A1,ROW($A$1:INDEX($A:$A,LEN(A1))),8),0)),"0000-00-00"))
Обратите внимание, что все методы используют формула массива , поэтому вы ДОЛЖНЫ нажмите Ctrl + Shift + Введите после завершения формулы в строке формул, иначе они будут работать неправильно. Затем вы можете просто перетащить формулу вниз, чтобы применить поперек.
Логика заключается в том, чтобы использовать эту формулу массива =MAX(IFERROR(--MID(A1,ROW($A$1:INDEX($A:$A,LEN(A1))),8),0))
, чтобы сначала извлечь числовую строку. Методы 1 и 2 следуют той же логике, которая заключается в извлечении компонента year YYYY
, month MM
и day DD
из числовой строки, а затем используйте функцию DATE или DATEVALUE , чтобывернуть дату. Метод 3 использует прием форматирования для быстрого преобразования числового значения в текстовую дату, а затем с помощью функции DATEVALUE преобразует текстовую дату в «реальную» дату.
ПустьЯ знаю, если у вас есть какие-либо вопросы. Ура :) 1052 *