Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/ВПР с несовпадающими искомыми значениями - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
ВПР с несовпадающими искомыми значениями
Meissen Дата: Пятница, 24.07.2015, 21:35 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 62
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый вечер!
Друзья, помогите, пожалуйста построить формулу, чтобы при несовпадающем искомом значении возвращалось нужное из таблицы.
Заранее спасибо.
К сообщению приложен файл: 2980187.xls (19.5 Kb)
 
Ответить
СообщениеДобрый вечер!
Друзья, помогите, пожалуйста построить формулу, чтобы при несовпадающем искомом значении возвращалось нужное из таблицы.
Заранее спасибо.

Автор - Meissen
Дата добавления - 24.07.2015 в 21:35
Nic70y Дата: Пятница, 24.07.2015, 21:39 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 9131
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
Код
=ВПР("*"&СЖПРОБЕЛЫ(ЛЕВБ(ПОДСТАВИТЬ(A2;" ";ПОВТОР(" ";217));214))&"*";E$2:F$7;2;0)
вдруг правильно...
К сообщению приложен файл: 1-1-1-2.xls (26.0 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение
Код
=ВПР("*"&СЖПРОБЕЛЫ(ЛЕВБ(ПОДСТАВИТЬ(A2;" ";ПОВТОР(" ";217));214))&"*";E$2:F$7;2;0)
вдруг правильно...

Автор - Nic70y
Дата добавления - 24.07.2015 в 21:39
МВТ Дата: Пятница, 24.07.2015, 21:58 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Пардон, затупил


Сообщение отредактировал МВТ - Пятница, 24.07.2015, 22:02
 
Ответить
СообщениеПардон, затупил

Автор - МВТ
Дата добавления - 24.07.2015 в 21:58
Nic70y Дата: Пятница, 24.07.2015, 22:01 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 9131
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
Михаил, не ожидал однако...
/диапазон.../
К сообщению приложен файл: 1-18.xls (26.0 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Пятница, 24.07.2015, 22:02
 
Ответить
СообщениеМихаил, не ожидал однако...
/диапазон.../

Автор - Nic70y
Дата добавления - 24.07.2015 в 22:01
МВТ Дата: Пятница, 24.07.2015, 22:03 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Николай, уже дошло - исправил (внимание к вечеру притупилось) :(
 
Ответить
СообщениеНиколай, уже дошло - исправил (внимание к вечеру притупилось) :(

Автор - МВТ
Дата добавления - 24.07.2015 в 22:03
Udik Дата: Пятница, 24.07.2015, 22:04 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Уточните какое нужное должно возвращаться, сейчас ВПР ищет точное значение, не находит и возвращает #Н/Д. А вы что хотите получить?


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеУточните какое нужное должно возвращаться, сейчас ВПР ищет точное значение, не находит и возвращает #Н/Д. А вы что хотите получить?

Автор - Udik
Дата добавления - 24.07.2015 в 22:04
Nic70y Дата: Пятница, 24.07.2015, 22:06 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 9131
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
(внимание к вечеру притупилось
[offtop]все норм - у самого частенько бывает :) [/offtop]


ЮMoney 41001841029809
 
Ответить
Сообщение
(внимание к вечеру притупилось
[offtop]все норм - у самого частенько бывает :) [/offtop]

Автор - Nic70y
Дата добавления - 24.07.2015 в 22:06
Meissen Дата: Пятница, 24.07.2015, 22:06 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 62
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо! надо мне с большим массивом попробовать теперь.
 
Ответить
СообщениеСпасибо! надо мне с большим массивом попробовать теперь.

Автор - Meissen
Дата добавления - 24.07.2015 в 22:06
_Boroda_ Дата: Пятница, 24.07.2015, 23:04 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 16892
Репутация: 6611 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Nic70y, Если два одинаковых первых слова во второй таблице, то дает первое (ООО - 4 и 5)
Предлагаю так
Код
=ЕСЛИОШИБКА(ВПР(ПОДСТАВИТЬ("*"&A2&"*";"""";);ПОДСТАВИТЬ(E$2:F$7;"""";);2;);ИНДЕКС(F$2:F$7;МОДА(ЕСЛИОШИБКА(ПОИСКПОЗ(ПОДСТАВИТЬ("* "&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(" "&A2;".";"*");"""";);" ";ПОВТОР(" ";99));99*СТРОКА($1:$9);99))&"*";"* *";);" "&ПОДСТАВИТЬ(E$2:E$7;"""";););""))))

Тоже не всегда верно будет. Наверное, лучше совместить обе формулы в столбцах рядом и вручную проверить те значения, где они не совпадут.
Вкратце формула
1. В столбце А в ячейке текущей строки приклеиваем спереди пробел, меняем точки на звездочки, кавычки на ничего, а каждый пробел на 99 пробелов (если могут быть длинные словосочетания, то 99 заменить на что-то большее, например, на 217), делим все это на 9 отрезков по 99 символов, убираем ненужные пробелы и приклеиваем спереди звездочку с пробелом, а сзади звездочку.
2. Во втором желтом столбце убираем кавычки и приклеиваем к значению каждой ячейки спереди пробел.
3. ПОИСКПОЗом ищем п.1 в п.2, если не находим, то пусто.
4. МОДА из п.3 дает наиболее часто встречающееся значение - оно-то и будет порядковым номером искомого значения. Как раз здесь (в массиве для МОДЫ) слабое место формулы.
5. ИНДЕКСом ищем соответствующее значение.
Поскольку для МОДЫ нужно как минимум 2 числа, то предварительно отсекаем искомые ячейки с одним словом с помощью ВПРа, убрав кавычки и в искомом значении, и в массиве для поиска.
К сообщению приложен файл: 2980187_1.xlsx (9.6 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеNic70y, Если два одинаковых первых слова во второй таблице, то дает первое (ООО - 4 и 5)
Предлагаю так
Код
=ЕСЛИОШИБКА(ВПР(ПОДСТАВИТЬ("*"&A2&"*";"""";);ПОДСТАВИТЬ(E$2:F$7;"""";);2;);ИНДЕКС(F$2:F$7;МОДА(ЕСЛИОШИБКА(ПОИСКПОЗ(ПОДСТАВИТЬ("* "&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(" "&A2;".";"*");"""";);" ";ПОВТОР(" ";99));99*СТРОКА($1:$9);99))&"*";"* *";);" "&ПОДСТАВИТЬ(E$2:E$7;"""";););""))))

Тоже не всегда верно будет. Наверное, лучше совместить обе формулы в столбцах рядом и вручную проверить те значения, где они не совпадут.
Вкратце формула
1. В столбце А в ячейке текущей строки приклеиваем спереди пробел, меняем точки на звездочки, кавычки на ничего, а каждый пробел на 99 пробелов (если могут быть длинные словосочетания, то 99 заменить на что-то большее, например, на 217), делим все это на 9 отрезков по 99 символов, убираем ненужные пробелы и приклеиваем спереди звездочку с пробелом, а сзади звездочку.
2. Во втором желтом столбце убираем кавычки и приклеиваем к значению каждой ячейки спереди пробел.
3. ПОИСКПОЗом ищем п.1 в п.2, если не находим, то пусто.
4. МОДА из п.3 дает наиболее часто встречающееся значение - оно-то и будет порядковым номером искомого значения. Как раз здесь (в массиве для МОДЫ) слабое место формулы.
5. ИНДЕКСом ищем соответствующее значение.
Поскольку для МОДЫ нужно как минимум 2 числа, то предварительно отсекаем искомые ячейки с одним словом с помощью ВПРа, убрав кавычки и в искомом значении, и в массиве для поиска.

Автор - _Boroda_
Дата добавления - 24.07.2015 в 23:04
Nic70y Дата: Суббота, 25.07.2015, 07:49 | Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 9131
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
может так сойдет?
Код
=ВПР("*"&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(A2;" ";ПОВТОР(" ";217));ЕСЛИ(ЕЧИСЛО(НАЙТИ(ЛЕВБ(ПОДСТАВИТЬ(A2;"""";);2);ПРОПИСН(ЛЕВБ(A2;2))));217;1);217))&"*";E$2:F$7;2;0)


ЮMoney 41001841029809
 
Ответить
Сообщениеможет так сойдет?
Код
=ВПР("*"&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(A2;" ";ПОВТОР(" ";217));ЕСЛИ(ЕЧИСЛО(НАЙТИ(ЛЕВБ(ПОДСТАВИТЬ(A2;"""";);2);ПРОПИСН(ЛЕВБ(A2;2))));217;1);217))&"*";E$2:F$7;2;0)

Автор - Nic70y
Дата добавления - 25.07.2015 в 07:49
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!