Vvmebel.com

Новости с мира ПК
4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как задать поиск в excel

Найти в ячейке любое слово из списка

Предположим, вы получаете от поставщика/заказчика/клиента заполненную таблицу с перечнем продукции:

и эту таблицу необходимо сравнить с артикулами/кодами товара в имеющемся у вас каталоге продукции:

Как видно — в нашем каталоге только артикулы без наименований. У заказчика же помимо артикулов еще и название товара, т.е. много лишнего. И вам надо понять какие товары присутствуют в вашем каталоге, а какие нет:

Стандартных формул в Excel для подобного поиска и сравнения нет. Конечно, можно попробовать применить ВПР с подстановочными символами сначала к одной таблице, а затем к другой. Но если подобную операцию необходимо проделывать раз за разом, то прописывать по несколько формул к каждой таблице прямо скажем — не комильфо.
Поэтому я и решил сегодня продемонстрировать формулу, которая без всяких доп. манипуляций поможет такое сравнение сделать. Чтобы разобраться самостоятельно рекомендую скачать файл:
Скачать файл:

Tips_All_AnyoneOfArray.xls (49,5 KiB, 15 989 скачиваний)

На листе «Заказ» в этом файле таблица, полученная от заказчика, а на листе «Каталог» наши артикулы.
Сама формула на примере файла будет выглядеть так:

