Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2018, 11:58   #1
Bomba2018
Пользователь
 
Регистрация: 19.06.2018
Сообщений: 15
По умолчанию Совпадение части текста в одной ячейке с текстом из другой

Подскажите, пожалуйста, как проверить совпадение части данных в одних ячейках с содержимом в другой ячейке
Есть таблица Исходные данные, заполнена вариациями Вася Пупкин, Иванов Вася, Распрекрасный вася пупкин.
Значение в ячейке Вася Пупкин надо сравнить с диапазоном ячеек в таблице Исходные данные и выдать результат в таблицу Результат. Если часть текста совпала с Вася Пупкин, то ИСТИНА, если нет, то ЛОЖЬ.
Вложения
Тип файла: xlsx Поиск вхождений.xlsx (10.1 Кб, 69 просмотров)
Bomba2018 вне форума Ответить с цитированием
Старый 20.06.2018, 12:22   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

в В2
Код:
=НЕ(ДЛСТР(A2)=ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A2);ПРОПИСН($A$10);"")))
и за правый нижний уголок потянуть В2 вниз по списку
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.06.2018, 14:23   #3
Bomba2018
Пользователь
 
Регистрация: 19.06.2018
Сообщений: 15
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
в В2
Код:
=НЕ(ДЛСТР(A2)=ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(A2);ПРОПИСН($A$10);"")))
и за правый нижний уголок потянуть В2 вниз по списку
Спасибо большое!
Bomba2018 вне форума Ответить с цитированием
Старый 20.06.2018, 14:51   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

а так разве не проще?
Код:
=ЕЛОГИЧ(ПОИСК($A$10;A2)>0)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.06.2018, 15:20   #5
Bomba2018
Пользователь
 
Регистрация: 19.06.2018
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
а так разве не проще?
Код:
=ЕЛОГИЧ(ПОИСК($A$10;A2)>0)
Спасибо. Не подскажете, как понять вот это: ПОИСК($A$10;A2)>0. Я подставляю и <, и = и у меня те же результаты.
Bomba2018 вне форума Ответить с цитированием
Старый 20.06.2018, 15:25   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Bomba2018 Посмотреть сообщение
ПОИСК($A$10;A2)>0
если в строке нашли позицию текста, она возвращается в виде числа (больше нуля)

если не нашлось, то возвращается значение ошибки !ЕЗНАЧ

вот с помощью функции ЕЛОГИЧ() проверяем, если у нас логическое выражение, значит, нашлось то, что мы искали (возвращаем ИСТИНА), если нет (ошибка поиска) - значит, возвращаем ЛОЖЬ.


Цитата:
Сообщение от Bomba2018 Посмотреть сообщение
Я подставляю и <, и = и у меня те же результаты.
ну, так и должно быть.
а что Вы пытались получить, когда подставляли < = и т.д. ?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.06.2018, 15:50   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

суть написанного Сергеем:
1. сначала выполняется ПОИСК($A$10;A2) - поиск содержимого ячейки А10 в содержимом ячейки А2
результатом может быть число (№ позиции А10 в А2) или ошибка #ЗНАЧ (когда того что в А10 нет в А2)
2 сравниваем результат с п.1 с нулем (вот тут уже СОВЕРШЕННО не важно на что сравнивать на >, <, =, <> и не важно что будет в результате ИСТИНА или ЛОЖЬ, потому что сравнение #ЗНАЧ с нулем даст тот же #ЗНАЧ в результате)
и в завершении
3. ЕЛОГИЧ смотрит, если результат п.2 одно из логических значений - общий итог ИСТИНА, и ЛОЖЬ если не так.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.06.2018, 17:14   #8
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Обычно пишут
Код:
=ЕЧИСЛО(ПОИСК($A$10;A2))
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 20.06.2018, 17:18   #9
Bomba2018
Пользователь
 
Регистрация: 19.06.2018
Сообщений: 15
По умолчанию

IgorGO, Serge_Bliznykov
Спасибо!
Bomba2018 вне форума Ответить с цитированием
Старый 20.06.2018, 17:36   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Обычно пишут
Код:
=ЕЧИСЛО(ПОИСК($A$10;A2))
да, согласен, так логичней! Спасибо.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос текста из одной страницы сайта на Joomla в форму другой страницы. demiancz WordPress и другие CMS 0 18.03.2018 22:05
Ячейке со значением, вставить часть другой ячейке. Alex_Mosia Microsoft Office Excel 12 13.04.2017 07:55
Отображение части контекста с одной страницы сайта (файла) на другой странице Sledak HTML и CSS 5 27.09.2013 23:48
Как организовать изменения текста одной кнопки по нажатию на другой в одном и том же окне? Zhigool' Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 07.02.2012 21:14
Перенос текста в одной ячейке, в отдельные строки...трансформировать не катит IAM_ Microsoft Office Excel 6 23.10.2011 18:17