Поиск в excel слова

Фильтр

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

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

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

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

Первый вариант использования функции ВПР.

Для примера возьмем две таблице. В одной Таблице №1 будет перечень с названиями конфет и будет указана их цена за кг. В другой, Таблица №2, тот же перечень, но с указанием их количества в кг. Наша задача добавить в Таблицу №2, в столбец Цена, цену конфет из Таблицы №1, чтобы в итоге получить стоимость. Названия конфет в разных таблицах находятся в разных местах, поэтому просто скопировать цену конфет с одной таблице в другую не получиться.

Перед тем, как вызвать функцию ВПР, выбираем нужную нам ячейку, в которой будет находиться наша формула функции и соответственно значение, которое мы хотим увидеть. В нашем случае это ячейка G3. Эта ячейка находиться в столбце Цена, Таблица №2. Функция ВПР позволит взять из Таблицы №1 цену Конфеты А и вставить эту цену в столбец Цена, Таблицы №2, напротив Конфеты А.

Вызываем функцию ВПР, как описано выше.

Описание

Функции ПОИСК И ПОИСКБ находят одну текстовую строку в другой и возвращают начальную позицию первой текстовой строки (считая от первого символа второй текстовой строки). Например, чтобы найти позицию буквы “n” в слове “printer”, можно использовать следующую функцию:

Эта функция возвращает 4, так как “н” является четвертым символом в слове “принтер”.

Можно также находить слова в других словах. Например, функция

возвращает 5, так как слово “base” начинается с пятого символа слова “database”. Можно использовать функции ПОИСК и ПОИСКБ для определения положения символа или текстовой строки в другой текстовой строке, а затем вернуть текст с помощью функций ПСТР и ПСТРБ или заменить его с помощью функций ЗАМЕНИТЬ и ЗАМЕНИТЬБ. Эти функции показаны в примере 1 данной статьи.

Эти функции могут быть доступны не на всех языках.

Функция ПОИСКБ отсчитывает по два байта на каждый символ, только если языком по умолчанию является язык с поддержкой БДЦС. В противном случае функция ПОИСКБ работает так же, как функция ПОИСК, и отсчитывает по одному байту на каждый символ.

К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.

Базовые формулы для получения уникальных значений.

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

Уникальные значения — это значения, которые присутствуют в списке только один раз. Например:

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

Формула уникальных значений массива (заполняется нажатием Ctrl + Shift + Enter):

Можно воспользоваться и обычной формулой (вводится нажатием Enter):

В приведенных выше формулах используются следующие ссылки:

  • A2: A10 – исходных перечень данных.
  • B1 — верхняя ячейка уникального списка минус одна строка. В этом примере мы начинаем создавать список уникальных в B2, и поэтому мы записываем B1 в формулу (B2 — 1 строка = B1). Если ваш список начинается, скажем, с ячейки C3, измените $B$1:B1 на $C$2:C2.

В этом примере мы извлекаем уникальные имена из столбца A (точнее из диапазона A2: A10), а следующий скриншот демонстрирует формулу в действии:

Вот наш порядок действий:

  • Измените любую из формул в соответствии с вашим диапазоном данных.
  • Введите ее в первую ячейку, с которой начнётся формирование списка (в данном примере B2).
  • Если вы используете формулу массива, нажмите . Если вы выбрали обычную, нажмите просто клавишу .
  • Скопируйте вниз настолько, насколько это необходимо, перетащив мышкой маркер заполнения. Поскольку обе формулы заключены в функцию ЕСЛИОШИБКА, вы можете скопировать вниз с запасом. Это не испортит ваши данные какими-либо ошибками, независимо от того, сколько уникальных значений было извлечено.

Поиск ближайшего большего знания в диапазоне чисел Excel

Пример 3. Найти ближайшее меньшее числу 22 в диапазоне чисел, хранящихся в столбце таблицы Excel.

Вид исходной таблицы данных:

