Страницы: 1
RSS
Не могу найти значения в массиве данных
 
Соучастники, привет!
Пробовал функцию ПРОСМОТР, ИНДЕКС, ПОИСКПОЗ. не помогло
Нужно каждое значение из столбца A искать в столбце G. При нахождении такового, в столбец В напротив искомого значения прописать значение из столбца F напротив найденного. Как пример сделал в ячейке B24
Можно конечно и макросом, но на офисном ПК нет по ходу версии с ним Excel

Помогите, пожалуйста, с задачей.
 
а так =IFERROR(INDEX(F:F;MATCH("*"&A24&"*";G:G;0));"")
По вопросам из тем форума, личку не читаю.
 
БМВ, Огромное спасибо!
Изменено: mikhail.T - 12.07.2018 14:56:38
 
дополню вариант БМВ, наверное так будет более точный поиск, но формула становится массивной
Код
=ЕСЛИОШИБКА(ИНДЕКС($F$2:$F$296;ПОИСКПОЗ("*/"&A2&"/*";"/"&$G$2:$G$296&"/";0));"")
Изменено: Сергей - 12.07.2018 11:44:37 (косякнул малехо)
Лень двигатель прогресса, доказано!!!
 
Сергей, Но так не ищет
Изменено: mikhail.T - 12.07.2018 14:57:21
 
Цитата
Сергей написал:
становится массивной
Лень двигатель прогресса, доказано!!!
 
хм
=IFERROR(INDEX(F:F;LOOKUP(2;1/ISNUMBER(SEARCH("/"&A2&"/";"/"&$G$2:$G$296&"/"));ROW($G$2:$G$296)));"")
и результат тоже отличен
Выборочно проверил  - ок

upd
=IFERROR(LOOKUP(2;1/ISNUMBER(SEARCH("/"&A2&"/";"/"&$G$2:$G$296&"/"));$F$2:$F$296);"")
Изменено: БМВ - 12.07.2018 14:34:10
По вопросам из тем форума, личку не читаю.
 
блин замута реальная ПОИСКПОЗ не находит если текст длиннее 255 знаков, анализ в файле
Лень двигатель прогресса, доказано!!!
 
Сергей, Черт, я даже не смотрел что там так длинно :-) . выходит праведный результат #7
По вопросам из тем форума, личку не читаю.
 
БМВ, да с таким результатом первый раз сталкиваюсь если б не твоя конструкция из #7 так бы даже и не знал
Лень двигатель прогресса, доказано!!!
 
То есть правильная формула?
=IFERROR(INDEX(F:F;LOOKUP(2;1/ISNUMBER(SEARCH("/"&A2&"/";"/"&$G$2:$G$296&"/"));ROW($G$2:$G$296)));"")
 
правильная - любая формула, которая выдает правильный результат
Вас результат устраивает? - формула правильная!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
mikhail.T,

правильная да, корректная эта
=IFERROR(LOOKUP(2;1/ISNUMBER(SEARCH("/"&A2&"/";"/"&$G$2:$G$296&"/"));$F$2:$F$296);"")
заменил в #7
Изменено: БМВ - 12.07.2018 14:33:57
По вопросам из тем форума, личку не читаю.
 
БМВ, В итоге вот эта максимально точно выдаёт результат
=ЕСЛИОШИБКА(ИНДЕКС(F:F;ПРОСМОТР(2;1/ЕЧИСЛО(ПОИСК("/"&A2&"/";"/"&$G$2:$G$296&"/"));СТРОКА($G$2:$G$296)));"")
Изменено: mikhail.T - 12.07.2018 14:58:07
 
mikhail.T, кнопка цитирования не для ответа! Вернитесь в свои сообщения и удалите эти горе-цитаты.
 
не менее точно будет
=ЕСЛИОШИБКА(ПРОСМОТР(2;1/ЕЧИСЛО(ПОИСК("/"&A2&"/";"/"&$G$2:$G$296&"/"));$F$2:$F$296);"")
но короче
одна оговорочка, все формулы рассчитаны на единственное искомое значение. Если будет 2, то с ПРОСМОТР выдаст последний.
По вопросам из тем форума, личку не читаю.
 
БМВ, ну искомое одно значение, но оно может повторятся в массиве для поиска. Но в данном примере мне без разницы какое будет подставлять, важен сам факт наличия совпадения
Страницы: 1
Наверх