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

Вход

Регистрация

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

 

= Мир MS Excel/Поиск в массиве при частичном совпадении с искомым значением - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Поиск в массиве при частичном совпадении с искомым значением
INK Дата: Пятница, 20.02.2015, 15:26 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

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


С НДС и я чего-то стою!
 
Ответить
СообщениеДобрый день!
Друзья, нужна помошь с идеими. Как релизовать поиск в таблице при частичном совпадении с искомым значением ?
Заранее огромное спасибо!

Автор - INK
Дата добавления - 20.02.2015 в 15:26
AlexM Дата: Пятница, 20.02.2015, 15:58 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1130 ±
Замечаний: 0% ±

Excel 2003
По первому слову. Формула массивная
Код
=ИНДЕКС(Массив!B$1:B$99;НАИМЕНЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК("*"&ЛЕВБ(B$3;ПОИСК("? ";B$3))&"*";Массив!B$3:B$99));СТРОКА(B$3:B$99));СТРОКА(A1)))
К сообщению приложен файл: 3952388_1.xls (27.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеПо первому слову. Формула массивная
Код
=ИНДЕКС(Массив!B$1:B$99;НАИМЕНЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК("*"&ЛЕВБ(B$3;ПОИСК("? ";B$3))&"*";Массив!B$3:B$99));СТРОКА(B$3:B$99));СТРОКА(A1)))

Автор - AlexM
Дата добавления - 20.02.2015 в 15:58
INK Дата: Суббота, 21.02.2015, 09:05 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
AlexM, что-то не очень адекватно работает, если начинаешь изменять "содержимое" поиска то формула перестаёт искать! но идея вполне интересная Если впереди искомого значения будут стоять дополнительные символы, тогда формула не работает. есть ещё варианты?


С НДС и я чего-то стою!
 
Ответить
СообщениеAlexM, что-то не очень адекватно работает, если начинаешь изменять "содержимое" поиска то формула перестаёт искать! но идея вполне интересная Если впереди искомого значения будут стоять дополнительные символы, тогда формула не работает. есть ещё варианты?

Автор - INK
Дата добавления - 21.02.2015 в 09:05
AlexM Дата: Суббота, 21.02.2015, 09:20 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1130 ±
Замечаний: 0% ±

Excel 2003
Покажите примеры разных вариантов содержимого поиска. И массив желательно на 30-40 строк.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеПокажите примеры разных вариантов содержимого поиска. И массив желательно на 30-40 строк.

Автор - AlexM
Дата добавления - 21.02.2015 в 09:20
INK Дата: Вторник, 24.02.2015, 15:13 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
AlexM, Расширенный пример (лист массив) добавлен материал
К сообщению приложен файл: 4853734.xls (42.5 Kb)


С НДС и я чего-то стою!
 
Ответить
СообщениеAlexM, Расширенный пример (лист массив) добавлен материал

Автор - INK
Дата добавления - 24.02.2015 в 15:13
AlexM Дата: Вторник, 24.02.2015, 15:29 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1130 ±
Замечаний: 0% ±

