Возврат содержимого списка, содержащегося в данной ячейке - PullRequest
1 голос
/ 31 января 2020

У меня есть данные, как показано ниже. Я хотел бы заполнить Column2 значением в столбце списка (E), если одно из этих значений является подстрокой Column1. Я могу подтвердить это условие и вернуть TRUE или FALSE, но не вернуть фактическую строку в столбце List. Любая помощь? enter image description here

Обновление: я сослался здесь , чтобы вернуть TRUE или FALSE на основе условия

1 Ответ

1 голос
/ 31 января 2020

Вы можете сделать это, комбинируя SUMPRODUCT с INDEX.

Я получил это:

enter image description here

Моя формула в E1 и перетаскивается вниз is:

=IFERROR(INDEX($E$1:$E$4;SUMPRODUCT(--ISNUMBER(SEARCH($E$1:$E$4;A6));ROW($E$1:$E$4)));"Not found")

Вот как это работает:

  1. Part SUMPRODUCT(--ISNUMBER(SEARCH($E$1:$E$4;A6));ROW($E$1:$E$4))) вернет массив 1 и 0, если текст найден / не найден. И мы умножаем эти 1 и 0 на номер строки каждого параметра в списке. Если ничего не найдено, он вернет 0
  2. с INDEX и числом, возвращенным на шаге 1, мы просто перечислим элемент.
  3. Мы ловим INDEX с IFERROR, потому что иногда шаг 1 вернет 0, что приведет к ошибке на шаге 2, если ничего не найдено, поэтому мы возвращаем текст «not found».

Надеюсь, вы сможете адаптировать его под свои нужды.

ВАЖНО: Эта формула будет работать, если совпадения 0 или 1. Если их больше, формула не будет работать, потому что она вернет сумму 2 или более номеров строк, а затем INDEX вызовет ошибку. Следите за этим

Пример: если вы наберете GREY DOG, формула вернет 5 (совпадения в строках 1 и 4 и суммируются). Но с INDEX вы смотрите в диапазоне только 4 строки, а не 5, поэтому это вызовет ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...