Для поиска ближайшего большего значения заданному во всем столбце A:A (числовой ряд может пополняться новыми значениями) используем формулу массива (CTRL+SHIFT+ENTER):

Функция ПОИСКПОЗ возвращает позицию элемента в столбце A:A, имеющего максимальное значение среди чисел, которые больше числа, указанного в ячейке B2. Функция ИНДЕКС возвращает значение, хранящееся в найденной ячейке.

Для поиска ближайшего меньшего значения достаточно лишь немного изменить данную формулу и ее следует также ввести как массив (CTRL+SHIFT+ENTER):

Поиск значений в списке данных

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

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

Для удобства также приводим ссылку на оригинал (на английском языке).

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

Фильтрация данных

Рассмотрим пример. Предположим, что у нас имеется список сотрудников компании и мы хотим отфильтровать только тех сотрудников, у которых фамилии начинаются на конкретную букву (к примеру, на букву «п»):

Для начала добавляем фильтр на таблицу (выбираем вкладку Главная -> Редактирование -> Сортировка и фильтр или нажимаем сочетание клавиш Ctrl + Shift + L).
Для фильтрации списка воспользуемся символом звездочки, а именно введем в поле для поиска «п*» (т.е. фамилия начинается на букву «п», после чего идет произвольный текст):

Фильтр определил 3 фамилии удовлетворяющих критерию (начинающиеся с буквы «п»), нажимаем ОК и получаем итоговый список из подходящих фамилий:

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

Поиск фрагментов текста в ячейке

​ знак (?) и​​ «!»»&АДРЕС(» & i​​ последнюю ячейку с​: 6. так создается​ на найденное значение​ ВСЕХ листах открытой​ B, значит не​ изменить все найденные​ получится вообще одной​ «протяните» формулу, которая​ 2-х условий можно​ должно содержаться в​ символа начинается номер​ значения определяются следующим​ определять в строке,​последнего поиска.​ имя «Иванов Иван»,​ звездочку (*). Вопросительный​ & «;» &​ данными With ActiveSheet.UsedRange:​ словарь с уникальными​ происходит тут If​ книги», а вот​ найдено.​ в инете решения​ формулой обойтись. Смысл​ склеит эти данные.​ формулами сделать -​ исходной текстовой строке.​ телефона.​ образом.​ ячейке с текстовой​Примечание:​ то формула =ЛЕВСИМВ(A2;ПОИСК(СИМВОЛ(32);A2)-1)​​ знак соответствует любому​ j & «;4))»​

​ End With lLastRow​​ (не повторяющимися) значениями.​​ .exists(t) Then, и​​ в конце уже​Hugo121​

​ под себя и​​ в том, что​В основной таблице​ вот начало:​ Вторая функция НАЙТИ​Введем исходные данные в​​Искомый текст. Это числовая​

​ информацией позицию искомой​​ В условиях поиска можно​

​ извлечет фамилию, а​​ знаку; звездочка —​ Next Next Next​ = ActiveSheet.UsedRange.Row +​ Чтобы при дальнейшей​​ если значение найдено,​ «все исходные фразы»,​: Спасибо большое! Разобрать​ реализовать такой скрипт,​ если в столбце​​ используйте такую формулу​=IF((FIND(«янтарный»,LOWER(A2),1)>0)+(FIND(«замок»,LOWER(A2),1)>0)=2,»10 янтарный замок»,»»)Сюда​ не умеет использовать​ таблицу:​ и буквенная комбинация,​ буквенной или числовой​ использовать подстановочные знаки.​ =ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(СИМВОЛ(32);A2)) — имя.​​ любой последовательности знаков.​ ‘вытаскиваем из словаря​ ActiveSheet.UsedRange.Rows.Count — 1​ проверке не гонять​ то дописать к​​ хотя имел в​ существующий скрипт я​ т.к. у меня​