Excel 2003
Так?
К сообщению приложен файл: 4853734_1.xls (47.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеТак?

Автор - AlexM
Дата добавления - 24.02.2015 в 15:29
INK Дата: Вторник, 24.02.2015, 16:24 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
AlexM, ДА, она родимая, спасибо огромное! очень помогли.
Один косяк, при просмотре формулы без редактирования начинает "показывать" не нужный результат (Болт фундаментальный 20х1000, шт)


С НДС и я чего-то стою!

Сообщение отредактировал INK - Вторник, 24.02.2015, 16:31
 
Ответить
СообщениеAlexM, ДА, она родимая, спасибо огромное! очень помогли.
Один косяк, при просмотре формулы без редактирования начинает "показывать" не нужный результат (Болт фундаментальный 20х1000, шт)

Автор - INK
Дата добавления - 24.02.2015 в 16:24
Мурад Дата: Вторник, 24.02.2015, 17:56 | Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
Пытаюсь уже 2 часа доработать формулу ВПР со смещением, но не получается. Логика проста, нашли элемент, массив сдвигается с этой позиции на строчку ниже.
Код
=ВПР(B$3&"*";СМЕЩ(Массив!$B$3:$B$199;E2;);1;0)
 
Ответить
СообщениеПытаюсь уже 2 часа доработать формулу ВПР со смещением, но не получается. Логика проста, нашли элемент, массив сдвигается с этой позиции на строчку ниже.
Код
=ВПР(B$3&"*";СМЕЩ(Массив!$B$3:$B$199;E2;);1;0)

Автор - Мурад
Дата добавления - 24.02.2015 в 17:56
AlexM Дата: Вторник, 24.02.2015, 19:06 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1130 ±
Замечаний: 0% ±

Excel 2003
Один косяк
Формулы массива вводятся Ctrl+Shift+Enter
Мурад, у вас решение с доп столбцом Е?
К сообщению приложен файл: 4853734_2.xls (50.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Вторник, 24.02.2015, 19:10
 
Ответить
Сообщение
Один косяк
Формулы массива вводятся Ctrl+Shift+Enter
Мурад, у вас решение с доп столбцом Е?

Автор - AlexM
Дата добавления - 24.02.2015 в 19:06
Мурад Дата: Среда, 25.02.2015, 09:42 | Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
Алекс, точно :) Я тоже допстолбец использовал, потом пытался его в ВПР засунуть, но не довел дело до конца.
 
Ответить
СообщениеАлекс, точно :) Я тоже допстолбец использовал, потом пытался его в ВПР засунуть, но не довел дело до конца.

Автор - Мурад
Дата добавления - 25.02.2015 в 09:42
Мурад Дата: Среда, 25.02.2015, 13:31 | Сообщение № 11
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
Скажите, а возможна идея с исключением найденных элементов из массива данных (без использования макросов)? Ищем в массиве исходных элементов [vba]
Код
$B$3:$B$199
[/vba] нужный элемент, формируя массив найденных элементов, допустим, [vba]
Код
$D$3:$D$20
[/vba]. На каждом последующем шаге из массива исходных элементов исключаем массив найденных элементов, и производим поиск в оставшемся массиве. Вот и вопрос, какой оператор служит для проверки и исключения? XOR?
Сам поиск оставить за функцией
Код
=ВПР(B$3&"*";Массив!$B$3:$B$199;1;0)
 
Ответить
СообщениеСкажите, а возможна идея с исключением найденных элементов из массива данных (без использования макросов)? Ищем в массиве исходных элементов [vba]
Код
$B$3:$B$199
[/vba] нужный элемент, формируя массив найденных элементов, допустим, [vba]
Код
$D$3:$D$20
[/vba]. На каждом последующем шаге из массива исходных элементов исключаем массив найденных элементов, и производим поиск в оставшемся массиве. Вот и вопрос, какой оператор служит для проверки и исключения? XOR?
Сам поиск оставить за функцией
Код
=ВПР(B$3&"*";Массив!$B$3:$B$199;1;0)

Автор - Мурад
Дата добавления - 25.02.2015 в 13:31
_Boroda_ Дата: Среда, 25.02.2015, 14:23 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 16910
Репутация: 6615 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Еще вариант. Немассивная формула.
Код
=ПРОСМОТР(;-ПОИСК(B$3;Массив!B$3:B$199)/ЕНД(ПОИСКПОЗ(Массив!B$3:B$199;F$2:F2;));Массив!B$3:B$199)

идея с исключением найденных элементов из массива данных

Это как раз кусок внутри ЕНД - если нашел, то число какое-то. Число - это не НД, значит ЕНД(число) даст 0, деление на 0 дает ошибку, следовательно, даже если ПОИСК нашел значение, а оно уже было, то его не рассматриваем.
К сообщению приложен файл: 4853734_11.xls (48.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕще вариант. Немассивная формула.
Код
=ПРОСМОТР(;-ПОИСК(B$3;Массив!B$3:B$199)/ЕНД(ПОИСКПОЗ(Массив!B$3:B$199;F$2:F2;));Массив!B$3:B$199)

идея с исключением найденных элементов из массива данных

Это как раз кусок внутри ЕНД - если нашел, то число какое-то. Число - это не НД, значит ЕНД(число) даст 0, деление на 0 дает ошибку, следовательно, даже если ПОИСК нашел значение, а оно уже было, то его не рассматриваем.

Автор - _Boroda_
Дата добавления - 25.02.2015 в 14:23
  • Страница 1 из 1
  • 1
Поиск:

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