=ПРОСМОТР(2;1/ПОИСК(Каталог!$A$2:$A$11; A2 );Каталог!$A$2:$A$11)
=LOOKUP(2,1/SEARCH(Каталог!$A$2:$A$11,A2),Каталог!$A$2:$A$11)
эта формула вернет название артикула, если в тексте есть хоть один артикул из каталога и #Н/Д (#N/A) если артикул не найден в каталоге.
Прежде чем облагородить эту формулу всякими дополнениями(вроде виде убирания ненужных #Н/Д ) давайте разберемся как она работает.
Функция ПРОСМОТР (LOOKUP) ищет заданное значение( 2 ) в указанном диапазоне(массиве — второй аргумент). В качестве диапазона обычно приводится массив ячеек, но функция ПРОСМОТР имеет первую нужную нам особенность — она старается преобразовать непосредственно в массив любое выражение, записанное вторым аргументом. Иными словами она вычисляет выражение в этом аргументе, чем мы и пользуемся, подставив в качестве второго аргумента выражение: 1/ПОИСК(Каталог!$A$2:$A$11;A2) . Часть ПОИСК(Каталог!$A$2:$A$11;A2) ищет поочередно каждое значение из списка Каталога в ячейке A2 (наименование из таблицы Заказчика). Если значение найдено, то возвращается номер позиции первого символа найденного значения. Если значение не найдено — возвращается значение ошибки #ЗНАЧ!(#VALUE!). Теперь вторая особенность: функция требует расположения данных в массиве в порядке возрастания. Если данные расположены иначе — функция будет просматривать массив до тех пор, пока не найдет значение больше искомого, но максимально к нему приближенное(хотя если данные позволяют — для более точного поиска все же лучше отсортировать список по возрастанию). Поэтому сначала мы 1 делим на выражение ПОИСК(Каталог!$A$2:$A$11;A2) , чтобы получить массив вида: <0,0181818181818182:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!>
Ну а в качестве искомого значения мы подсовываем функции число 2 — заведомо большее число, чем может вообще встретиться в массиве(т.к. единица, поделенная на любое число будет меньше двух). И как результат мы получим позицию в массиве, в которой встречается последнее совпадение из каталога. После чего функция ПРОСМОТР запомнит эту позицию и вернет значение из массива Каталог!$A$2:$A$11 (третий аргумент), записанное в этом массиве для этой позиции.
Вы можете просмотреть этапы вычисления функции самостоятельно для каждой ячейки, я здесь просто приведу этапы чуть в расширенном для понимания виде:

Теперь немного облагородим функцию и сделаем еще пару реализаций
Реализация 1:
Вместо артикулов и #Н/Д выведем для найденных позиций «Есть» , а для отсутствующих «Не найден в каталоге» :
=ЕСЛИ(ЕНД(ПРОСМОТР(2;1/ПОИСК(Каталог!$A$2:$A$11;A2)));»Не найден в каталоге»;»Есть»)
=IF(ISNA(LOOKUP(2,1/SEARCH(Каталог!$A$2:$A$11,A2))),»Не найден в каталоге»,»Есть»)
работа функции проста — с ПРОСМОТР(LOOKUP) разобрались, поэтому остались только ЕНД и ЕСЛИ.
ЕНД (ISNA) возвращает ИСТИНА (TRUE) если выражение внутри неё возвращает значение ошибки #Н/Д (#N/A) и ЛОЖЬ (FALSE) если выражение внутри не возвращает значение этой ошибки.
ЕСЛИ (IF) возвращает то, что указано вторым аргументом если выражение в первом равно ИСТИНА (TRUE) и то, что указано третьим аргументом, если выражение первого аргумента ЛОЖЬ (FALSE) .

Реализация 2:
Вместо #Н/Д выведем «Не найден в каталоге» , но при этом если артикулы найдены — выведем названия этих артикулов:
=ЕСЛИОШИБКА(ПРОСМОТР(2;1/ПОИСК(Каталог!$A$2:$A$11;A2);Каталог!$A$2:$A$11);»Нет в каталоге»)
=IFERROR(LOOKUP(2,1/SEARCH(Каталог!$A$2:$A$11,A2),Каталог!$A$2:$A$11),»Нет в каталоге»)
Про функция ЕСЛИОШИБКА (IFERROR) я подробно рассказывал в этой статье: Как в ячейке с формулой вместо ошибки показать 0.
Если вкратце, то если выражение, заданное первым аргументом функции, возвращает значение любой ошибки, то функция вернет то, что записано вторым аргументом(в нашем случае это текст «Не найден в каталоге» ). Если же выражение не возвращает ошибку, то функция ЕСЛИОШИБКА запишет то значение, которое было получено выражением в первом аргументе(в нашем случае это будет наименование артикула).

Реализация 3
Надо не просто определить какому артикулу соответствует, но и вывести цену для наименования по этому артикулу(сами цены должны быть расположены в столбце B листа Каталог):
=ЕСЛИОШИБКА(ПРОСМОТР(2;1/ПОИСК(Каталог!$A$2:$A$11;A2);Каталог!$B$2:$B$11);»»)
=IFERROR(LOOKUP(2,1/SEARCH(Каталог!$A$2:$A$11,A2),Каталог!$B$2:$B$11),»»)

Пара важных замечаний:

  • данные на листе с артикулами не должны содержать пустых ячеек . Иначе с большой долей вероятности формула будет возвращать значение именно пустой ячейки, а не то, которое подходит под условия поиска
  • формула осуществляет поиск таким образом, что ищется любое совпадение. Например, в качестве артикула записана цифра 1, а в строке наименований может встречаться помимо целой 1 еще и 123, 651123, FG1412NM и т.п. Для всех этих наименований может быть подобран артикул 1, т.к. он содержится в каждом наименовании. Как правило это может произойти, если артикул 1 расположен в конце списка

Поэтому желательно перед использованием формулы отсортировать список по возрастанию(от меньшего к большему, от А до Я).

В приложенном в начале статьи примере вы найдете все разобранные варианты.

Если же вам понадобится выводить все наименования, то можно воспользоваться функцией СОДЕРЖИТ_ОДНО_ИЗ из моей надстройки MulTEx.

Статья помогла? Поделись ссылкой с друзьями!

Поиск в программе Microsoft Excel

В документах Microsoft Excel, которые состоят из большого количества полей, часто требуется найти определенные данные, наименование строки, и т.д. Очень неудобно, когда приходится просматривать огромное количество строк, чтобы найти нужное слово или выражение. Сэкономить время и нервы поможет встроенный поиск Microsoft Excel. Давайте разберемся, как он работает, и как им пользоваться.

Поисковая функция в Excel

Поисковая функция в программе Microsoft Excel предлагает возможность найти нужные текстовые или числовые значения через окно «Найти и заменить». Кроме того, в приложении имеется возможность расширенного поиска данных.

Способ 1: простой поиск

Простой поиск данных в программе Excel позволяет найти все ячейки, в которых содержится введенный в поисковое окно набор символов (буквы, цифры, слова, и т.д.) без учета регистра.

  1. Находясь во вкладке «Главная», кликаем по кнопке «Найти и выделить», которая расположена на ленте в блоке инструментов «Редактирование». В появившемся меню выбираем пункт «Найти…». Вместо этих действий можно просто набрать на клавиатуре сочетание клавиш Ctrl+F.

После того, как вы перешли по соответствующим пунктам на ленте, или нажали комбинацию «горячих клавиш», откроется окно «Найти и заменить» во вкладке «Найти». Она нам и нужна. В поле «Найти» вводим слово, символы, или выражения, по которым собираемся производить поиск. Жмем на кнопку «Найти далее», или на кнопку «Найти всё».

При нажатии на кнопку «Найти далее» мы перемещаемся к первой же ячейке, где содержатся введенные группы символов. Сама ячейка становится активной.

Поиск и выдача результатов производится построчно. Сначала обрабатываются все ячейки первой строки. Если данные отвечающие условию найдены не были, программа начинает искать во второй строке, и так далее, пока не отыщет удовлетворительный результат.

Поисковые символы не обязательно должны быть самостоятельными элементами. Так, если в качестве запроса будет задано выражение «прав», то в выдаче будут представлены все ячейки, которые содержат данный последовательный набор символов даже внутри слова. Например, релевантным запросу в этом случае будет считаться слово «Направо». Если вы зададите в поисковике цифру «1», то в ответ попадут ячейки, которые содержат, например, число «516».

Для того, чтобы перейти к следующему результату, опять нажмите кнопку «Найти далее».

Так можно продолжать до тех, пор, пока отображение результатов не начнется по новому кругу.

Читать еще:  Следующая строка в ячейке excel
  • В случае, если при запуске поисковой процедуры вы нажмете на кнопку «Найти все», все результаты выдачи будут представлены в виде списка в нижней части поискового окна. В этом списке находятся информация о содержимом ячеек с данными, удовлетворяющими запросу поиска, указан их адрес расположения, а также лист и книга, к которым они относятся. Для того, чтобы перейти к любому из результатов выдачи, достаточно просто кликнуть по нему левой кнопкой мыши. После этого курсор перейдет на ту ячейку Excel, по записи которой пользователь сделал щелчок.
  • Способ 2: поиск по указанному интервалу ячеек

    Если у вас довольно масштабная таблица, то в таком случае не всегда удобно производить поиск по всему листу, ведь в поисковой выдаче может оказаться огромное количество результатов, которые в конкретном случае не нужны. Существует способ ограничить поисковое пространство только определенным диапазоном ячеек.

      Выделяем область ячеек, в которой хотим произвести поиск.

  • Набираем на клавиатуре комбинацию клавиш Ctrl+F, после чего запуститься знакомое нам уже окно «Найти и заменить». Дальнейшие действия точно такие же, что и при предыдущем способе. Единственное отличие будет состоять в том, что поиск выполняется только в указанном интервале ячеек.
  • Способ 3: Расширенный поиск

    Как уже говорилось выше, при обычном поиске в результаты выдачи попадают абсолютно все ячейки, содержащие последовательный набор поисковых символов в любом виде не зависимо от регистра.

    К тому же, в выдачу может попасть не только содержимое конкретной ячейки, но и адрес элемента, на который она ссылается. Например, в ячейке E2 содержится формула, которая представляет собой сумму ячеек A4 и C3. Эта сумма равна 10, и именно это число отображается в ячейке E2. Но, если мы зададим в поиске цифру «4», то среди результатов выдачи будет все та же ячейка E2. Как такое могло получиться? Просто в ячейке E2 в качестве формулы содержится адрес на ячейку A4, который как раз включает в себя искомую цифру 4.

    Но, как отсечь такие, и другие заведомо неприемлемые результаты выдачи поиска? Именно для этих целей существует расширенный поиск Excel.

      После открытия окна «Найти и заменить» любым вышеописанным способом, жмем на кнопку «Параметры».

    В окне появляется целый ряд дополнительных инструментов для управления поиском. По умолчанию все эти инструменты находятся в состоянии, как при обычном поиске, но при необходимости можно выполнить корректировку.

    По умолчанию, функции «Учитывать регистр» и «Ячейки целиком» отключены, но, если мы поставим галочки около соответствующих пунктов, то в таком случае, при формировании результата будет учитываться введенный регистр, и точное совпадение. Если вы введете слово с маленькой буквы, то в поисковую выдачу, ячейки содержащие написание этого слова с большой буквы, как это было бы по умолчанию, уже не попадут. Кроме того, если включена функция «Ячейки целиком», то в выдачу будут добавляться только элементы, содержащие точное наименование. Например, если вы зададите поисковый запрос «Николаев», то ячейки, содержащие текст «Николаев А. Д.», в выдачу уже добавлены не будут.

    По умолчанию, поиск производится только на активном листе Excel. Но, если параметр «Искать» вы переведете в позицию «В книге», то поиск будет производиться по всем листам открытого файла.

    В параметре «Просматривать» можно изменить направление поиска. По умолчанию, как уже говорилось выше, поиск ведется по порядку построчно. Переставив переключатель в позицию «По столбцам», можно задать порядок формирования результатов выдачи, начиная с первого столбца.

    В графе «Область поиска» определяется, среди каких конкретно элементов производится поиск. По умолчанию, это формулы, то есть те данные, которые при клике по ячейке отображаются в строке формул. Это может быть слово, число или ссылка на ячейку. При этом, программа, выполняя поиск, видит только ссылку, а не результат. Об этом эффекте велась речь выше. Для того, чтобы производить поиск именно по результатам, по тем данным, которые отображаются в ячейке, а не в строке формул, нужно переставить переключатель из позиции «Формулы» в позицию «Значения». Кроме того, существует возможность поиска по примечаниям. В этом случае, переключатель переставляем в позицию «Примечания».

    Ещё более точно поиск можно задать, нажав на кнопку «Формат».

    При этом открывается окно формата ячеек. Тут можно установить формат ячеек, которые будут участвовать в поиске. Можно устанавливать ограничения по числовому формату, по выравниванию, шрифту, границе, заливке и защите, по одному из этих параметров, или комбинируя их вместе.

    Если вы хотите использовать формат какой-то конкретной ячейки, то в нижней части окна нажмите на кнопку «Использовать формат этой ячейки…».

    После этого, появляется инструмент в виде пипетки. С помощью него можно выделить ту ячейку, формат которой вы собираетесь использовать.

    После того, как формат поиска настроен, жмем на кнопку «OK».

    Бывают случаи, когда нужно произвести поиск не по конкретному словосочетанию, а найти ячейки, в которых находятся поисковые слова в любом порядке, даже, если их разделяют другие слова и символы. Тогда данные слова нужно выделить с обеих сторон знаком «*». Теперь в поисковой выдаче будут отображены все ячейки, в которых находятся данные слова в любом порядке.

  • Как только настройки поиска установлены, следует нажать на кнопку «Найти всё» или «Найти далее», чтобы перейти к поисковой выдаче.
  • Как видим, программа Excel представляет собой довольно простой, но вместе с тем очень функциональный набор инструментов поиска. Для того, чтобы произвести простейший писк, достаточно вызвать поисковое окно, ввести в него запрос, и нажать на кнопку. Но, в то же время, существует возможность настройки индивидуального поиска с большим количеством различных параметров и дополнительных настроек.

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Поиск слов в Excel

    В Microsoft Excel часто работают с большими объёмами информации. В нём создаются огромные таблицы на тысячи строк, столбцов и позиций. Отыскать какие-то конкретные данные в таком массиве бывает трудно. А иногда — вообще невозможно. Эту задачу можно упростить. Разберитесь, как в Экселе найти нужное слово. Так вам легче будет ориентироваться в документе. И вы сможете быстро перейти к искомой информации.

    В редакторе таблиц существует несколько способов поиска

    Поиск ячеек

    Чтобы отобразились адреса всех ячеек, в которых есть то, что вы ищите, сделайте следующее:

    1. Если у вас Office 2010, перейдите в Меню — Правка — Найти.
    2. Откроется окно с полем для ввода. Напишите в нём фразу для поиска.
    3. В Excel 2007 эта кнопка есть в меню «Главная» на панели «Редактирование». Она находится справа.
    4. Аналогичного результата во всех версиях можно добиться, если нажать клавиши Ctrl+F.
    5. В поле напечатайте слово, фразу или цифры, которые надо отыскать.
    6. Нажмите «Найти всё», чтобы запустить поиск по целому документу. Если кликните «Далее», программа будет по одной выделять клетки, которые находятся ниже курсора-ячейки Excel.
    7. Подождите, пока процесс закончится. Чем больше документ, тем дольше система будет искать.
    8. Появится список с результатами: именами и адресами клеток, в которых есть совпадения с заданной фразой, и текстом, который в них написан.
    9. При клике на каждую строчку будет выделяться соответствующая ячейка.
    10. Для удобства можете «растянуть» окно. Так в нём будет видно больше строчек.
    11. Чтобы отсортировать данные, кликайте на названия столбцов над результатами поиска. Если нажмёте на «Лист», строчки выстроятся по алфавиту в зависимости от названия листа, если выберите «Значения» — встанут по значению.
    12. Эти столбцы также «растягиваются».

    Параметры поиска

    Можете задать свои условия. Например, запустить поиск по нескольким знакам. Вот как в Экселе найти слово, которое вы не помните целиком:

    1. Введите только часть надписи. Можно хоть одну букву — будут выделены все места, в которых она есть.
    2. Используйте символы * (звёздочка) и ? (вопросительный знак). Они замещают пропущенные знаки.
    3. Вопрос обозначает одну отсутствующую позицию. Если вы напишите, к примеру, «П. », отобразятся ячейки, в которых есть слово из четырёх символов, начинающееся на «П»: «Плуг», «Поле», «Пара» и так далее.
    4. Звезда (*) замещает любое количество знаков. Чтобы отыскать все значения, в которых содержится корень «раст», начните поиск по ключу «*раст*».
    Читать еще:  Открытие файлов excel в отдельных окнах

    Также вы можете зайти в настройки:

    1. В окне «Найти» нажмите «Параметры».
    2. В разделах «Просматривать» и «Область поиска», укажите, где и по каким критериям надо искать совпадения. Можно выбрать формулы, примечания или значения.
    3. Чтобы система различала строчные и прописные буквы, поставьте галочку в «Учитывать регистр».
    4. Если вы отметите пункт «Ячейка целиком», в результатах появятся клетки, в которых есть только заданная поисковая фраза и ничего больше.

    Параметры формата ячеек

    Чтобы отыскать значения с определённой заливкой или начертанием, используйте настройки. Вот как найти в Excel слово, если оно имеет отличный от остального текста вид:

    1. В окне поиска нажмите «Параметры» и кликните на кнопку «Формат». Откроется меню с несколькими вкладками.
    2. Можете указать определённый шрифт, вид рамки, цвет фона, формат данных. Система будет просматривать места, которые подходят к заданным критериям.
    3. Чтобы взять информацию из текущей клетки (выделенной в этот момент), нажмите «Использовать формат этой ячейки». Тогда программа отыщет все значения, у которых тот же размер и вид символов, тот же цвет, те же границы и тому подобное.

    Поиск нескольких слов

    В Excel можно отыскать клетки по целым фразам. Но если вы ввели ключ «Синий шар», система будет работать именно по этому запросу. В результатах не появятся значения с «Синий хрустальный шар» или «Синий блестящий шар».

    Чтобы в Экселе найти не одно слово, а сразу несколько, сделайте следующее:

    1. Напишите их в строке поиска.
    2. Поставьте между ними звёздочки. Получится «*Текст* *Текст2* *Текст3*». Так отыщутся все значения, содержащие указанные надписи. Вне зависимости от того, есть ли между ними какие-то символы или нет.
    3. Этим способом можно задать ключ даже с отдельными буквами.

    Фильтр

    Вот как искать в Экселе, используя фильтр:

    1. Выделите какую-нибудь заполненную ячейку.
    2. Нажмите Главная — Сортировка — Фильтр.
    3. В верхней строке у клеток появятся стрелочки. Это выпадающее меню. Откройте его.
    4. В текстовом поле введите запрос и нажмите «OK».
    5. В столбце будут отображаться только ячейки, содержащие искомую фразу.
    6. Чтобы сбросить результаты, в выпадающем списке отметьте «Выделить всё».
    7. Чтобы отключить фильтр, повторно нажмите на него в сортировке.

    Этот способ не подойдёт, если вы не знаете, в каком ряду нужное вам значение.

    Чтобы найти в Excel какую-то фразу или число используйте встроенные возможности интерфейса. Можно выбрать дополнительные параметры поиска и включить фильтр.

    Найти в ячейке любое слово из списка

    Предположим, вы получаете от поставщика/заказчика/клиента заполненную таблицу с перечнем продукции:

    и эту таблицу необходимо сравнить с артикулами/кодами товара в имеющемся у вас каталоге продукции:

    Как видно — в нашем каталоге только артикулы без наименований. У заказчика же помимо артикулов еще и название товара, т.е. много лишнего. И вам надо понять какие товары присутствуют в вашем каталоге, а какие нет:

    Стандартных формул в Excel для подобного поиска и сравнения нет. Конечно, можно попробовать применить ВПР с подстановочными символами сначала к одной таблице, а затем к другой. Но если подобную операцию необходимо проделывать раз за разом, то прописывать по несколько формул к каждой таблице прямо скажем — не комильфо.
    Поэтому я и решил сегодня продемонстрировать формулу, которая без всяких доп. манипуляций поможет такое сравнение сделать. Чтобы разобраться самостоятельно рекомендую скачать файл:
    Скачать файл:

    Tips_All_AnyoneOfArray.xls (49,5 KiB, 15 989 скачиваний)

    На листе «Заказ» в этом файле таблица, полученная от заказчика, а на листе «Каталог» наши артикулы.
    Сама формула на примере файла будет выглядеть так:

    =ПРОСМОТР(2;1/ПОИСК(Каталог!$A$2:$A$11; A2 );Каталог!$A$2:$A$11)
    =LOOKUP(2,1/SEARCH(Каталог!$A$2:$A$11,A2),Каталог!$A$2:$A$11)
    эта формула вернет название артикула, если в тексте есть хоть один артикул из каталога и #Н/Д (#N/A) если артикул не найден в каталоге.
    Прежде чем облагородить эту формулу всякими дополнениями(вроде виде убирания ненужных #Н/Д ) давайте разберемся как она работает.
    Функция ПРОСМОТР (LOOKUP) ищет заданное значение( 2 ) в указанном диапазоне(массиве — второй аргумент). В качестве диапазона обычно приводится массив ячеек, но функция ПРОСМОТР имеет первую нужную нам особенность — она старается преобразовать непосредственно в массив любое выражение, записанное вторым аргументом. Иными словами она вычисляет выражение в этом аргументе, чем мы и пользуемся, подставив в качестве второго аргумента выражение: 1/ПОИСК(Каталог!$A$2:$A$11;A2) . Часть ПОИСК(Каталог!$A$2:$A$11;A2) ищет поочередно каждое значение из списка Каталога в ячейке A2 (наименование из таблицы Заказчика). Если значение найдено, то возвращается номер позиции первого символа найденного значения. Если значение не найдено — возвращается значение ошибки #ЗНАЧ!(#VALUE!). Теперь вторая особенность: функция требует расположения данных в массиве в порядке возрастания. Если данные расположены иначе — функция будет просматривать массив до тех пор, пока не найдет значение больше искомого, но максимально к нему приближенное(хотя если данные позволяют — для более точного поиска все же лучше отсортировать список по возрастанию). Поэтому сначала мы 1 делим на выражение ПОИСК(Каталог!$A$2:$A$11;A2) , чтобы получить массив вида: <0,0181818181818182:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!>
    Ну а в качестве искомого значения мы подсовываем функции число 2 — заведомо большее число, чем может вообще встретиться в массиве(т.к. единица, поделенная на любое число будет меньше двух). И как результат мы получим позицию в массиве, в которой встречается последнее совпадение из каталога. После чего функция ПРОСМОТР запомнит эту позицию и вернет значение из массива Каталог!$A$2:$A$11 (третий аргумент), записанное в этом массиве для этой позиции.
    Вы можете просмотреть этапы вычисления функции самостоятельно для каждой ячейки, я здесь просто приведу этапы чуть в расширенном для понимания виде:

    Теперь немного облагородим функцию и сделаем еще пару реализаций
    Реализация 1:
    Вместо артикулов и #Н/Д выведем для найденных позиций «Есть» , а для отсутствующих «Не найден в каталоге» :
    =ЕСЛИ(ЕНД(ПРОСМОТР(2;1/ПОИСК(Каталог!$A$2:$A$11;A2)));»Не найден в каталоге»;»Есть»)
    =IF(ISNA(LOOKUP(2,1/SEARCH(Каталог!$A$2:$A$11,A2))),»Не найден в каталоге»,»Есть»)
    работа функции проста — с ПРОСМОТР(LOOKUP) разобрались, поэтому остались только ЕНД и ЕСЛИ.
    ЕНД (ISNA) возвращает ИСТИНА (TRUE) если выражение внутри неё возвращает значение ошибки #Н/Д (#N/A) и ЛОЖЬ (FALSE) если выражение внутри не возвращает значение этой ошибки.
    ЕСЛИ (IF) возвращает то, что указано вторым аргументом если выражение в первом равно ИСТИНА (TRUE) и то, что указано третьим аргументом, если выражение первого аргумента ЛОЖЬ (FALSE) .

    Реализация 2:
    Вместо #Н/Д выведем «Не найден в каталоге» , но при этом если артикулы найдены — выведем названия этих артикулов:
    =ЕСЛИОШИБКА(ПРОСМОТР(2;1/ПОИСК(Каталог!$A$2:$A$11;A2);Каталог!$A$2:$A$11);»Нет в каталоге»)
    =IFERROR(LOOKUP(2,1/SEARCH(Каталог!$A$2:$A$11,A2),Каталог!$A$2:$A$11),»Нет в каталоге»)
    Про функция ЕСЛИОШИБКА (IFERROR) я подробно рассказывал в этой статье: Как в ячейке с формулой вместо ошибки показать 0.
    Если вкратце, то если выражение, заданное первым аргументом функции, возвращает значение любой ошибки, то функция вернет то, что записано вторым аргументом(в нашем случае это текст «Не найден в каталоге» ). Если же выражение не возвращает ошибку, то функция ЕСЛИОШИБКА запишет то значение, которое было получено выражением в первом аргументе(в нашем случае это будет наименование артикула).

    Реализация 3
    Надо не просто определить какому артикулу соответствует, но и вывести цену для наименования по этому артикулу(сами цены должны быть расположены в столбце B листа Каталог):
    =ЕСЛИОШИБКА(ПРОСМОТР(2;1/ПОИСК(Каталог!$A$2:$A$11;A2);Каталог!$B$2:$B$11);»»)
    =IFERROR(LOOKUP(2,1/SEARCH(Каталог!$A$2:$A$11,A2),Каталог!$B$2:$B$11),»»)

    Пара важных замечаний:

    • данные на листе с артикулами не должны содержать пустых ячеек . Иначе с большой долей вероятности формула будет возвращать значение именно пустой ячейки, а не то, которое подходит под условия поиска
    • формула осуществляет поиск таким образом, что ищется любое совпадение. Например, в качестве артикула записана цифра 1, а в строке наименований может встречаться помимо целой 1 еще и 123, 651123, FG1412NM и т.п. Для всех этих наименований может быть подобран артикул 1, т.к. он содержится в каждом наименовании. Как правило это может произойти, если артикул 1 расположен в конце списка
    Читать еще:  Код переноса строки в excel

    Поэтому желательно перед использованием формулы отсортировать список по возрастанию(от меньшего к большему, от А до Я).

    В приложенном в начале статьи примере вы найдете все разобранные варианты.

    Если же вам понадобится выводить все наименования, то можно воспользоваться функцией СОДЕРЖИТ_ОДНО_ИЗ из моей надстройки MulTEx.

    Статья помогла? Поделись ссылкой с друзьями!

    Функция поиска в Excel: как найти слово значение в столбце ячейку текст

    Иногда, когда мы много работаем в программе Microsoft Эксель, у нас может возникнуть необходимость в поиске определенных данных. Но листать всю таблицу крайне неудобно и времязатратно. Особенно если таблица у вас очень большая, и данных в ней записано довольно много. В данном случае нам может помочь специальная строка поиска позиций и значений в столбце по таблице. Давайте посмотрим, каким сделать поиск данных.

    Функция поиска в таблице Excel дает возможность найти любые необходимые слова, или определенные ячейки. Есть три способа поиска информации: простой, расширенный и поиск по указанному интервалу ячеек. Давайте рассмотрим все способы поиска.

    Используя простой способ поиска можно найти все ячейки, в которых есть совпадения по определенным сочетаниям букв и цифр. Поиск идет без учета регистра.

    Итак, во вкладке «Главная», выберите на панели инструментов функцию «Найти и выделить». В выпадающем меню выбираем пункт «Найти». Также можно воспользоваться горячими клавишами Ctrl+F.

    После этого у вас откроется новое окно. В нем в строке «Найти» введем то сочетание слов, которое нам необходимо найти. После введения нажмем «Найти все» либо «Найти далее».

    Если нажать «Найти далее», то поиск перейдет на первую строку, где есть совпадение. Строка в этот момент станет активной.

    Данная поисковая система работает таким образом, что при запросе, она начинает проверять первую строку на наличие совпадений. И если в первой строке ничего нет, система начинает проверять следующую строчку, до момента пока не найдет указанное сочетание. На самом деле не обязательно вводить конкретное слово. Вы можете ввести слово «лев» и система будет искать все слова, которые содержит данное сочетание букв, например «наЛЕВо». Или ввести цифру 7, то система начнет выдавать все сочетания цифр, которые содержат указанную цифру, например «217».

    Если вам нужен не первый выданный результат, нажмите «Найти далее».

    Вы можете искать, таким образом, пока система не начнет повторяться по второму кругу.

    Также вы можете найти все совпадения в виде небольшого списка. Для этого в строке поиска необходимо нажать «Найти все». Система выдаст вам все данные в виде списка, в котором будут указаны адреса расположения, лист и книга, в которых они находятся. Для выбора определенного результата, достаточно нажать по нему левой кнопкой мышки. И поиск закинет вас на выбранную ячейку.

    Расширенный поиск отличается от простого поиска тем, что в нем мы сможем задать необходимые нам настройки. Как было сказано простой поиск ищет все имеющиеся совпадения. То есть под поиск попадает не только содержимое ячейки, но и адрес элемента, к которому она непосредственно относится. Вот к примеру, у нас имеется формула которая и находится в ячейке Е2, данная формула является суммой ячеек А4 и С3, сумма равна 10. И если мы в поиске зададим цифру 4, то поиск выдаст нам ячейку Е2, все почему? Потому что в этой ячейке находится адрес на ячейку А4. А данная ячейка содержит цифру 4.

    И что бы не было таких поисков изначально ненужных ячеек, есть функция расширенного поиска.
    Открываем указанным выше способом окно «Найти и заменить», и в нем заходим в «Параметры».

    И в новом окне мы можем увидеть все имеющиеся настройки поиска. Изначально все настройки стоят по умолчанию. Но вы можете при необходимости произвести свою настройку строки поиска, для того что бы вам было более удобно ею пользоваться.

    В простом поиске функции «Учитывать регистр» и «Ячейки целиком» отключены, и если мы их включим, то при поиске вам будут выдаваться точные совпадения, и при поиске будет учитываться регистр. И если в поиске вы будите вводить данные с маленькой буквы, то поиск уже не выдаст те ячейки, данные которых написаны с большой буквы, как это было в простом поиске. А если вы включите функцию «Ячейки полностью», то при поиске вы сможете получить только те данные наименование которых абсолютно одинаково. К примеру, если мы введем в поиске «Василий», то ячейка, которая названа «Василий Л.И» в результат поиска уже не попадет.

    Также изначально стоит поиск «На листе», вы можете изменить его на поиск «В книге», и тогда поиск будет производиться во всех открытых листах файла.

    Параметр «Просматривать» изначально настроен на поиск по строкам, как было уже сказано поиск происходит по порядку строк. Но мы можем изменить направление поиска, указав поиск по столбцам.

    Графа под названием «Область поиска», определяет по каким данным, будет происходить поиск. То есть по умолчанию стоит поиск среди формул, это те данные, которые при нажатии на ячейку отобразятся в строке формул. То есть программа, когда производит поиск, видит только ссылку, а не обходимый нам результат. Об этом неудобстве было сказано выше. И если вам это не нравится, вы можете изменить данную настройку на поиск среди значений, либо примечаний. Поиск по значениям будет выдавать вам конкретно указанный результат, то есть будут показаны результаты, которые указаны в ячейке, а не в строке формул.

    Более точно настроить строку поиска можно нажав на «Формат».

    После этого у вас откроется окно с настройкой формата ячеек. Данная настройка поможет вам настроить формат ячеек, также указать числовые ограничения, ограничения по выравниванию, шрифту, границе, заливки и защите. Их можно выставить как поодиночке, так и в комбинации с другими.

    Если вам необходимо использовать формат какой – либо определенной ячейки, то внизу окна нажмите на функцию «Использовать формат этой ячейки».

    После нажатия на эту функцию, у вас появится пипетка, при ее помощи вам необходимо указать ячейку, формат, который вы хотели бы использовать.

    Когда вы произвели необходимую вам настройку, нажмите «Ок».

    Иногда может возникнуть необходимость поиска не конкретных слов, а ячеек, поисковые слова которых могут находиться в другом порядке, или разделяться различными знаками. В таком случае при поиске вам необходимо выделить слова с обеих сторон звездочкой (*). И при таком введении поисковых слов, вам покажут ячейки, слова которых указаны в любом порядке.

    После всех произведенных настроек, вы можете вводить данные, которые вы хотите найти и жать «Найти все», или «Найти далее».

    Поиск по указанному интервалу ячеек

    В случае довольно объемной таблицы, может быть крайне неудобно, производить поиск по всем указанным данным. В этом случае лучше всего произвести поиск по конкретному диапазону ячеек.
    Для этого вам нужно выделить область ячеек, среди которых нам необходимо произвести поиск.

    При помощи горячих клавиш Ctrl+F, откроем окно поиска. И дальше мы также вводим поисковые слова, и жмем «Найти все», либо «Найти далее». И поиск будет происходить среди выделенных ячеек.

    В данной статье мы рассмотрели способы поиска нужных ячеек, среди огромного количества информации. Как можно увидеть произвести поиск можно несколькими способами. Таблица Excel предоставляет нам довольно удобный и простой функционал инструментов поиска. У нас есть возможность найти все необходимые ячейки довольно быстро. Также при необходимости, мы имеем возможность настройки строки поиска под себя. Надеюсь, данная статья была полезной для вас.

    Ссылка на основную публикацию
    Adblock
    detector
    ×
    ×