​ А листа «отчет»​​ Код =ИНДЕКС(Лист1!$C$1:$C$99;ПОИСКПОЗ(ЛОЖЬ;ЕНД(ПОИСКПОЗ(«*»&Лист1!$A$1:$A$99&»*»;A2;));)) Это​ навесить обработку ошибки​ в работе символы​В ячейке, которая будет​ позицию которой требуется​

​ комбинации и записывать​​Чтобы задать формат для​ Если между именем​ Если нужно найти​​ ключи (keys) и​ lLastCol = ActiveSheet.UsedRange.Column​ одно и тоже​ существующей строке «имя​ виду слова. Например,​

​ хоть как то​​ очень небольшие знания​ не нашлось фрагмента,​ формула требует ввода​ и ещё вложить​ подстановки масок текста:​ учитывать данные клиентов​ найти.​ ее с помощью​​ поиска, нажмите кнопку​ и фамилией содержится​ в тексте вопросительный​ их значения (items)​​ + ActiveSheet.UsedRange.Columns.Count -​ слово несколько раз.​ листа + адрес»​ добавьте в список​

​ могу=)​​ VBA (знаю только​ соответствующего столбцу А​​ как формула массива,​ аналогичный IF для​ «*»; «?»; «~».​ без телефона, введем​Анализируемый текст. Это тот​​ чисел.​​Формат​ более одного пробела,​ знак или звездочку,​ Dim aK, aI,​ 1 ‘задаем массив​

​7. это нужно​​ sh.Name & «(«​ «1. что искать.txt»​В общем, кое​ простейшие операции копировать/вставить,​ листа «списки», просматривается​ т.е. нажатием Ctrl+Shift+Enter,​ казачков.​​Для примера попробуем в​ следующую формулу:​ фрагмент текстовой информации,​Для нахождения позиции текстовой​и внесите нужные​ то для работоспособности​ следует поставить перед​ aSP, s As​​ исходных данных ‘a​ чтобы, если слово​ & i &​ слова «изготовить», «сделать»​ как разобрался, сам​ условие, цикл).​ столбец В, если​

​ и отображается в​​Ну или с​

​ этих же исходных​​=ПОИСК(“, тел.”;адрес_анализируемой_ячейки).​​ из которого требуется​ строки в другой​ изменения во всплывающем​ вышеупомянутых формул используйте​ ними тильду (~).​ String, ss As​ = .CurrentRegion.Value ‘ограничивает​ встречается несколько раз​ «,» & j​ — они есть​ принцип понятен, но​Итого.​ не находится и​ фигурных скобках.​ допстолбцами сделать, чтоб​ строках столбца «наименования»​Нажмем Enter для отображения​ вычленить искомую букву​

​ аналогичной применяют ПОИСК​​ окне​

​ функцию СЖПРОБЕЛЫ().​​Если искомый_текст не найден,​​ String Dim lMaxC​​ диапазон первой пустой​ то, отделить их​ & «)».​

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

​ и ПОИСКБ. Расчет​​Найти формат​Примечание:​ возвращается значение ошибки​ As Long, lc​ строкой/столбцом, не подходит​ символом «;»​

CyberForum.ru>

Как правильно искать в таблицах Excel

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

Выполните команду Главная ► Редактирование ► Найти и выделить ► Найти (или нажмите Ctrl+F), чтобы открыть диалоговое окно Найти и заменить. Если вам нужно заменить данные, то выберите команду Главная ► Редактирование ► Найти и выделить ► Заменить (или нажмите Ctrl+H). От того, какую именно команду вы выполните, зависит, на какой из двух вкладок откроется диалоговое окно.

Если в открывшемся диалоговом окне Найти и заменить нажать кнопку Параметры, то отобразятся дополнительные параметры поиска информации (рис. 21.1).

Рис. 21.1. Вкладка Найти диалогового окна Найти и заменить

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

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

При поиске с помощью диалогового окна Найти и заменить можно использовать два подстановочных знака:

  • ? — соответствует любому символу;
  • * — соответствует любому количеству символов.

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

