2015-11-04 6 views
0

Использование Excel 2010. Мне нужно посмотреть, существует ли строка в одном наборе ячеек в другом наборе ячеек, и если да, то возвращаем информацию из соседней ячейки, которая соответствует этой строке. Я изначально сделал это с помощью SEARCH, ISNUMBER и вложенных операторов IF, но в моем исходном наборе данных есть несколько десятков записей, а строки, которые должны быть найдены, содержат несколько сотен записей. Данные напоминает, что на картинке (упрощенный пример):Поиск строки и возвращаемой информации из соседней ячейки

enter image description here

Для ограниченного набора данных, я использовал вложенный IF заявление, как:

IF(ISNUMBER(SEARCH($D$2,$A2,1)),"Cat Info",IF(ISNUMBER(SEARCH($D$3,$A2,1)),"Dog Info",IF(ISNUMBER(SEARCH($D$4,$A2,1)),"Elephant Info","Not Found"))) 

Но теперь оба набора данных слишком большой, чтобы сделать это.

Что мне нужно сделать, чтобы найти строки в столбце А для ключевого слова в столбце D. Если ключевое слово найдено, мне нужно вернуть соответствующую информацию из колонки E.

Например, в колонке B2, так как слово dog находится в A2, я хотел бы, чтобы содержимое E3 (Dog Section) отображалось в B2.

Мой список ключевых слов уникален (столбец D, список), и я знаю, что в колонке A (TheString) появится нуль или одно ключевое слово.

Я думаю, что функции INDEX & MATCH могут быть частью моего решения, но я не уверен, как найти ключевое слово List в строке, а затем вернуть значение столбца Information.

+0

Насколько велик список ключевых слов? – ergonaut

+0

Если у вас есть список uniq, почему вы не используете функцию Find? – Poof

+0

@ergonaut - список несколько десятков, около 45 и может быть изменен. –

ответ

5

Нет необходимости в VBA. Это может быть сделано с помощью простой формулы:

Введите эту формулу в ячейке B2:

=LOOKUP(2,1/SEARCH(D$2:D$7,A2),E$2:E$7) 

Копирование вниз, насколько это необходимо.

Примечание: отрегулируйте диапазон ссылок на размер ваших данных.

-1

не сделал все это, но эта формула

= МАКС (ЕСЛИ (ЕЧИСЛО (ПОИСК (D1, $ A $ 1: $ A $ 4,1)), СТРОКА ($ A $ 1: $ A $ 4), 0))

Массив Формула

даст вам строку A1: а4 где D1 и т.д., содержится. Тогда вы можете указать на это. Однако он будет показывать только максимальный ряд, поэтому если его в 1 & 2, то он будет показывать только строку 2.

Cheers.

+0

Зачем это было отмечено в какой-то точке ????? –

Смежные вопросы