Формула Excel для выполнения чего-либо, если ячейка имеет значение, если нет, проверьте значение другой ячейки

У меня есть файл Excel, который содержит следующую информацию

Я пытаюсь извлечь только 1 и только 2 в столбцах «Дата» или 2 или 3 в столбцах «Дата 2». Итак, если тип равен A, то формула сломается и извлечет что-то из даты. Но если тип имеет другое значение , затем я хотел бы проверить тип 2, а затем запустить формулу для даты 2. Я знаю, что это какой-то беспорядок

У меня сейчас есть следующее:

=IF(OR(Type="On-Call", Type 2="On-Call"),LEFT(Date, SEARCH(";",Date,1)),"")

Это работает, когда Type имеет значение A, но если это не так, то он просто ничего не отображает.

По сути, я ДУМАЮ, что мне нужно, чтобы ЕСЛИ тип имел значение A, затем запускал код, но если это не так, то проверял тип 2, и если он имеет значение A, то запускал код в дату 2. Но это вложено IF тоже доставляет мне проблемы. У меня было что-то похожее на это, но не сработало:

=IF(OR(Sheet1!H2="On-Call"),LEFT(Sheet1!L2, SEARCH(";",Sheet1!L2,1)),IF(Sheet1!I2="On-Call"),LEFT(Sheet1!K2, SEARCH(";",SHEET1!K2,1)),"")

Кто-нибудь знает, как я мог добиться чего-то подобного?

Заранее спасибо!

1 ответ

Основной подход к решению такого рода проблем заключается в следующем:

      =IFERROR(  VLOOKUP(H2,B2:D3,3,FALSE),  VLOOKUP(H2,C2:E3,3,FALSE)  )

используя ваши данные в A1:E3 и искомое значение в ячейке H2.

Вы можете использовать любой работоспособный поиск,VLOOKUPиспользуется просто потому, что оно знакомо большинству.

Идея состоит в том, чтобы использовать поиск, который в случае неудачи выдаст ошибку. Если это удастся, вы получите действительный результат от проверки столбца «Тип» и возврата из столбца «Дата», в данном случае1;2и можешь поступать с ним как хочешь. Если это не удается (ошибки), второй поиск получает действительный результат при проверке столбца «Тип 2» и возврате из столбца «Дата 2».

Конечно, это просто демонстрирует это. Другие вещи могут воткнуть палец. Например, ни в одном столбце может не быть совпадений. Другой вариант может заключаться в том, что в ОБА столбцах есть совпадение, и у вас есть более сложный способ выбрать, какой из двух столбцов вас больше всего волнует, что может усложнить то, что будет возвращено. Все виды вещей.

Для версий старшеIFERROR, можно использовать:

      =IF(  ISERROR(VLOOKUP(H2,B2:D3,3,FALSE)),  VLOOKUP(H2,C2:E3,3,FALSE),  VLOOKUP(H2,B2:D3,3,FALSE)  )

Он делает то же самое, только дольше, чтобы приспособить менее удачный способ сделать это.ISERRORуходит корнями в далёкое прошлое, поэтому должно послужить либо одно, либо другое.

Если ваша логика поиска более сложна, чем представленная, может потребоваться дополнительная адаптация, но это простой подход, которому легко следовать через год.

Другие вопросы по тегам