Для поиска вопросительного знака или звездочки поставьте перед ними символ тильды (

). Например, следующая строка поиска находит текст *NONE*: -*N0NE

* Чтобы найти символ тильды, поставьте в строке поиска две тильды.

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

  • Флажок Учитывать регистр — установите его, чтобы регистр искомого текста совпадал с регистром заданного текста. Например, если вы зададите в поиске слово иван и установите указанный флажок, то слово Иван в результатах поиска не отобразится.
  • Флажок Ячейка целиком — установите его, чтобы найти ячейку, которая содержит в точности тот текст, который указан в строке поиска. Например, набрав в строке поиска слово Excel и установив указанный флажок, вы не найдете ячейку, содержащую словосочетание Microsoft Excel.
  • Раскрывающийся список Область поиска — список содержит три пункта: значения, формулы и примечания. Например, если в строке поиска вы зададите число 900 и в раскрывающемся списке Область поиска выберете пункт значения, то в результатах поиска вы не увидите ячейку, содержащую значение 900, если оно получено при использовании формулы.

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

Кроме того, учтите, что с помощью окна Найти и заменить нельзя найти отформатированные числовые значения. Например, если в строку поиска вы введете $5*, то значение, к которому применено денежное форматирование и которое выглядит как $54.00, не будет найдено.

