Формула Excel с использованием формулы для преобразования даты с или iserror

Формула Excel с использованием формулы для преобразования даты с или iserror

Предыстория: данные поступают из базы данных с датами в европейском формате (ДД/ММ/ГГГГ). Столбец «Создано» (столбец A) также имеет временную метку в формате 24 часа. Рядом с ним находится столбец «Идентифицировано» (столбец B) с только датой, которая может не совпадать с датой «создания».

Мне нужно вывести новый столбец «Создано» только с датой (без временной метки) в формате США, и я знаю, как это сделать. Я использую LEFT, чтобы захватить только европейскую дату в новом столбце. (столбец C) Затем в другом новом столбце я использую =Date(value(right(A2,4)),value(mid(A2,4,2)),value(left(a2,2))), чтобы перевести дату в формат США (MM/DD/YYYY). (столбец D)

Все хорошо с вышеизложенным. Вот где все становится затруднительно, мне нужно сделать ту же самую передачу даты для данных "Идентифицировано" в их собственный столбец (столбец E). Не каждая строка данных имеет дату "Идентифицировано".

В случаях, когда дата «Идентифицирована» отсутствует, я бы хотел, чтобы моя формула даты распознавала ошибку (которая отображается как #ЗНАЧЕНИЕ) и копировала преобразованную дату «Создано».

Я пробовал играть с операторами IF, OR и IsError, но так и не смог получить допустимый вариант.

Буду очень признателен за любые предложения. Я также попытался создать еще один столбец (F), используя =If(iserror) для чтения моего преобразованного столбца "Identified", и если это была ошибка, чтобы получить преобразованную дату "Created", а если это не ошибка, чтобы получить преобразованную дату "Identified", однако это дает мне пустую ячейку.

Я создал простой пример таблицы Excel, но не вижу возможности загрузить/прикрепить файл Excel?

Изображение примера рабочей тетради с прокомментированными формулами

решение1

Формула для ячейки E2...

Старый способ, с использованием IF

=IF(ISBLANK(B2),D2,DATE(VALUE(RIGHT(B2,4)),VALUE(MID(B2,4,2)),VALUE(LEFT(B2,2))))

Современный способ, с использованием ЕСЛИОШИБКА

=IFERROR(DATE(VALUE(RIGHT(B2,4)),VALUE(MID(B2,4,2)),VALUE(LEFT(B2,2))),D2)

Если B2пусто, то DATEфункция, которую вы использовали, E2выдаст ошибку.

Старый способ использует IFфункцию для проверки того, B2пуста ли ячейка, и если это так, просто возвращает в качестве результата то, что находится в ячейке D2. Если проверка не пройдена, IFфункция просто вычисляет требуемый результат с помощью DATEфункции.

Современный способ не касается того, что вызывает DATEошибку, а только того, есть ли ошибка. Если ошибки нет, функция IFERROR использует первый аргумент - функцию DATE- а если есть ошибка, она использует второй аргумент - D2- в качестве результата.

Современный способ предпочтительнее. Другие ошибки, такие как B2наличие случайного текста, вызовут проблемы с DATEфункцией в E2. IFВерсия не будет обрабатывать такие ошибки должным образом, тогда как IFERRORбудет.

Связанный контент