Вы можете сделать это, комбинируя SUMPRODUCT с INDEX.
Я получил это:
Моя формула в E1 и перетаскивается вниз is:
=IFERROR(INDEX($E$1:$E$4;SUMPRODUCT(--ISNUMBER(SEARCH($E$1:$E$4;A6));ROW($E$1:$E$4)));"Not found")
Вот как это работает:
- Part
SUMPRODUCT(--ISNUMBER(SEARCH($E$1:$E$4;A6));ROW($E$1:$E$4)))
вернет массив 1 и 0, если текст найден / не найден. И мы умножаем эти 1 и 0 на номер строки каждого параметра в списке. Если ничего не найдено, он вернет 0 - с
INDEX
и числом, возвращенным на шаге 1, мы просто перечислим элемент. - Мы ловим
INDEX
с IFERROR
, потому что иногда шаг 1 вернет 0, что приведет к ошибке на шаге 2, если ничего не найдено, поэтому мы возвращаем текст «not found».
Надеюсь, вы сможете адаптировать его под свои нужды.
ВАЖНО: Эта формула будет работать, если совпадения 0 или 1. Если их больше, формула не будет работать, потому что она вернет сумму 2 или более номеров строк, а затем INDEX вызовет ошибку. Следите за этим
Пример: если вы наберете GREY DOG, формула вернет 5 (совпадения в строках 1 и 4 и суммируются). Но с INDEX вы смотрите в диапазоне только 4 строки, а не 5, поэтому это вызовет ошибку.