Работа с датами может оказаться непростой, поскольку Excel поддерживает очень много форматов дат. Если вы ищете дату, к которой применено форматирование по умолчанию, Excel находит даты, даже если они отформатированы различными способами. Например, если ваша система использует формат даты m/d/y, строка поиска 10/*/2010 находит все даты в октябре 2010 года, независимо от того, как они отформатированы.

Используйте пустое поле Заменить на, чтобы быстро удалить какую-нибудь информацию на рабочем листе. Например, введите — * в поле Найти и оставьте поле Заменить на пустым. Затем нажмите кнопку Заменить все, чтобы Excel нашел и убрал все звездочки на листе.

Как найти в ячейке таблицы цифры

Иногда нужно определить ячейки, в которой есть цифры, но они находятся вместе с текстом. Когда таких ячеек становится очень много, может быть довольно нелегко определить их. Перед тем, как реализовывать эту задачу, нужно определиться с некоторыми базовыми терминами. Главное наше понятие – «обнаружить». Это означает – проверить, есть ли определенный тип символа в строке. Если да, возвращается значение «ИСТИНА», если нет «ЛОЖЬ». Если же кроме поиска цифр в ячейке пользователь хочет произвести иные действия, то можно воспользоваться дальнейшими разделами этой инструкции.

Второе понятие, которое нужно разобрать – цифры. Это интегральный термин, который обозначает аж 10 символов, которые соответствуют числам от 0 до 9. Соответственно, чтобы проверить наличие чисел, пользователю нужно 10 раз проверить диапазон. Это можно сделать с помощью функции ЕСЛИ, но такой подход требует очень много времени.

Чтобы решить эту проблему, можно воспользоваться специальной формулой, которая выполнит все проверки за один раз: =СЧЁТ(ПОИСК({1:2:3:4:5:6:7:8:9:0};A1))>0. Эта функция имеет тот же синтаксис, что и та, которая ищет кириллические символы в тексте.

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

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

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

Также можно воспользоваться формулой для того, чтобы отыскать в диапазоне ячеек необходимые цифры. Для этого надо применять комбинацию функций СЧЕТ и ПОИСК. С ее помощью можно обнаружить не только отдельные цифры, но и целые числовые последовательности: =СЧЁТ(ПОИСК({01:02:03:911:112};A1))>0.

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

Как извлечь имя и фамилию.

Если у вас была возможность прочитать наши недавние уроки, вы уже знаете, как вытащить имя с помощью функции ЛЕВСИМВ и получить фамилию с помощью ПРАВСИМВ.  Но, как это часто бывает в Excel, одно и то же можно сделать разными способами.

Получаем имя.

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

ПОИСК используется для сканирования исходного значения на предмет пробела (» «) и возврата его позиции, из которой вы вычитаете 1, чтобы избежать пробелов после имени. Затем вы используете ПСТР, чтобы вернуть подстроку, начинающуюся с первого знака и заканчивая предшествующим пробелу, таким образом извлекая первое имя.

Получаем фамилию.

Чтобы извлечь фамилию из A2, используйте эту формулу:

Опять же, вы используете ПОИСК, чтобы определить начальную позицию (пробел). Нам не нужно точно рассчитывать конечную позицию (как вы помните, если вместе взятые начальная позиция и количество символов больше, чем общая длина текста, возвращаются просто все оставшиеся). Итак, в аргументе количество символов вы просто указываете общую первоначальную длину , возвращаемую функцией ДЛСТР . Впрочем, вместо этого вы можете просто ввести число, представляющее самую длинную фамилию, которую вы ожидаете найти, например 100. Наконец,  СЖПРОБЕЛЫ удаляет лишние интервалы, и вы получаете следующий результат:

Поиск через фильтр

Чтобы узнать, как в Еxcel найти слово при использовании фильтра, потребуется изучить следующий алгоритм действий:

  • выделить заполненную ячейку;
  • во вкладке «Главная» выбрать функцию «Сортировка»;
  • нажать на кнопку «Фильтр»;
  • открыть выпадающее меню;
  • ввести искомый запрос;
  • нажать кнопку «Ок».

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

Выпадающий список с быстрым поиском

Классический выпадающий список в ячейке листа Excel, сделанный через Данные – Проверка (Data – Validation) – простая и удобная штука, которую ежедневно применяют очень многие пользователи. Однако, у этого списка есть один весьма серьезный недостаток – в нём нет быстрого поиска по первым символам, т.е. фильтрации (отбора) только тех значений, куда введённый фрагмент входит как подстрока. Это серьезно ухудшает удобство пользования даже если в списке всего пара-тройка десятков позиций, а при нескольких сотнях убивает юзабилити напрочь.

Давайте рассмотрим как всё же реализовать подобный трюк. В качестве подопытного кролика возьмём список 250 лучших фильмов по версии IMDb:

Конечная цель – создать выпадающий список (ячейка G3), в котором можно будет быстро находить нужные фильмы, введя только жанр, год или фрагмент названия, например “гамп”.

Шаг 1. Определяем, кто нам нужен

Сначала нам нужно понять, какие из исходных ячеек нужно показывать в списке, т.е. определить содержится ли введённый в выпадающем списке текст (например, жанр “детектив”) в названии фильма. Для этого добавим слева от исходных данных еще один столбец с функцией ПОИСК (SEARCH ) , которая ищет заданную подстроку в тексте и выдает либо порядковый номер символа, где он был обнаружен, либо ошибку, если его там нет:

Теперь завернем нашу формулу в функцию проверки ЕЧИСЛО (ISNUMBER) , которая превратит числа в логическую ИСТИНУ (TRUE) , а ошибки – в ЛОЖЬ (FALSE) :

Теперь сделаем так, чтобы ЛОЖЬ превратилась в 0, а вместо ИСТИНА в столбце появились последовательно возрастающие индексы-числа 1,2,3. и т.д. Это можно сделать с помощью добавления к нашей же формуле ещё парочки функций:

Здесь функция ЕСЛИ (IF) проверяет что мы имеем (ИСТИНУ или ЛОЖЬ), и

  • если была ИСТИНА, то выводит максимальное значение из всех вышестоящих чисел + 1
  • если была ЛОЖЬ, то выводит 0

Шаг 2. Отбираем в отдельный список

Дальше – проще. Теперь банальной функцией ВПР (VLOOKUP) просто выведём все найденные названия (я добавил столбец с порядковыми номерами для удобства):

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

Шаг 3. Создаем именованный диапазон

Теперь создадим именованный диапазон, который будет ссылаться на отобранные фильмы. Для этого выбрем на вкладке Формулы команды Диспетчер имен – Создать (Formulas – Name Manager – Create) :

Имя диапазона может быть любым (например, Фильмы), а самое главное – это функция СМЕЩ (OFFSET) , которая и делает всю работу. Напомню её синтаксис, если вы подзабыли:

=СМЕЩ( начальная_ячейка ; сдвиг_вниз ; сдвиг_вправо ; высота ; ширина )

  • В качестве начальной ячейки задаём первую ячейку списка отобранных элементов (E2).
  • Сдвиги вниз и вправо у нас отсутствуют, т.е. равны нулю.
  • Высота диапазона у нас соответствует максимальному значению индекса из столбца А.
  • Ширина диапазона – 1 столбец.

Осталось сделать выпадающий список.

Шаг 4. Создаем выпадающий список

Выделим жёлтую ячейку (G2) и выберем на вкладке Данные команду Проверка данных (Data – Validation) . В открывшемся окне выбрем Список (List) в поле Тип данных (Allow) , а в качестве источника введем имя нашего созданного диапазона со знаком равно перед ним:

Чтобы Excel не ругался при вводе на неточное совпадение наших фраз с исходным списком, на вкладке Сообщение об ошибке (Error Alert) в этом окне нужно выключить флажок Выводить сообщение об ошибке (Show error alert) :

Вот и всё. Можно жать на ОК и наслаждаться результатом:

Для пущего удобства при вводе с клавиатуры можно использовать Ctrl + Enter вместо Enter после ввода текста (так активная ячейка не уходит вниз) и сочетание клавиш Alt + стрелка вниз , чтобы развернуть выпадающий список без мыши.

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

Всё, что мы делали на Шагах 1-3 заменяется одной(!) формулой, где новая функция ФИЛЬТР (FILTER) отбирает из исходного диапазона A2:A251 только те фильмы, которые содержат заданную подстроку.

А дальше останется при создании выпадающего списка указать в качестве источника первую ячейку диапазона отобранных фильмов (C2) и добавить к ней знак #, чтобы получить ссылку на весь динамический массив:

И всё. Никаких именованных диапазонов и медленных СМЕЩ, никаких танцев с дополнительными столбцами и формулами. Песня!

Как в экселе найти нужное слово по ячейкам

Для отображения адресов тех ячеек, которые содержат то, что вы пытаетесь отыскать, следует придерживаться следующих шагов:

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

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

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

  1. Следует ввести лишь частичку надписи. Можно даже одну из букв – будут обозначены все участки, где она имеется.
  2. Применяйте значки «звездочка», а аткже, знак вопроса. Они способны заместить пропущенные символы.
  3. Вопросом обозначается одна недостающая позиция. Если, например, вы пропечатаете «А. », будут отображены ячейки, которые содержат слово из пяти символов, которое начинается с «А».
  4. Благодаря звездочке, замещается любое количество знаков. Для поиска всех значений, содержащих корень «раст», следует начать искать согласно ключу «раст*».

Кроме того, вы можете посещать настройки:

  • В окошке поиска следует кликнуть «Параметры».
  • В разделах просмотра и области поиска, необходимо будет указать, где именно и на основании каких критериев нужно отыскивать совпадения. Можно подобрать формулы, различные примечания либо значения.
  • Для различия системой строчных и прописных букв, нужно выставить галочку в поле под названием «Учитывать регистр».
  • Отметив пункт «Ячейка полностью», результаты отобразятся в виде клеток, содержащих исключительно заданную поисковую фразу, и ничего кроме нее.

Настройки форматирования ячеек

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

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

Сравнение двух таблиц в Excel на наличие несовпадений значений

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

Вид таблицы данных:

Для сравнения значений, находящихся в столбце B:B со значениями из столбца A:A используем следующую формулу массива (CTRL+SHIFT+ENTER):

Функция ПОИСКПОЗ выполняет поиск логического значения ИСТИНА в массиве логических значений, возвращаемых функцией СОВПАД (сравнивает каждый элемент диапазона A2:A12 со значением, хранящимся в ячейке B2, и возвращает массив результатов сравнения). Если функция ПОИСКПОЗ нашла значение ИСТИНА, будет возвращена позиция его первого вхождения в массив. Функция ЕНД возвратит значение ЛОЖЬ, если она не принимает значение ошибки #Н/Д в качестве аргумента. В этом случае функция ЕСЛИ вернет текстовую строку «есть», иначе – «нет».

Чтобы вычислить остальные значения «протянем» формулу из ячейки C2 вниз для использования функции автозаполнения. В результате получим:

Как видно, третьи элементы списков не совпадают.

Как получить N-е слово из текста.

Этот пример демонстрирует оригинальное использование сложной формулы ПСТР в Excel, которое включает 5 различных составных частей:

  • ДЛСТР — чтобы получить общую длину.
  • ПОВТОР — повторение определенного знака заданное количество раз.
  • ПОДСТАВИТЬ — заменить один символ другим.
  • ПСТР — извлечь подстроку.
  • СЖПРОБЕЛЫ — удалить лишние интервалы между словами.

Общая формула выглядит следующим образом:

Где:

  • Строка — это исходный текст, из которого вы хотите извлечь желаемое слово.
  • N – порядковый номер слова, которое нужно получить.

Например, чтобы вытащить второе слово из A2, используйте это выражение:

Или вы можете ввести порядковый номер слова, которое нужно извлечь (N) в какую-либо ячейку, и указать эту ячейку в формуле, как показано на скриншоте ниже:

Как работает эта формула?

По сути, Excel «оборачивает» каждое слово исходного текста множеством пробелов, находит нужный блок «пробелы-слово-пробелы», извлекает его, а затем удаляет лишние интервалы. Чтобы быть более конкретным, это работает по следующей логике:

ПОДСТАВИТЬ и ПОВТОР заменяют каждый пробел в тексте несколькими. Количество этих дополнительных вставок равно общей длине исходной строки: ПОДСТАВИТЬ($A$2;» «;ПОВТОР(» «;ДЛСТР($A$2)))

Вы можете представить себе промежуточный результат как «астероиды» слов, дрейфующих в пространстве, например: слово1-пробелы-слово2-пробелы-слово3-… Эта длинная строка передается в текстовый аргумент ПСТР.

  • Затем вы определяете начальную позицию для извлечения (первый аргумент), используя следующее уравнение: (N-1) * ДЛСТР(A1) +1. Это вычисление возвращает либо позицию первого знака первого слова, либо, чаще, позицию в N-й группе пробелов.
  • Количество букв и цифр для извлечения (второй аргумент) — самая простая часть — вы просто берете общую первоначальную длину: ДЛСТР(A2).
  • Наконец, СЖПРОБЕЛЫ избавляется от начальных и конечных интервалов в извлечённом тексте.

Приведенная выше формула отлично работает в большинстве ситуаций. Однако, если между словами окажется 2 или более пробелов подряд, это даст неверные результаты (1). Чтобы исправить это, вложите еще одну функцию СЖПРОБЕЛЫ в ПОДСТАВИТЬ, чтобы удалить лишние пропуски между словами, оставив только один, например:

Следующий рисунок демонстрирует улучшенный вариант (2) в действии:

Если ваш исходный текст содержит несколько пробелов между словами, а также очень большие или очень короткие слова, дополнительно вставьте СЖПРОБЕЛЫ в каждое ДЛСТР, чтобы вы были застрахованы от ошибки:

Я согласен с тем, что это выглядит немного громоздко, но зато безупречно обрабатывает все возможные варианты.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Вековой опыт
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: