Формула 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
уходит корнями в далёкое прошлое, поэтому должно послужить либо одно, либо другое.
Если ваша логика поиска более сложна, чем представленная, может потребоваться дополнительная адаптация, но это простой подход, которому легко следовать через год.