Если будет всегда будет ровно 1 sla sh, то вы можете использовать двухэтапную формулу. Предположим, это ММ / ГГГГ. Попробуйте сначала извлечь это как дату. Если это не удается, то это формат ММ / ГГ.
=IFERROR(
DATE(MID(D2,FIND("/",D2,1)+1,4),SUBSTITUTE(MID(D2,FIND("/",D2,1)-2,2), "-", ""),1),
DATE(MID(D2,FIND("/",D2,1)+1,2)+2000,SUBSTITUTE(MID(D2,FIND("/",D2,1)-2,2), "-", ""),1)
) \-----------------------------/ \---------------------------------------------/ ^
| | |
year month day
Мне пришлось использовать функцию DATE()
для создания реального значения даты, так что в случае сбоя она вернет ошибку, чтобы он будет использовать вторую часть, чтобы использовать год два di git. (Не включайте примечание year/month/day
в фактическую формулу ...)
Или даже лучше, поскольку ваша формула уже работает для ММ / ГГ, тогда, если первое преобразование DATE()
завершится неудачно, оно будет используйте свою формулу. Таким образом, вам не нужно предполагать, что значение YY - это год 2000 или позже ...
=IFERROR(
DATE(MID(D2,FIND("/",D2,1)+1,4),SUBSTITUTE(MID(D2,FIND("/",D2,1)-2,2), "-", ""),1),
SUBSTITUTE(SUBSTITUTE(MID(D2,FIND("/",D2)-2,5),"-",""),"/","/01/")*1
)