Как называется поиск по первым буквам

от admin

Поисковые подсказки изнутри

Ночная зала. Тысячи таинственных ликов в темноте, подсвеченных голубоватым свечением мониторов. Оглушительный треск миллиона клавиш. Подобные выстрелам автомата удары по клавишам «Enter». Зловещее стрекотание сотен тысяч мышек… Так, наверняка, играло воображение каждого разработчика высоконагруженной системы. И если его вовремя не остановить, то может выйти целый триллер или фильм ужасов. Но в данной статье мы будем гораздо ближе к земле. Мы кратко рассмотрим известные подходы к решению задачи поисковых подсказок, как мы научились делать их полнотекстовыми, а также расскажем о парочке уловок, на которые мы пошли, чтобы придать им скорости, но при этом не научить жадности к ресурсам. В конце статьи вас ждёт бонус — небольшой рабочий пример.

Что должно быть «под капотом»?

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

Известные подходы

1. Префиксное автодополнение

a. Подсказки с весами (вес == популярность) сортируются в лексикографическом порядке по текстам подсказок.
b. Когда пользователь вводит запрос (префикс), бинарным поиском находится подмножество подсказок, начало которых удовлетворяет этому префиксу.
c. Найденное подмножество сортируется по убыванию веса, а ТОП самых «тяжёлых» подсказок отдаётся пользователю в качестве результата.

Очевидной оптимизацией такого подхода является Patricia Tree с весами в узлах дерева. При выборе самых «тяжёлых» запросов, как правило, используется очередь с приоритетами, либо segment tree, что даёт логарифмическое время поиска. При желании можно потратить память сервера, использовав алгоритм LCA via RMQ, и тогда мы получим очень быстрые префиксные подсказки. Плюсов у этого подхода целых три: скорость, компактность и простота реализации. Однако очевидным и самым неприятным недостатком является невозможность искать перестановки слов по текстам подсказок. Иными словами, такие подсказки будут лишь префиксными, а не полнотекстовыми.

2. Полнотекстовое автодополнение

a. Тексты подсказок и запрос пользователя рассматривается как последовательность слов.
b. Когда пользователь вводит запрос, в базе ищется подмножество подсказок, которые содержат все слова пользователя (а точнее, префиксы) вне зависимости от их позиции в подсказке.
c. Найденное подмножество сортируется по убыванию соответствия слов подсказки к словам запроса, затем по убыванию веса, и пользователю возвращается ТОП самых «тяжёлых».

    — автор реализовал поисковые подсказки по названиям баров, ресторанов и прочих заведений, совмещённые с исправлением опечаток. Так как подсказок было всего

Формальная постановка задачи

  • Множество текстов подсказок S = 1, s2, …, sN>, каждый из которых состоит из слов W(si) = i1, wi2, …, wiK>. Тексты подсказок мы получаем из логов запросов, которые пользователи задают нашей поисковой системе.
  • Множество весов популярности подсказок F = 1, f2, …, fN>. Под популярностью здесь мы будем понимать частоту употребления конкретного запроса, то есть как часто пользователи ищут что-то в нашей поисковой системе по данному запросу.
  • Неполный пользовательский запрос, состоящий из упорядоченной последовательности префиксов Q = 1, p2, …, pM>. Как мы уже сказали выше, запрос пользователя мы рассматриваем именно как последовательность префиксов, так как запрос может быть неполным.
  • Найти множество R всех подсказок si из S, таких, что каждому префиксу pj из Q соответствует одно уникальное слово wk из W(si).
  • Упорядочить найденное множество подсказок R по двум критериям:
    • по убыванию соответствия порядка слов wk из W(si) порядку префиксов pi из пользовательского запроса Q;
    • по убыванию веса популярности fl из F подсказок si из R.

    Индекс

      прямой индекс — список документов, в котором можно найти этот документ по его id. Иными словами, прямой индекс — это массив строк (вектор документов), где id документа — это его индекс.

    1. В обратном индексе: по словам из запроса найти списки id тех документов, где эти слова встречались. Получить пересечение этих списков — результирующий список id документов, где встречаются все слова из запроса.
    2. В прямом индексе: по полученным id найти исходные документы и «отдать» их пользователю.

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

    Прим: на рисунке здесь и далее для краткости некоторые узлы дерева «слиты» в один переход из нескольких символов.

    1. Предположим, что в нашем распоряжении есть указанный выше индекс, и пользователь уже ввёл часть запроса. Следующая введённая буква на клавиатуре, и вот мы получили неполный запрос «omnia v».
    2. Разбиваем запрос на слова-префиксы: получаем «omnia» и «v».
    3. По аналогии с поисковой системой, сначала по заданным словам-префиксам находим списки id подсказок в обратном индексе. Обратим внимание, что наш обратный индекс состоит из двух частей:
      a. префиксное дерево (оно же «trie», оно же «бор»), содержащее слова, которые мы «выпотрошили» из текстов подсказок;
      b. списки id подсказок — индексы текстов подсказок в прямом индексе, о котором речь пойдёт ниже. Списки отсортированы по возрастанию значения id и находятся в тех вершинах, где заканчиваются слова.
      Надо сказать, что trie хорош для нас по двум причинам:
      • по нему можно найти любой префикс слова за время O(log(n)), где n — длина префикса;
      • для заданного префикса легко определить все варианты его продолжений.

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

    4. Объединяем списки всех дочерних узлов. Для чего? По аналогии с обычным поисковиком, мы должны бы пересечь списки id для каждого префикса, однако есть два «НО»:
      a. во-первых, не всякий узел содержит список id подсказок, а только те узлы, в которых закачивается целое слово;
      b. а во-вторых, каждый узел дерева имеет некое продолжение, за исключением листовых узлов. Это значит, что продолжений у одного префикса может быть целое множество, и эти продолжения нужно учесть.
      Поэтому, прежде чем найти пресечение, нужно «просуммировать» списки id подсказок для каждого отдельно взятого префикса. Таким образом, для каждого префикса обходим дерево рекурсивно в глубину, начиная с того узла, где мы остановились в дереве по данному префиксу, и конструируем объединение всех списков его дочерних узлов алгоритмом слияния. На рисунке узлы, в которых мы остановились по префиксу, помечены красным кружком, а операция объединения помечена значком «U».
    5. Теперь пересекаем синтетические списки-объединения каждого из префиксов. Надо сказать, что различных алгоритмов пересечения сортированных списков просто море, и каждый подходит больше для различных типов последовательностей. Один из самых эффективных — алгоритм Рикардо Баеза-Ятеса и Алехандро Салингера. В боевых подсказках мы используем свой алгоритм, который наиболее подходит для решения конкретной задачи, однако алгоритм Баеза-Ятеса-Салингера был для нас в своё время вдохновляющим.
    6. Теперь по найденным id ищем тексты подсказок. Прямой индекс в нашем случае ничем не отличается от прямого индекса любой поисковой системы, то есть представляет собой простой массив (вектор) строк. Кроме текстов подсказок здесь может быть любая дополнительная информация. В частности, здесь мы храним веса популярности.

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

    Ускоряемся

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

      Предположим, в нашем дереве (трае) уже лежит 1000 слов, начинающихся на букву «а» (в реальной ситуации таких слов ещё больше).

    • зарезервировать память для итогового списка, дабы не выделять её при каждом новом запросе;
    • производить объединение «ленивым» образом, то есть по мере необходимости.

    • Для каждой новой подсказки, нам придётся добавить её id столько раз, сколько символов содержится в её тексте. Это в худшем случае, так как для пробелов id добавлять не нужно, а для повторяющихся слов («винни пух и все все все») повторно добавлять id тоже нет необходимости.
    • Например, при средней длине подсказки в 25 символов 1 миллион поисковых подсказок содержит 25 млн. символов. А если id подсказки — это 4-байтовое целое (стандартный int), то в худшем случае все списки id подсказок в обратном индексе займут в памяти: 4 байт * 25 000 000 = 100 Мбайт. А такой объём, очевидно, не так уж и расточителен, даже для обычной персоналки. Пропорционально, для 50 миллионов подсказок индекс займёт 5 Гбайт, что для полномасштабного сервиса поисковых подсказок вполне уместно.
    1. Пересечение объединённых списков. В большой базе реальные списки слишком длинные, особенно для коротких префиксов. Поэтому пересечение списков для коротких запросов, как «а б», будет слишком долгим.
    2. Ранжирование подсказок, прежде всего, по убыванию веса. Итоговый список после пересечения может быть также довольно большим, поэтому сортировать тысячи id, как для запроса «а б», тоже оказывается накладно.

    Реализация

    Как и было обещано в начале, мы выкладываем рабочий пример на C++, реализующий описанный в статье алгоритм. В качестве исходной базы можно использовать любой текстовый файл, где каждая строка — это подсказка. Наполнить его можно, например, пословицами и крылатыми выражениями на латыни (первоисточник), чтобы иметь возможность быстро получать их перевод на русский и наоборот.

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

    Фильтрация по первым буквам на JQuery

    Фильтрация по первым буквам на JQuery

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

    Демонстрация примера

    Метод filter()

    Для решения этой задачи, подходит метод filter(). Что он делает? Суть фильтрации состоит в том, чтобы существенно уменьшить набор значений, не подпадающих под заданные условия, путем скрытия ненужных вариантов.

    Как будем решать?

    Моему другу повезло, что фильтрацию надо сделать на Jquery, а не на JS. Нам потребуется поле для ввода – тег input и список с городами – тег ul.

    HTML разметка

    Немного приукрасим для привлекательности с помощью CSS.

    CSS код

    section <
    width: 320px;
    margin: 20px auto;
    padding: 10px;
    border: 1px solid #ddd;
    font-family: 'Roboto Slab', sans-serif;
    >

    #demoInput <
    width: 260px;
    background-image: url('searchicon.png'); /* размещение иконки с лупой */
    background-position: 10px 12px; /* позиционирование иконки */
    background-repeat: no-repeat; /* запрет на размножения картинки-иконки */
    padding: 12px 20px 12px 40px; /* поля внутри инпута */
    border: 1px solid #ddd; /* серая рамка */
    margin-bottom: 12px; /* пространство снизу */
    >

    #demoList <
    /* Убираем дефолтные стили списка */
    list-style-type: none;
    padding: 0;
    margin: 0;
    >

    #demoList li <
    border: 1px solid #ddd; /* добавление границ между элементами */
    margin-top: -1px; /* убирает двойную рамку */
    background-color: #f5f5f5; /* цвет фона */
    padding: 12px; /* отступы внутри списка */
    text-decoration: none; /* удаляет дефолтное подчеркивание текста */
    font-size: 18px; /* размер шрифта */
    color: #6b5e51; /* цвет текста списка */
    display: block; /* отобразить как блочный элемент */
    >

    Пора приступать к самому важному этапу – начать программирование на JQuery. Между тегами head подключаем библиотеку JQuery.

    JQuery код

    У нас получилось 5 строчек кода, требующих подробных комментариев.

    // 1 – Прежде, чем скрипт начнет выполняться, браузер должен увидеть все DOM элементы. Скрипт начнет работу, когда браузер будет готов.

    // 2 – Вызывается функция, при наступления события keyup в поле ввода с идентификатором demoInput, когда пользователь введет что-нибудь с клавиатуры и отпустит её.

    // 3 – В текущем элементе (this), полученное значение (буквы введенные пользователем) с помощью метода val (), метод toLowerCase() преобразует текст в нижний регистр что сделает поиск нечувствительным к регистру (допускается поиск «москва», «Москва» и даже «МОСКВА»). Это значение присваивается переменной value.

    // 4 – Вызывается функция, после циклического перебора всех тегов li, находящихся внутри ul с идентификатором demoList. Метод filter(), сопоставляет введенные значения (первые буквы) пользователем с указанными в списках (города).

    // 5 – Выполняется тело функции. Метод toggle() скрывает все строки, которые не соответствуют поиску. Метод indexOf () возвращает позицию первого найденного совпадения – строка с текстом.

    Для выполнения фильтрации на JS, нам пришлось бы написать гораздо больше кода.

    С выпадающий список с поиском в excel

    Выпадающий список в MS EXCEL на основе Проверки данных

    ​Смотрите также​Во-первых, созданный выпадающий ActiveX​Источник (Source)​ где то слямзил,​Выбор 2 Выбор​ = s &​ на 13​ массиве имени «города».​ же через 5​ есть похожий прототип​ не получается. Макросы,​ As Range) On​ позволит нам вводить​ я хочу. А​Спасибо.​ Источник.xlsx должен быть​ книги (это справедливо​

    ​При заполнении ячеек данными,​ список может находится​знак равенства и​

    ​ сейчас уже не​ 4​ X(i, 1) &​и получиться второй​ Файл перезалил.​ минут решаю сам​

    ​ . буду очень​ которые выложены в​ Error Resume Next​ новые значения.​ хочу я что​Судя по количеству​ открыт и находиться​

    ​ для EXCEL 2007​ часто необходимо ограничить​

    А. Простейший выпадающий список — ввод элементов списка непосредственно в поле Источник

    ​ в двух принципиально​ имя диапазона (т.е.​ вспомню.Но если речь​Мысли на доработку​ «

    » ‘формирует по​ список, а нифига​

    ​Виктор C​​ эту проблему)​​ признателен!!​ интернет не работают.​ If Not Intersect(Target,​Вызываем редактор Visual Basic.​​ бы при нажатии​​ просмотров, и нулевому​ в той же​

    ​ и более ранних).​ возможность ввода определенным​ разных состояниях -​=Товары​ только о переменной,​ (не очень понимаю​

    ​ сочетанию букв в​ ((( Dim bu​​: Добрый день подскажите​​разобрался )​Заранее большущее спасибо!​ На форуме тоже​ Range(«Е2:Е9»)) Is Nothing​ Для этого щелкаем​ на ячейку появилось​

    ​ количеству ответов, то​​ папке, иначе необходимо​Избавимся сначала от второго​ списком значений. Например,​ режиме отладки, когда​).​​ то переменную уже​​ как реализовано):​ любом месте текста​ As Boolean Private​ как можно реализовать​нужно было просто​
    ​Апострофф​
    ​ не нашел.​

    Б. Ввод элементов списка в диапазон (на том же листе, что и выпадающий список)

    ​ And Target.Cells.Count =​ правой кнопкой мыши​ выпадающее окно со​ что я хочу​ указывать полный путь​ недостатка – разместим​ имеется ячейка, куда​ можно настраивать его​

    ​Нажмите​ я добавлял.​1) Окно по​​ If UCase(txt) =​​ Sub ComboBox1_Change() End​ поиск в выпадающем​

    ​ изменить в свойствах​​: . ​Подскажите пожалуйста как​ 1 Then Application.EnableEvents​ по названию листа​ строкой поиска и​
    ​ сделать. похоже нереально. ​​ к файлу. Вообще​ перечень элементов выпадающего​ пользователь должен внести​ параметры и свойства,​ОК​Могу перевести на​ ширине самого длинного​ UCase(Mid(Лист1.Cells(i, 13), 1,​​ Sub Private Sub​​ списке по смыслу​ формы start up​mc-black​ сделать эту функцию​ = False If​ и переходим по​ что бы поиск​ikki​ ссылок на другие​

    ​ списка на другом​ название департамента, указав​ двигать его по​.​ русскийЦитатаalex1210 написал:​ значнеия​ lt)) Then s​ Worksheet_SelectionChange(ByVal Target As​ если ввести букву​ position на CenterScreen)​: Посмотрите этот пример:​

    ​ поиска в выпадающем​ Len(Target.Offset(0, 1)) =​ вкладке «Исходный текст».​ начинался с первых​: простыми способами -​

    B. Ввод элементов списка в диапазон (на любом листе)

    ​ листы лучше избегать​ листе.​ где он работает.​ листу и менять​Все! Наслаждайтесь!​NomStolbDan = ActiveCell.Column​

    ​2) Повторный выбор​ = s &​ Range) On Error​ А в поле​

    ​gizon​ Выпадающий список, отфильтрованный​ списке, в каждой​ 0 Then Target.Offset(0,​ Либо одновременно нажимаем​

    ​ букв, а не​ нет.​ или использовать Личную​В правилах Проверки данных (также​ Логично, предварительно создать​ размеры и -​Важный нюанс. В качестве​ + 11Это: НомерСтолбцаСДанными=АктивнаяЯчейка.Столбец+11.​

    ​ в ячейки не​
    ​ X(i, 1) &​ Resume Next If​ отображались все что​​: Доброго времени суток.​​ по введенным буквам​
    ​ ячейке.​

    • ​ 1) = Target​​ клавиши Alt +​​ со скобок. ​
    • ​можно реализовывать через​ книгу макросов Personal.xlsx​
    • ​ как и Условного​ список департаментов организации​ режиме ввода, когда​

    ​ источника данных для​ Если активировать ячейку​ работает, если что​ «

    • ​ Target.Count > 1​
    • ​ есть на букву​Прошу, подсказать, как​ Могу скорректировать его​

    ​Pelena​
    ​ Else Target.End(xlToRight).Offset(0, 1)​ F11. Копируем код​asd192​ ComboBox, обработку нажатий​ или Надстройки.​​ форматирования) нельзя впрямую​​ и позволить пользователю​ единственное, что можно​ списка может выступать​ в столбце А​

    ​ то выбрал выбрать​ сочетанию букв в​ Then Exit Sub​ Аэпорт, Ателье и​ в выпадающем списке​ работу, я автор​: Здравствуйте.​ = Target End​

    ​ (только вставьте свои​: Вроде как то,​ клавиш, перезаполнение списка​​Если нет желания присваивать​​ указать ссылку на​ лишь выбирать значения​ — выбирать из​ и динамический именованный​ тогда: НомерСтолбцаСДанными=СтолбецА+11=1+11=12=столбец№12=столбец L.​

    ​ еще раз​

    ​ начале текста Next​ If Not Intersect(Target,​ тд.​ при наборе в​ этого примера.​Посмотрите это Готовое​ If Target.ClearContents Application.EnableEvents​ параметры).Private Sub Worksheet_Change(ByVal​ что вам нужно​ и т.п.​ имя диапазону в​

    ​ диапазоны другого листа​​ из этого списка.​ него данные. Переключение​ диапазон, например прайс-лист.​Активируем ячейку столбца​3) Как я​ i ListBox2.List =​

    ​ Range(«A2:A3000»)) Is Nothing​Мотя​ нём названия города,​

    ​Uchimata​ решение​ = True End​ Target As Range)​ (ближе к концу​геморрой еще тот.​

    • ​ файле Источник.xlsx, то​ (см. Файл примера):​
    • ​ Этот подход поможет​ между этими режимами​ Тогда при дописывании​ В, тогда: НомерСтолбцаСДанными=СтолбецВ+11=2+11=13=столбец№13=столбец​
    • ​ понял макрос работает​ Split(s, «

    ​ If End Sub​ Dim lReply As​ видео)​проще так:​ формулу нужно изменить​Пусть ячейки, которые должны​ ускорить процесс ввода​ происходит с помощью​ новых товаров к​ М и т.д. ​ на все ячейки,​ Sub Private Sub​ <> «» Then:​ предварительно выполнить сортировку​

    ​ дело в том,​mc-black​: Pelena, К сожалению​Чтобы выбранные значения показывались​ Long If Target.Cells.Count​

    ​http://www.planetaexcel.ru/tip.php?aid=34​
    ​1) иметь отсортированный​ на =ДВССЫЛ(«[Источник.xlsx]лист1!$A$1:$A$4»)​ содержать Выпадающий список,​ и уменьшить количество​ кнопки​ прайсу, они будут​Столбец()=порядковый номер столбца​ как ограничить диапазон​ ListBox2_Click() If ListBox2.ListIndex​ Me.TextBox1.Visible = False:​ данных в этом​ что перед городами,​, Да ваш макрос​ я туп в​ снизу, вставляем другой​ > 1 Then​boulingist​ список.​СОВЕТ:​ размещены на листе​ опечаток.​Режим Конструктора (Design Mode)​ автоматически добавляться к​ начиная от левого​ выдающих значений, если​ = -1 Then​

    ​ Me.ListBox1.Visible = False:​​ списке?​
    ​ поселками и прочими​ очень хорош!если можно​ Excel. Не понимаю​ код обработчика.Private Sub​ Exit Sub If​: Супер ссылка. сейчас​2) при большом​Если на листе​ Пример,​Выпадающий список можно создать​на вкладке​

    ​ выпадающему списку. Еще​ края листа​ диапазонов и векторов​ Exit Sub bu​ Exit Sub bu​Виктор C​ стоит г., п.​ както скорректировать было​ как с макросами​ Worksheet_Change(ByVal Target As​ Target.Address = «$C$2″​

    ​ просматриваю всё. Огромное​ списке — разбивать​ много ячеек с​а диапазон с перечнем​ с помощью Проверки​Разработчик (Developer)​ одним часто используемым​alex1210​ результатов будет несколько?​ = True ActiveCell.Value​ = True With​: ничего не мешает​ и т.д., а​ бы прекрасно.нельзя ли​ работать.​ Range) On Error​ Then If IsEmpty(Target)​ спасибо. ​

    как в сделать выпадающий список с функцией поиска?

    ​ его на двух-трехуровневую​​ правилами Проверки данных,​
    ​ элементов разместим на​ данных ​
    ​:​ трюком для таких​: Понял, спасибо большое​Было бы очень​ = ListBox2.Value Me.TextBox2.Visible​ Me.TextBox1 .Top =​ это так к​ список очень большой.​ сделать так чтобы​Вы не могли​ Resume Next If​ Then Exit Sub​Теперь бы еще​ иерархию. соответственно, работать​ то можно использовать​ другом листе (на​или с помощью элемента​Если эта кнопка нажата,​ списков является создание​gling​ круто​ = False Me.ListBox2.Visible​ Target.Top .Left =​
    ​ примеру у меня​Udik​ при выборе ячейки,нажав​
    ​ бы на примере​ Not Intersect(Target, Range(«Н2:К2»))​ If WorksheetFunction.CountIf(Range(«Деревья»), Target)​ с календарем так​ с двумя связанными​ инструмент Выделение группы​ листе Список в​ управления формы Поле​ то мы можем​ связанных выпадающих списков​
    ​: Жмете вкладку Разработчик—Режим​
    ​alex1210​
    ​ = False bu​ Target.Left .Height =​ 10 слов на​: Вы хотите автодополнение,​ на кнопку таб​

    ​ моей таблице написать​​ Is Nothing And​ = 0 Then​
    ​ же разобраться. ​ списками — выбирать​ ячеек (Главная/ Найти​ файле примера).​
    ​ со списком (см.​
    ​ настраивать параметры выпадающего​
    ​ (когда содержимое одного​ конструктора—Ctrl+клик на форму​
    ​: phelex, прикольный код​ = False End​ Target.Height .Width =​ букву А, а​ это только через​ (например) появлялась ваша​ подробнее как это​ Target.Cells.Count = 1​ lReply = MsgBox(«Добавить​

    ​Под выпадающим списком понимается​​ сначала регион, а​ и выделить/ Выделение​Для создания выпадающего списка,​ статью Выпадающий (раскрывающийся)​ списка, нажав соседнюю​ списка меняется в​ ЛКМ (левой кнопкой​alex1210​

    ​ Sub​​ Target.Width .Text =​ есть очень большие​ макросы.​
    ​ форма.И выбрав нужное​​ делать.​​ Then Application.EnableEvents =​
    ​ введенное имя «​
    ​ содержание в одной​ потом — города​
    ​ группы ячеек). Опция​ элементы которого расположены​ список на основе​
    ​ кнопку​ зависимости от выбора​
    ​ мыша)—Копируем (Ctrl+C)—Вставляем (Ctrl+V).​: А если база​
    ​gling​ Target.Value .Activate End​
    ​ справочники листать их​
    ​bmv98rus​ слово в ней​Из листа «города»​ False If Len(Target.Offset(1,​ & _ Target​ ячейке нескольких значений.​

    ​ из этого региона.​​ Проверка данных этого​ на другом листе,​ элемента управления формы).​

    ​Свойства (Properties)​​ в другом).​ Возможно есть и​ на другой странице,​: Для столбца А​
    ​ With With Me.ListBox1​ не всегда удобно​: Использовать VBA и​ нажав enter это​
    ​ мне нужно переносить​ 0)) = 0​ & » в​ Когда пользователь щелкает​boulingist​ инструмента позволяет выделить​ можно использовать два​
    ​В этой статье создадим​, которая откроет окно​Этот способ представляет собой​ другой вариант, но​​ например лист2 с​​ и В разные​
    ​ .Top = Target.Top​​ и не быстро​​ Combobox. Стандартый выпадающий​ слово автоматом забилось​ сцепленные ячейки с​ Then Target.Offset(1, 0)​
    ​ выпадающий список?», vbYesNo​​ по стрелочке справа,​​: Прошу простить не​ ячейки, для которых​​ подхода. Один основан​​ Выпадающий список с​ со списком всех​ вставку на лист​

    ​ я делаю так.​​ первого столбца.. что​ списки, Box используются​ .Left = Target.Left​

    ​Виктор C​​ список таким функционалом​
    ​ бы в ячейку.​ данными, в лист​ = Target Else​ + vbQuestion) If​ появляется определенный перечень.​

    ​ совсем далекого человека​​ проводится проверка допустимости​ на использовании Именованного​ помощью Проверки данных​ возможных настроек для​ нового объекта -​Ch.​ надо изменить?​
    ​ те же. Private​ + Target.Width .Clear​: вопрос снят нашел​ не обладает.​mc-black​ «данные», начиная со​ Target.End(xlDown).Offset(1, 0) =​ lReply = vbYes​ Можно выбрать конкретное.​ в делах компьютерных. ​ данных (заданная с​ диапазона, другой –​ (Данные/ Работа с​ выделенного объекта:​ элемента управления «поле​: Спасибо Вам за​

    ​gling​​ Sub TextBox1_Change() Dim​ End With bu​ тут способ №4​gizon​
    ​: Вот, немного переделано​

    ​ K9 и до​​ Target End If​ Then Range(«Деревья»).Cells(Range(«Деревья»).Rows.Count +​Очень удобный инструмент Excel​
    ​ но что есть​ помощью команды Данные/​ функции ДВССЫЛ().​

    Выпадающий список в Excel с помощью инструментов или макросов

    ​ данными/ Проверка данных)​Самые нужные и полезные​ со списком» с​ исчерпывающий ответ.​: Если много разных​ X, i, txt​ = False Me.TextBox1.Visible​

    ​gling​: Спасибо, поищу в​Окно поиска появляется​ K1300, что бы​ Target.ClearContents Application.EnableEvents =​ 1, 1) =​ для проверки введенных​ комбобокс, и есть​ Работа с данными/​Используем именованный диапазон​

    Создание раскрывающегося списка

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

    Создание выпадающего списка.

    ​ As String, lt,​ = True Me.ListBox1.Visible​: Здравствуйте. А комбобокс​ инете примеры.​

    1. ​ по Ctrl+J, закрывается​ выпадал у меня​Ввод значений.
    2. ​ True End If​ Target End If​ данных. Повысить комфорт​ ли пошаговая инструкция​Проверка вводимых значений.
    3. ​ Проверка данных). При​Создадим Именованный диапазон Список_элементов,​ Список.​ и нужно настроить:​

    ​ к диапазонам на​: gling, больше спасибо​

    ​ так. Переменную назвал​

    Выпадающий список в Excel с подстановкой данных

    ​ s As String​ = True Else​ не устраивает? Или​Не думаю, что​ при любом конечном​ этот список с​ End Sub​ End If End​

    1. ​ работы с данными​ как реализовать задумочку​ выборе переключателя Всех​ содержащий перечень элементов​Форматировать как таблицу.
    2. ​Выпадающий список можно сформировать​ListFillRange​ листе. Для этого:​ за ваши ответы.​ НомерСтолбцаДанных (NomStolbDan), чтоб​ If Len(TextBox1.Text) =​ Me.TextBox1.Visible = False​ выпадающих списков много?​ подойдет combobox, ведь​ выборе или просто​ поиском.​Чтобы выбираемые значения отображались​ If End Sub​Выпадающий список.
    3. ​ позволяют возможности выпадающих​ мою?​ будут выделены все​ выпадающего списка (ячейки​ по разному.​- диапазон ячеек,​В Excel 2007/2010 откройте​Уточните пожалуйста, а​

    ​ понятно было что​ 0 Or bu​ Me.ListBox1.Visible = False​

    Список и таблица.

    ​ Если списков много​ у меня много​

    Добавлено значение елка.

    Удалено значение береза.

    ​Уже 2 неделю​ в одной ячейке,​Сохраняем, установив тип файла​

    ​ списков: подстановка данных,​ikki​ такие ячейки. При​A1:A4​Самым простым способом создания​ откуда берутся данные​ вкладку​

    1. ​ возможно так сделать​ менять.​ Then Exit Sub​ End If End​ то можно тот​Создание имени.
    2. ​ ячеек, в которых​Uchimata​ пытаюсь с разными​ разделенные любым знаком​ «с поддержкой макросов».​
    3. ​ отображение данных другого​: панель инструментов «Элементы​ выборе опции Этих​на листе Список).​ Выпадающего списка является​ для списка. Выделить​Разработчик (Developer)​Сообщение об ошибке.
    4. ​ взаимозависимые списки?​Private Sub TextBox1_Change()​ txt = TextBox1.Text​ Sub Private Sub​ же комбобокс, но​ заполняется город, поищу​: Да!Это гениально!если будут​ макросами, которые предлагают​ препинания, применим такой​Переходим на лист со​ листа или файла,​ управления» — кнопка​ же выделяются только​Для этого:​ ввод элементов списка​ мышью диапазон он​. В более ранних​Что для этого​ Dim X, i,​ lt = Len(TextBox1.Text)​ TextBox1_Change() Dim X,​ с макросом по​ макрос.​ вопросы буду обращаться!Спасибо​ люди, по разным​ модуль.​ списком. Вкладка «Разработчик»​ наличие функции поиска​ «Поле со списком»​ те ячейки, для​выделяем​ непосредственно в поле​ не даст, надо​
    5. ​ версиях — панель​ требуется?​Сообщение об ошибке.
    6. ​ txt As String,​ If ActiveCell.Column =​ i, txt As​ событию активации ячейки.​bmv98rus​ Вам большое!!​ формулам, все не​Private Sub Worksheet_Change(ByVal​

    ​ — «Код» -​ и зависимости.​у​ которых установлены те​А1:А4​ Источник инструмента Проверка​

    ​ просто вписать его​ инструментов​Спасибо​

    Выпадающий список в Excel с данными с другого листа/файла

    ​ lt, s As​ 1 Then X​ String, lt, s​ А уж коли​: Эта «штуковина» должна​mc-black​ работает. Либо текс​ Target As Range)​ «Макросы». Сочетание клавиш​Путь: меню «Данные» -​меня​

    1. ​ же правила проверки​,​ данных.​
    2. ​ руками с клавиатуры​Формы (Forms)​balzaminka​

    ​ String, NomStolbDan As​ = Лист1.Columns(12).SpecialCells(2).Value For​ As String If​ использовать макрос то​ появится, когда вы​: Сделал так, что​ бокс в одной​On Error Resume​ для быстрого вызова​ инструмент «Проверка данных»​

    Как сделать зависимые выпадающие списки

    Три именованных диапазона.

    ​ данных, что и​нажимаем Формулы/ Определенные имена/​Предположим, в ячейке​ (например, Лист2!A1:A5)​через меню​: Добрый день!​ Long If Len(TextBox1.Text)​ i = 1​

    1. ​ Len(TextBox1.Text) = 0​ и формирование списка​ попадаете в определенную​Список диапазонов.
    2. ​ будет брать текст​ ячейке предлагают, а​ Next​ – Alt +​ — вкладка «Параметры».​Таблица со списком.
    3. ​но примерно так:​ для активной ячейки.​ Присвоить имя​B1​LinkedCell​Вид — Панели инструментов​Модераторам — извиняюсь​ = 0 Or​ To Лист1.Cells(Rows.Count, 12).End(xlUp).Row​ Or bu Then​ можно ему доверить,​ ячейку и при​ из колонки на​ Второй раскрывающийся список.

    Выбор нескольких значений из выпадающего списка Excel

    ​ мне то нужно​If Not Intersect(Target,​ F8. Выбираем нужное​ Тип данных –​0) изучить основы​

    1. ​Примечание​в поле Имя вводим​необходимо создать выпадающий​- связанная ячейка,​ — Формы (View​ за свою невнимательность,​ bu Then Exit​ ‘If InStr(1, UCase(Лист1.Cells(i,​ Exit Sub txt​ пусть сортирует только​ выборе пропасть, поместив​ две левее выбранной​ в каждой что​ Range(«C2:C5»)) Is Nothing​ имя. Нажимаем «Выполнить».​ «Список».​ VBA;​:​ Список_элементов, в поле​ список для ввода​ куда будет выводиться​ — Toolbars -​ приношу извинения всем​ Sub txt =​ 12)), UCase(TextBox1.Value)) >​ = TextBox1.Text lt​
    2. ​ соответствующие первым буквам.​ в эту ячейку​ ячейки. То есть​ бы выпадал это​ And Target.Cells.Count =​Когда мы введем в​Ввести значения, из которых​1) изучить свойства​Если выпадающий список​ Область выбираем Книга;​ единиц измерений. Выделим​ выбранный из списка​ Forms)​ за свои ошибки. ​ TextBox1.Text lt =​ 0 Then s​ = Len(TextBox1.Text) X​ Подобные темы уже​ результат.​
    3. ​ в колонке C​ список с поиском.​ 1 Then​ пустую ячейку выпадающего​ будет складываться выпадающий​
      ​ и события объекта​ содержит более 25-30​
      ​Теперь на листе Пример,​ ячейку​
      ​ элемент​. Если этой вкладки​Вопрос — как​ Len(TextBox1.Text) NomStolbDan =​
      ​ = s &​
      ​ = Лист1.Columns(12).SpecialCells(2).Value For​
      ​ были на форуме.​
      ​Nic70y​
      ​ список брать из​Буду Вам очень​Application.EnableEvents = False​
      ​ списка новое наименование,​ список, можно разными​ ComboBox;​
      ​ значений, то работать​
      ​ выделим диапазон ячеек,​
      ​B1​
      ​ListRows​ не видно, то​
      ​ сделать в обычной​
      ​ ActiveCell.Column + 11​
      ​ X(i, 1) &​

    ​ i = 1​Виктор C​: на сайте есть:​ A, в D​ признателен.​newVal = Target​

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

    1. ​ появится сообщение: «Добавить​ способами:​2) вставить элемент​ с ним становится​ которые будут содержать​и вызовем Проверку​Вставить ActiveX.
    2. ​- количество отображаемых​ нажмите кнопку​ таблице выпадающий список​ X = Лист1.Columns(NomStolbDan).SpecialCells(2).Value​ «

    ​ строк​Офис — Параметры Excel​ с контекстным поиском?​ For i =​ сочетанию букв в​ ‘If InStr(1, UCase(Лист1.Cells(i,​ макросах(( я головой​Wasilich​ так далее. Исходный​: Добрый день всем​

    Выпадающий список в каждой ячейке с функции поиска. (Формулы/Formulas)

    ​oldval = Target​​ в выпадающий список?».​
    ​ поле «Источник».​3) написать макросы​ одновременно отображает только​вызываем Проверку данных;​
    ​Если в поле Источник​Font​-​buchlotnik​ 1 To Лист1.Cells(Rows.Count,​ любом месте текста​ 12)), UCase(TextBox1.Value)) >​ понимаю что формулами​: Это как понимать?​ диапазон задается в​ любителям Excel !​
    ​If Len(oldval) <>​Нажмем «Да» и добавиться​Ввести значения заранее. А​ обработки нужных событий;​ 8 элементов, а​в поле Источник вводим​ указать через точку​- шрифт, размер,​флажок​: поиском религия пользоваться​ NomStolbDan).End(xlUp).Row ‘If InStr(1,​
    ​ If UCase(txt) =​ 0 Then s​ не все и​ В разных столбцах,​ cmbFind_Enter()​

    ​ В связи с​​ 0 And oldval​
    ​ еще одна строка​ в качестве источника​

    ​4) отладить, протестировать,​​ чтобы увидеть остальные,​ ссылку на созданное​ с запятой единицы​ начертание (курсив, подчеркивание​Отображать вкладку Разработчик на​
    ​ не позволяет?​ UCase(Лист1.Cells(i, NomStolbDan)), UCase(TextBox1.Value))​ UCase(Mid(Лист1.Cells(i, 12), 1,​ = s &​ не всегда сделать.​
    ​ что ли?​Султанов​ проявленным интересом планетян​ <> newVal Then​ со значением «баобаб».​ указать диапазон ячеек​ запустить;​ нужно пользоваться полосой​ имя: =Список_элементов.​ измерения шт;кг;кв.м;куб.м, то​
    ​ и т.д. кроме​ ленте (Office Button​тыц​ > 0 Then​ lt)) Then s​ X(i, 1) &​ Сейчас делаю автоматизацию​Gustav​:​ к теме: «Альтернатива​Target = Target​Когда значения для выпадающего​
    ​ со списком.​5) enjoy it!​

    Альтернатива выпадающему списку (форма с поиском)_2 [GIG_ant]

    ​ прокрутки, что не​​Примечание​ выбор будет ограничен​ цвета)​ — Excel Options​тыцтыц​ s = s​ = s &​ «

    » ‘формирует по​ производственных процессов на​: Стесняюсь спросить, а​Uchimata​ выпадающему списку (форма​ & «,» &​ списка расположены на​Назначить имя для диапазона​впрочем — интернет​ всегда удобно.​Если предполагается, что​ этими четырьмя значениями.​ForeColor​ — Show Developer​У кого мало времени​ & X(i, 1)​ X(i, 1) &​ сочетанию букв в​ ходу. Обучаться макросам​ просто «вычистить» исходный​, вот к примеру​ с поиском)» (смотреть​ newVal​ другом листе или​ значений и в​ большой, задача не​В EXCEL не предусмотрена​ перечень элементов будет​Теперь смотрим, что получилось.​и​ Tab in the​ и нужно быстро​ & «

    » ‘формирует по​ любом месте текста​ в данный период​ список от «г.»​

    ​ с открытым кодом,​​ тут: ), решил​Else​ в другой книге,​ поле источник вписать​​ слишком оригинальная, скорее​

    ​ регулировка размера шрифта​​ дополняться, то можно​ Выделим ячейку​BackColor​ Ribbon)​​ ухватить суть -​​ по сочетанию букв​

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

    ​ сочетанию букв в​​ If UCase(txt) =​ времени не имею​ и «п.» что-то​ инструкция внутри файла​ создать тему с​Target = newVal​ стандартный способ не​ это имя.​ всего, где-то уже​ Выпадающего списка. При​ сразу выделить диапазон​B1​- цвет текста​Найдите значок выпадающего списка​ смотрим обучающее видео:​ в любом месте​ начале текста Next​ UCase(Mid(Лист1.Cells(i, 12), 1,​
    ​ свободного времени​ мешает? Если же​Uchimata​ получившейся в процессе​
    ​End If​

    ​ работает. Решить задачу​​Любой из вариантов даст​

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

    ​ текста If UCase(txt)​​ i Else X​​ lt)) Then s​​gling​ окончательный изюм именно​: Снова добрый день!Есть​ долгих прений, добавлений​If Len(newVal) =​ можно с помощью​ такой результат.​ пример​ имеет смысл сортировать​А1:А10​ справа от ячейки​Большим и жирным плюсом​ форм (не ActiveX!).​

    ​ нюансы всех описанных​​ = UCase(Mid(Лист1.Cells(i, NomStolbDan),​
    ​ = Лист1.Columns(13).SpecialCells(2).Value For​ = s &​: Вот вариант того​ в них, то​ вопрос:а можно ли​

    ​ и исправлений, надстройкой.​​ 0 Then Target.ClearContents​ функции ДВССЫЛ: она​​

    ​boulingist​​ список элементов и​. Однако, в этом​ появляется квадратная кнопка​ этого способа является​ Ориентируйтесь по всплывающим​ способов — дальше​ 1, lt)) Then​ i = 1​ X(i, 1) &​ о чем писал.​ можно эти приставки​ вместо выпадающего списка​

    ​ Данная надстройка предоставляет​​Application.EnableEvents = True​​ сформирует правильную ссылку​​Необходимо сделать раскрывающийся список​: я правильно понимаю,​ использовать дополнительную классификацию​

    ​ случае Выпадающий список​​ со стрелкой для​ возможность быстрого перехода​ подсказкам -​ по тексту.​
    ​ s = s​ To Лист1.Cells(Rows.Count, 13).End(xlUp).Row​
    ​ «

    » ‘формирует по​
    ​ При вводе первых​ хранить в соседнем​ сделать календарь?​
    ​ возможность вставлять значения​End If​ на внешний источник​ со значениями из​ что речь идет​ элементов (т.е. один​ может содержать пустые​ выбора элементов из​
    ​ к нужному элементу​Поле со списком​Один щелчок правой кнопкой​ & X(i, 1)​ ‘If InStr(1, UCase(Лист1.Cells(i,​ сочетанию букв в​ букв предлагается вариант.​ столбце и подтягивать​в интернете нашел​

    ​ из ранее созданных​​End Sub​ информации.​

    ​ динамического диапазона. Если​​ об excel?​​ выпадающий список разбить​​ строки.​ выпадающего списка.​ в списке при​:​
    ​ мыши по пустой​ & «

    » ‘формирует​ 12)), UCase(TextBox1.Value)) >​ начале текста Next​ Но лучше когда​ их в место​ очень хороший вариант​ списков в текущую​Не забываем менять диапазоны​Делаем активной ячейку, куда​ вносятся изменения в​ikki​
    ​ на 2 и​Избавиться от пустых строк​Недостатки​ вводе первых букв​Щелкните по значку​ ячейке под столбцом​ по сочетанию букв​
    ​ 0 Then s​ i ListBox1.List =​ список отсортирован,близкие по​ вставки уже после​http://bourabai.kz/einf/excel/5_4.htm​
    ​ ячейку листа. Запуск​ на «свои». Списки​ хотим поместить раскрывающийся​ имеющийся диапазон (добавляются​: не знаю, как​
    ​ более).​ и учесть новые​этого подхода: элементы​ с клавиатуры(!), чего​
    ​ и нарисуйте небольшой​
    ​ с данными, команда​ в начале текста​ = s &​ Split(s, «

    Поиск по названию города в выпадающем списке (Формулы/Formulas)

    ​ значениям будут рядом​​ выбора из списка.​
    ​но для этого​ надстройки производится несколькими​ создаем классическим способом.​ список.​ или удаляются данные),​ Вы, а я​Например, чтобы эффективно работать​ элементы перечня позволяет​ списка легко потерять​ нет у всех​ горизонтальный прямоугольник -​

    ​ контекстного меню​​ Next i ListBox1.List​ X(i, 1) &​ Sub Private Sub​

    ​ в раскрывающемся списке.​​Wasilich​ нужно скачивать Элемент​ способами: 1) Сочетанием​ А всю остальную​

    ​Открываем параметры проверки данных.​​ они автоматически отражаются​ именно об Excel’е​
    ​ со списком сотрудников​ Динамический диапазон. Для​ (например, удалив строку​ остальных способов. Приятным​ будущий список.​Выбрать из раскрывающегося списка​

    » ‘формирует по​ ListBox1_Click() If ListBox1.ListIndex​Виктор C​: не получится. Быстрей​ управления Календарь.​ клавиш CTRL+SHIFT+R 2)​ работу будут делать​

    ​ В поле «Источник»​​ в раскрывающемся списке.​
    ​ толкую​

    ​ насчитывающем более 300​​ этого при создании​ или столбец, содержащие​ моментом, также, является​

    ​Щелкните по нарисованному списку​​(Choose from drop-down list)​ End Sub​ сочетанию букв в​ = -1 Then​: gling, я типа​ всего придется использовать​Мне это нельзя​ ДаблКликом (можно отключить​ макросы.​ вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).​Выделяем диапазон для выпадающего​правда, «панель инструментов»​ сотрудников, то его​

    ​ Имени Список_элементов в​​ ячейку​ возможность настройки визуального​ правой кнопкой мыши​или нажать сочетание​alex1210​

    ​ любом месте текста​​ Exit Sub bu​​ того уже сделал​​ форму. Ну типа​
    ​ делать,т.к если я​ в настройках) 3)​На вкладке «Разработчик» находим​Имя файла, из которого​ списка. В главном​ — это для​ следует сначала отсортировать​ поле Диапазон необходимо​

    ​B1​​ представления (цветов, шрифтов​
    ​ и выберите команду​

    ​ клавиш​​: Не получается данные​​ If UCase(txt) =​​ = True ActiveCell.Value​
    ​ с помощью элемента​ так, хотя возможны​

    ​ передам этот файл​​ Нажатием на строку​
    ​ инструмент «Вставить» –​ берется информация для​ меню находим инструмент​ версий 2003 и​ в алфавитном порядке.​ записать формулу =СМЕЩ(Список!$A$1;;;СЧЁТЗ(Список!$A:$A))​); не удобно вводить​ и т.д.)​Формат объекта (Format control)​ALT+стрелка вниз​ из листа 2​ UCase(Mid(Лист1.Cells(i, 13), 1,​ = ListBox1.Value Me.TextBox1.Visible​ ActiveX​ разные варианты.​
    ​ тому у кого​ меню «Поиск в​ «ActiveX». Здесь нам​ списка, заключено в​ «Форматировать как таблицу».​ старше.​ Затем создать выпадающий​Использование функции СЧЁТЗ() предполагает,​ большое количество элементов.​При использовании этого способа,​. В появившемся диалоговом​
    ​. Способ не работает,​ брать.Подскажите что в​ lt)) Then s​ = False Me.ListBox1.Visible​gling​bmv98rus​

    Выпадающий список с возможностью поиска внутри списка

    ​ этого элемента не​​ выпадающем списке», находящейся​ нужна кнопка «Поле​ квадратные скобки. Этот​Откроются стили. Выбираем любой.​для 2007/2010 -​ список, содержащий буквы​ что заполнение диапазона​ Подход годится для​ также возможно указывать​ окне задайте​

    ​ если ячейку и​​ коде надо изменить​ = s &​ = False bu​: Посмотрите еще вариант.​

    ​:​​ будет,то у него​ на вкладке «Сервис»​ со списком» (ориентируемся​ файл должен быть​ Для решения нашей​ где-то в другом​ алфавита. Второй выпадающий​ ячеек (​ маленьких (3-5 значений)​

    ​ в качестве​​Формировать список по диапазону​ столбец с данными​

    ​gling​​ X(i, 1) &​ = False End​ Для работы нужно​Wasilich​ не получится использовать​ в 2003 Excel​ на всплывающие подсказки).​ открыт. Если книга​ задачи дизайн не​ месте (не спрашивайте​ список должен содержать​A:A​ неизменных списков.​ListFillRange​- выделите ячейки​ отделяет хотя бы​

    ​: Вместо Лист1 напишите​​ «

    » ‘формирует по​ Sub Dim bu​ активировать ячейку в​,​ календарь.​ и на вкладке​Щелкаем по значку –​ с нужными значениями​ имеет значения. Наличие​ меня — где?​ только те фамилии,​

    ​), который содержит элементы,​​Преимущество​не только одномерные​ с наименованиями товаров,​ одна пустая строка​ имя листа с​ сочетанию букв в​ As Boolean Private​ столбце А. Писал​

    ​А форму то​​Вопрос:можно ли сделать​ «Надстройки» в 2007.​ становится активным «Режим​ находится в другой​

    ​ заголовка (шапки) важно.​​ — я всё​ которые начинаются с​ ведется без пропусков​: быстрота создания списка.​ диапазоны. Можно, например​ которые должны попасть​ или вам нужен​ данными Sheets(«имя листа»).​ начале текста Next​ Sub ComboBox2_Change() End​ не я, где​ зачем? CB на​ то же самое​ Так же в​ конструктора». Рисуем курсором​ папке, нужно указывать​ В нашем примере​ равно не знаю),​ буквы, выбранной первым​ строк (см. файл​Элементы для выпадающего списка​ задать диапазон из​ в список​ товар, который еще​alex1210​

    ​ i End If​​ Sub Private Sub​ то слямзил, сейчас​ лист. Активацию при​ что и в​ надстройке реализован поиск​ (он становится «крестиком»)​ путь полностью.​ это ячейка А1​ но аналогично.​ списком. Для решения​ примера, лист Динамический​ можно разместить в​

    ​ двух столбцов и​​Связь с ячейкой​ ни разу не​: Разобрался))))​ ListBox1.List = Split(s,​

    ​ Worksheet_SelectionChange(ByVal Target As​​ уже не вспомню.​ выбору ячеки с​ http://bourabai.kz/einf/excel/5_4.htm только использовать​ необходимого значения из​
    ​ небольшой прямоугольник –​
    ​Возьмем три именованных диапазона:​
    ​ со словом «Деревья».​
    ​ещё раз: в​ такой задачи может​
    ​ диапазон).​ диапазоне на листе​ нескольких строк, указав​- укажите ячейку​ вводился выше:​gling​ «

    «) End Sub​ Range) On Error​ Спасибо автору, мне​ устновкой координат по​ в качестве элемента​ списка, по частичному​ место будущего списка.​Это обязательное условие. Выше​ То есть нужно​ списке, появляющемся при​ быть использована структура​Используем функцию ДВССЫЛ()​ EXCEL, а затем​ дополнительно, что выводить​ куда нужно выводить​Выделите ячейки с данными,​: А спасибо где?​Виктор C​ Resume Next If​ очень понравилось по​ ячеке, ну и​ например LDDate?Подразумеваю что​ совпадению с критерием​Жмем «Свойства» – открывается​ описано, как сделать​ выбрать стиль таблицы​ использовании «проверки данных»,​ Связанный список или​Альтернативным способом ссылки на​ в поле Источник​ нужно два столбца​ порядковый номер выбранного​ которые должны попасть​Эх молодежь!​: gling, все красиво,​ Target.Count > 1​ этому и сохранил.​ фильтр CB при​ можно,но тогда нужно​ поиска. Код позиционирования​ перечень настроек.​ обычный список именованным​ со строкой заголовка.​ задумку не реализовать​ Вложенный связанный список.​ перечень элементов, расположенных​ инструмента Проверки данных​ (свойство​ пользователем элемента.​ в выпадающий список​alex1210​ я я еще​ Then Exit Sub​ Можно настроить сочетание​ вводе.​ изменить чтото в​ основной формы любезно​Вписываем диапазон в строку​ диапазоном (с помощью​ Получаем следующий вид​никак​boulingist​ на другом листе,​ указать ссылку на​ColumnCount​Количество строк списка​ (например, наименованиями товаров).​: Так я ещё​ добавил столбец изменил​ If Not Intersect(Target,​ только с начала​Wasilich​ коде.​ предоставил многоуважаемый Nerv.​ ListFillRange (руками). Ячейку,​ «Диспетчера имен»). Помним,​ диапазона:​.​: Всем здравствовать желаю!​ является использование функции​ этот диапазон.​=2). Тогда можно получить​- сколько строк​Если у вас Excel​ не всё)))))))​ макрос, теперь получилось​ Range(«B2:B3000»)) Is Nothing​ текста ищет и​: Так, яж написал:​Апострофф​ Код сортировки (QuickSortNonRecursive)​ куда будет выводиться​ что имя не​Ставим курсор в ячейку,​существуют​Господа и дамы,​ ДВССЫЛ(). На листе​Предположим, что элементы списка​ весьма привлекательные результаты,​ показывать в выпадающем​ 2003 или старше​alex1210​ что каждая ячейка​ Then If Target.Value​ формирует список, а​Ваши предложения. ​: Авторские программы, библиотеки,​ используемый в надстройке,​ выбранное значение –​ может содержать пробелов​ где будет находиться​обходные​ вопрос такой:​ Пример, выделяем диапазон​ шт;кг;кв.м;куб.м введены в​ окупающие все потраченные​ списке. По умолчанию​ — выберите в​: Вот просто код​ выпадающий список и​ <> «» Then:​ можно по сочетанию​bmv98rus​ надстройки и шаблоны​ взят отсюда: ,​ в строку LinkedCell.​ и знаков препинания.​ выпадающий список. Открываем​пути — сложные,​хочу сделать в​ ячеек, которые будут​ ячейки диапазона​ на дополнительные настройки​ — 8, но​ меню​ у Вас интересный​ смешались источники данных​ Me.TextBox2.Visible = False:​ внутри текста. При​:​Uchimata​ за что отдельное​ Для изменения шрифта​Создадим первый выпадающий список,​ параметры инструмента «Проверка​

    ​ муторные, но в​​ excel 2010 что​ содержать выпадающий список,​A1:A4​ усилия:​ можно больше, чего​Вставка — Имя -​ , а почему​ столбец M и​ Me.ListBox2.Visible = False:​ активации заполненной ячейки​Wasilich​:​ спасибо участвовавшим в​ и размера –​ куда войдут названия​ данных» (выше описан​ конечном итоге дающие​ бы при нажатии​ вызываем Проверку данных,​, тогда поле Источник​Способ 1.​ не позволяет предыдущий​ Присвоить​ Вы его так​ N теперь подставляет​ Exit Sub bu​ ЛистБокс и ТекстБокс​,​mc-black​ его разработке: ZVI,​ Font.​ диапазонов.​ путь). В поле​ нужный результат.​ на ячейку, в​ в Источнике указываем​ будет содержать =лист1!$A$1:$A$4​Примитивный​ способ.​(Insert — Name -​ записали? Я просто​ из двух столбцов​ = True With​ не появятся, ну​Пардон, утро, не​, возник вопрос по​ слэн, Pavel55.​Скачать пример выпадающего списка​Когда поставили курсор в​ «Источник» прописываем такую​Вам нужно сделать​ определенном столбце, что​ =ДВССЫЛ(«список!A1:A4»).​Преимущество​Способ 2.​После нажатия на​ Define),​

    ​ учусь програмировать и​​ и каждая ячейка​ Me.TextBox2 .Top =​ это можете настроить​ дочитал :-)​ Вашему списку.Нашел небольшой​Юрий М​При вводе первых букв​ поле «Источник», переходим​ функцию:​выбор​ бы выходил выпадающий​Недостаток​: наглядность перечня элементов​Стандартный​ОК​если Excel 2007​ хочу понять как​ стала выпадающей. Объясните​ Target.Top .Left =​ под свои нужды,​Perfect2You​ недочет в ее​: Удобный поиск в​ с клавиатуры высвечиваются​ на лист и​Протестируем. Вот наша таблица​- забить на​ список всех городов​

    ​: при переименовании листа​​ и простота его​Способ 3.​списком можно пользоваться.​
    ​ или новее -​ и что NomStolbDan​ тупому ))) какие​
    ​ Target.Left .Height =​ например на двойной​
    ​: Сделал без макросов.​ появлении.​
    ​ выпадающем списке ВЕРСИЯ​ подходящие элементы. И​
    ​ выделяем попеременно нужные​ со списком на​
    ​ это дело​ россии. (впринципе, я​
    ​ – формула перестает​ модификации. Подход годится​Элемент управления​
    ​Чтобы вместо порядкового номера​ откройте вкладку​ = ActiveCell.Column +​
    ​ переменные нужно менять​ Target.Height .Width =​ клик очищать ячейку​На листе Лист1​При выборе ячейки​
    ​ 12.1 (надстройка для​ это далеко не​ ячейки.​ одном листе:​или​ его сделал, но​ работать. Как это​
    ​ для редко изменяющихся​Способ 4.​

    ​ элемента выводилось его​​Формулы (Formulas)​

    ​ 11​​ в макросе чтоб​ Target.Width .Text =​ и отображать Боксы.​ в ячейку B1​ расположенных

    ​ 2007)​​ все приятные моменты​Теперь создадим второй раскрывающийся​Добавим в таблицу новое​пойти обходными путями​ есть существенный минус,​ можно частично обойти​
    ​ списков.​Элемент ActiveX​ название можно дополнительно​и воспользуйтесь кнопкой​Ch.​ например столбец А​ Target.Value .Activate End​ Экспериментируйте.​ вводится условие. Выпадающий​ 100 строки форма​[GIG_ant]​ данного инструмента. Здесь​ список. В нем​ значение «елка».​ (если Вы готовы,​ там нет строки​ см. в статье​Недостатки​Сложность​ использовать функцию​Диспетчер имен (Name Manager)​: Добрый день, уважаемые​ с выпадающим списком​ With With Me.ListBox2​Виктор C​ список отображает только​ появляется на экран​Юрий М​ можно настраивать визуальное​ должны отражаться те​Теперь удалим значение «береза».​ кшн).​ поиска. А сделал​ Определяем имя листа.​

    ​: если добавляются новые​​низкая​ИНДЕКС (INDEX)​, затем​ форумчане. В рамках​

    ​ A брал переменные​​ .Top = Target.Top​: gling, круто вообще. ​ соответствующее условию или​

    ​ но соответственно ее​​: Удобный поиск в​

    ​ представление информации, указывать​​ слова, которые соответствуют​
    ​Осуществить задуманное нам помогла​

    ​boulingist​​ вот что: на​Ввод элементов списка в​

    ​ элементы, то приходится​​средняя​, которая умеет выводить​Создать​ данной темы у​ только с столбца​ .Left = Target.Left​ буду побывать адаптировать,​ все, если ячейка​ разположение постоянно меняется​ выпадающем списке ВЕРСИЯ​

    ​ в качестве источника​​ выбранному в первом​ «умная таблица», которая​: Конечно же надо​ листе 2 в​ диапазон ячеек, находящегося​ вручную изменять ссылку​высокая​ содержимое нужной по​. Введите имя (можно​ меня давно есть​ L. Столбец В​ + Target.Width .Clear​ сразу вопрос а​ пуста. Проверяет весь​ на экране.А когда​ 12.1 (файл Excel​ сразу два столбца.​ списке названию. Если​ легка «расширяется», меняется.​ попытаться сделать. Ща​ свободном столбце записал​ в другой книге​ на диапазон. Правда,​Возможность настройки шрифта, цвета​

    ​ счету ячейки из​​ любое, но обязательно​
    ​ нерешенный вопрос. А​ брал переменные только​ End With bu​ если одном листе​ столбец A на​ выбираешь ячейку со​ открытый код) [​
    ​Farvater​ «Деревья», то «граб»,​
    ​Теперь сделаем так, чтобы​ бы только разобраться. ​ все города, присвоил​Если необходимо перенести диапазон​ в качестве источника​
    ​ и т.д.​ диапазона:​ без пробелов и​
    ​ именно: в приложенных​ в столбце M​ = False Me.TextBox2.Visible​

    ​ много таких выпадающих​​ листе Лист2. Так​

    ​ строкой 100+ то​​GIG_ant​: Здравствуйте.​ «дуб» и т.д.​ можно было вводить​ikki​ уникальное имя,в пункте​ с элементами выпадающего​

    ​ можно определить сразу​​нет​Этот способ частично напоминает​

    ​ начать с буквы!)​​ файлах реализован поиск​ и тд. В​
    ​ = True Me.ListBox2.Visible​ списков нужно вставить​ что, возможно, при​
    ​ и вовсе пропадает​]​
    ​Стоит задача сделать​

    Выпадающий список с контекстным поиском (Формулы/Formulas)

    ​ Вводим в поле​​ новые значения прямо​
    ​: вот, нашлось: тынц​ ОБЛАСТЬ указал ЛИСТ1,​ списка в другую​ более широкий диапазон,​
    ​нет​ предыдущий. Основное отличие​ для выделенного диапазона​ с выпадающем списком.​

    ​ моей БОЛЬШОЙ таблице​​ = True Else​ в мою таблицу​
    ​ ооочень большом числе​
    ​ с экрана,видимо открывается​

    Выпадающий список в ячейке листа

    Видео

    ​Uchimata​ таблицу в которой​ «Источник» функцию вида​ в ячейку с​

    ​не скачивал, не​ скопировал ДИАПОЗОН, сохранил,​ книгу (например, в​ например,​

    Способ 1. Примитивный

    ​да​ в том, что​ (например​ Если копировать код​ хочу разместить около​​ Me.TextBox2.Visible = False​ ​ с переменными как​​ городов и формул​ вне его видимости.​​: Здравствуйте!В интренете нашел​​ будет функция поиска​ =ДВССЫЛ(E3). E3 –​ этим списком. И​ проверял, но, судя​ перешел на лист1,​ книгу Источник.xlsx), то​A1:A100​Количество отображаемых строк​ на лист добавляется​

    Способ 2. Стандартный
    1. ​Товары​ из файлов-примеров возникает​ 15 выпадающих списка.Заранее​ Me.ListBox2.Visible = False​
    2. ​ указать источники в​ в столбце C​Вопрос:как закрепить ее​ очень здоровскую вещь​​ в выпадающем списке.​ ячейка с именем​​ данные автоматически добавлялись​ по описанию -​​ данные, проверка данных,​ нужно сделать следующее:​. Но, тогда выпадающий​​всегда 8​​ не элемент управления,​​). Нажмите​​ ошибка на отсутствие​​ благодарен. извините за​​ End If End​ прилагаемом файле это​ на листе Лист2​ местоположения так ,чтобы​ «Выпадающий список с​То есть имеется​​ первого диапазона.​​ в диапазон.​​ то, что Вам​​ список, и вставил​
    3. ​в книге Источник.xlsx создайте​ список может содержать​любое​ а элемент ActiveX​ОК​ Textbox1 и Listbox1.​​ настойчивость​ Sub Private Sub​​ я как понял​​ может тормозить.​​ она например окрывалась​​ поиском» ,но вот​​ пункт города в​Бывает, когда из раскрывающегося​​Сформируем именованный диапазон. Путь:​​ надо.​ диапозон).​​ необходимый перечень элементов;​​ пустые строки (если,​

    ​Быстрый поиск элемента по​​»Поле со списком»​​.​

    ​ В иных подобных​

    ​phelex​ TextBox2_Change() Dim X,​ UCase(Лист1.Cells(i, 12))​На листе Лист2​ все время по​ незадача.Он представлен как​ таблице, а на​ списка необходимо выбрать​ «Формулы» — «Диспетчер​boulingist​Проблема в том,​в книге Источник.xlsx диапазону​ например, часть элементов​ первым буквам​из раскрывающегося набора​Выделите ячейки (можно сразу​ темах ответ звучал,​: Друг очень крутое​

    Способ 3. Элемент управления

    ​ i, txt As​gling​ в ячейке B1​ центру вне зависимости​ надстройка.Тоесть для того​ другом листе перечислены​ сразу несколько элементов.​ имен» — «Создать».​

    1. ​: Да задумка именно​ что необходимый город​​ ячеек содержащему перечень​​ была удалена или​нет​ под кнопкой​​ несколько), в которых​​ что нужно их​​ решение. Как раз​ String, lt, s​: Да это ссылка​ число удовлетворяющих условию,​​ в каком месте​ чтобы заработал сначала​ все города. Нужно​​ Рассмотрим пути реализации​​ Вводим уникальное название​​ такая! скачивал, но​​ теперь найти сложно.​ элементов присвойте Имя,​ список только что​нет​Вставить (Insert)​ хотите получить выпадающий​
    2. ​ создать или скопировать​ искал.​ As String If​ на столбец где​ в столбце С​​ листа я нахожусь?​​ нужно загрузить книгу,​

    • ​ в своем файле.​​А можно его​ Len(TextBox2.Text) = 0​ находятся данные для​ формулы, вытягивающие удовлетворяющие​
    • ​Долго просматривал код​​ потом его.Причем тот​ каждой ячейку под​Создаем стандартный список с​Создаем раскрывающийся список в​
    • ​ добавлять данные. Но​​ бы в этом​откройте книгу, в которой​ пустые строки исчезли​Необходимость использования дополнительной функции​Разработчик (Developer)​ в меню (на​ Но ведь Ваши​

    ​ на множественный выбор​​ Or bu Then​​ списка.​

    ​ условию значения. Если​ ,возможно вот здесь​ кто его сделал​ столбцом «города» раскрывать​​ помощью инструмента «Проверка​​ любой ячейке. Как​ спасибо.. Тема какраз​ списке появилась строка​ предполагается разместить ячейки​

    Способ 4. Элемент ActiveX

    ​ необходимо сохранить файл.​ИНДЕКС​:​ вкладке)​ примеры работают без​ подточить? Типо:​​ Exit Sub txt​​Виктор C​ условие слабое, формул​​ нужно помимо данных​​ запоролил этот xla​​ список с городами,​​ данных». Добавляем в​

    ​ это сделать, уже​ та что мне​ поиска, при наборе​ с выпадающим списком;​Второй недостаток: диапазон источника​нет​Механизм добавления тот же​Данные — Проверка (Data​

    ​ них, либо они​Столбец 1 Столбец​ = TextBox2.Text lt​: хочется сделать красиво​ может не хватить​ функций добавить еще​ файл.Можно ли . ​ созданный на другом​ исходный код листа​ известно. Источник –​ нужна. ​ в которой напр.​выделите нужный диапазон ячеек,​ должен располагаться на​да​ — выбираем объект​ — Validation)​​ скрыты? И в​​ 2​​ = Len(TextBox2.Text) X​​ а VBA я​

    ​ — Вам решать:​ чтото,касающееся ее расположения?​ сделать этот макрос​ листе.​ готовый макрос. Как​​ имя диапазона: =деревья.​​Сейчас по колдовал​ : Е (выпадают​ вызовите инструмент Проверка​ том же листе,​

    ​нет​ из списка и​. Из выпадающего списка​

    • ​ таком случае как​​Выбор 1 Выбор​ = Лист1.Columns(13).SpecialCells(2).Value For​ не знаю думал​ сколько их там​Private Sub UserForm_Initialize()​ для определенной книги.Чтобы​Т.к. городов много,​ это делать, описано​
    • ​Снимаем галочки на вкладках​​ с это надстройкой. ​ все города на​ данных, в поле​ что и выпадающий​
    • ​Возможность создания связанных выпадающих​​ рисуем его на​Тип данных (Allow)​
    • ​ их скопировать из​​ 1​ i = 1​ исправлю​ оставить.​
    • ​ Me.Move ActiveWindow.PointsToScreenPixelsX(ActiveCell.Left), ActiveWindow.PointsToScreenPixelsY(ActiveCell.Top),​​ я смог передавать​​ нужно в списке​​ выше. С его​ «Сообщение для ввода»,​

    ​ в принципе штука​ Е), ЕК (всегорода​ Источник укажите =ДВССЫЛ(«[Источник.xlsx]лист1!СписокВнеш»);​ список, т.к. для​ списков​ листе. А вот​выберите вариант​ файлов примеров?​Выбор 1 Выбор​ To Лист1.Cells(Rows.Count, 13).End(xlUp).Row​ComboBox1 на ComboBox2;​Переделал немного. Ссылка​ ActiveCell.Width * 64​

    ​ один этот файл​ сделать поиск по​ помощью справа от​​ «Сообщение об ошибке».​​ хорошая, но как​ на ЕК) и​При работе с перечнем​ правил Проверки данных нельзя​нет​ дальше начинаются серьезные​Список (List)​gling​​ 2​​ ‘If InStr(1, UCase(Лист1.Cells(i,​TextBox1 на TextBox2;​ на столбец A​ \ 48Очень большая​ и у получателя​

    Как собрать поисковые подсказки для сайта – вручную и через сервисы

    Подсказки – варианты поисковых запросов, которые предлагает Google и «Яндекс» при вводе основного запроса. Поисковые подсказки формируются на основе реальных запросов пользователей. Например, для фразы «купить кроссовки» подсказкой будет «купить кроссовки спб женские».

    В Google и «Яндексе», соцсетях, рассылках, на видеоплатформах, у блогеров

    Что такое LSI фразы, и чем они отличаются от подсказок

    LSI-фразы – похожие по смыслу и околотематические словосочетания. Эти фразы и слова помогают поисковым роботам правильно понимать тематическое содержание текста. К примеру, для того же поискового запроса «купить кроссовки» примером LSI-фразы будет «улучшенная амортизация». Как видите, ни о каких синонимах речи вообще не идет.

    Поисковые подсказки для одного и того же запроса имеют разный интент (намерение, которое пользователь вкладывает в поисковую фразу). Но их можно распределить по кластерам (смысловым группам). У LSI-фраз интент и кластеры отсутствуют.

    Пример LSI-фраз и поисковых подсказок

    LSI-семантика – это все семантически близкие главному ключу фразы и слова. Сюда относятся: околотематические, релевантные, синонимичные слова. Это и те слова, которые пользователи поиска указывают вместе с главным ключом.

    LSI-семантика может включать в себя поисковые подсказки. Вот как такая семантика будет выглядеть для запроса «построить дачу»:

    LSI-семантика в «Вордстате»

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

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

    Поисковые подсказки представляют собой вариации первоначальной поисковой фразы.

    Сбор поисковых подсказок

    Не все варианты в левом столбике являются поисковыми подсказками

    Как определяется вес LSI-слов и поисковых подсказок

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

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

    Зачем собирать поисковые подсказки и LSI-фразы

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

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

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

    Для наглядности рассмотрим пример некачественного SEO-текста (без LSI):

    Пример некачественного SEO-текста

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

    А вот так выглядит текст, который можно построить из нескольких поисковых подсказок, околотематических фраз (всё это можно назвать LSI-семантикой):

    Качественный SEO-текст с LSI-семантикой

    Продающих ключей нет, а полное раскрытие темы достигается благодаря второстепенным словам, задающим тематику главной фразы – «тонировочные пленки»

    Обратите внимание на текст выше: в нем присутствует большое количество дополнительной информации. Хотя и этот вариант нельзя назвать экспертным, он гораздо лучше, чем простой SEO-текст.

    Лучше не гнаться за идеальными параметрами тошноты, водности, вхождений, а просто сделать текст по-настоящему полезным и экспертным. Наличие узкоспециализированных LSI-фраз на странице – один из индикаторов экспертности контента для поисковика

    Если текст пишет эксперт, то вы автоматически получите множество LSI-фраз. Эксперт, если он знает, о чем пишет, полноценно раскроет тему и употребит все специализированные слова по теме, которые должны быть в тексте. Не нужно вписывать их специально, как в классическом SEO.

    Сбор поисковых подсказок при помощи Google и «Яндекс»

    Чтобы найти подсказки для единичных поисковых фраз, достаточно воспользоваться возможностями Google и «Яндекс».

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

    Поисковые подсказки Google

    Поисковые подсказки Google по запросу «купить дачу». Регион – Москва

    А это поисковые подсказки «Яндекса»:

    Поисковые подсказки «Яндекс»

    Поисковые подсказки «Яндекс» по запросу «купить дачу». Регион – Москва

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

    «Вордстат» (он же «Подбор слов»)

    Сервис «Яндекса» незаменим для ручного сбора поисковых подсказок. Просто введите ключ в поисковой строке:

    Поисковые подсказки «Яндекс»

    Запросы, похожие на «купить дачу» – это разная семантика, часть из нее и есть поисковые подсказки

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

    Поисковые подсказки – Яндекс.Вордстат

    Доступны данные по показам только для десктопов / мобильных устройств / только телефонов / только планшетов

    Можно ознакомиться с историей популярности каждой подобранной подсказки:

    Как пользоваться «Яндекс.Вордстат» – история запросов

    История запросов показывает волнообразную популярность фразы

    Полезными будут и данные по регионам:

    Как пользоваться «Яндекс.Вордстат» – региональность запросов

    Самая большая популярность – в Москве и Московской области

    Сервис полностью бесплатный.

    Продвижение сайта: 69 шагов, которые позволят вам выйти в топ

    Как увеличить трафик: 60 способов, которые взорвут вашу посещаемость

    Как зарабатывать на блоге: полный список способов монетизации

    Сбор поисковых подсказок и LSI-фраз при помощи сервисов

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

    Rush Analytics

    Достоинство сервиса в том, что он умеет собирать поисковые подсказки не только из Google и «Яндекса», но и из YouTube. В его составе есть инструмент «Сбор подсказок», позволяющий за пару минут собрать поисковые подсказки для любого ключа:

    Сервисы для сбора поисковых подсказок – Rush Analytics

    Найти поисковые подсказки поможет инструмент «Сбор подсказок» Rush Analytics

    Регистрируемся в сервисе и создаем новую задачу:

    Сервисы для сбора поисковых подсказок

    Для сбора поисковых подсказок нужно создать новую задачу

    Указываем название задачи (любое) и выбираем источник поисковых подсказок – Google или Yandex:

    Сервисы для сбора поисковых подсказок

    Выбираем поисковую систему для сбора подсказок + ГЕО запроса

    По желанию добавляем перебор символов алфавита. Это влияет на суммарное число собранных фраз:

    Сервисы для сбора поисковых подсказок

    3 единицы – наиболее глубокий вариант парсинга (настраивается в пункте меню «Глубина парсинга»)

    Вот подробное объяснение всех пяти вариантов перебора:

    • «ключевое слово» – подсказки по указанному ключу;
    • «ключевое слово » – то же самое, но с пробелом после ключа;
    • «ключевое слово [a-z]» – после пробела будут подставлены все буквы выбранного алфавита;
    • «ключевое слово [a-я]» – после пробела будут подставлены все буквы русского алфавита;
    • «ключевое слово [0-9]» – после пробела будут подставлены все цифры.

    На следующем шаге указываем ключи – эту семантику вы ищете сами, на основе «Вордстат», например. При необходимости – вносим стоп-слова:

    Сервисы для сбора поисковых подсказок

    Ключи можно добавить вручную или загрузить файлом

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

    Сбор поисковых подсказок

    Поисковые подсказки по фразе «купить дачу». Источник: Google и «Яндекс». Регион – Москва

    Стартовый тариф обойдется в 500 рублей за месяц использования.

    Serpstat

    В Serpstat есть целый отчет – «Поисковые подсказки»:

    Cбор поисковых подсказок – сервис Serpstat

    Отчет по поисковым подсказкам находится в разделе «SEO-анализ»

    Cбор поисковых подсказок – сервис Serpstat

    На бесплатном тарифе доступны только 10 случайных подсказок

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

    Сервис ищет поисковые подсказки как из Google, так и из «Яндекса».

    Стартовый тариф обойдется в 69 $ за месяц.

    Arsenkin Tools

    Сервисы Александра Арсёнкина известны многим оптимизаторам. Для сбора поисковых подсказок и тематических слов там есть 2 инструмента. Сперва рассмотрим «Парсинг подсветок Yandex»:

    Cбор поисковых подсказок – сервис Arsenkin Tools

    Парсинг подсветок Yandex в Arsenkin Tools

    Парсинг подсветок Yandex

    Парсинг подсветок Yandex позволяет копировать весь топ-50 поисковой выдачи «Яндекса». Подсветки – слова из сниппетов, выделенные болдом (жирным), а также – дополнительные слова (их еще называют словами, задающими тематику). Таким образом, «подсветки» – это не совсем LSI, но LSI-слова могут встречаться в «подсветках».

    Вернемся к сервису. При необходимости можно установить глубину проверки и топ-10 или топ-20. За один раз можно указать максимум 50 поисковых фраз. Доступен выбор региона и поисковой системы.

    Переходим к подсказкам. Для их добычи Арсёнкин приготовил «Сбор поисковых подсказок в Яндексе, Google и YouTube».

    Сбор поисковых подсказок в Яндексе, Google и YouTube

    У инструмента есть дополнительные возможности:

    1. Перебор символов (по аналогии с Rush Analytics),
    2. Возможность расширенного парсинга по типам подсказок (местные подсказки, подсказки-отзывы, вопросительные подсказки, запросы со словом «купить»).
    3. Можно указать глубину (тщательность) парсинга. 1 – только базовые ключи, 2 – более широкий сбор, за счет включения средне- и низкочастотной семантики, 3 – самый полный метод сбора.

    Парсер поисковых подсказок Arsenkin выделяется наличием дополнительных настроек

    Благодаря инструменту Арсёнкина можно за считанные секунды собрать подсказки не только из «Яндекса», но и из Google, а также YouTube:

    Cбор поисковых подсказок – сервис Arsenkin Tools

    Поисковые подсказки для фразы «построить дачу». Регион – Москва

    Стартовый тариф сервиса обойдется в 549 рублей за месяц использования.

    JustMagic

    «Акварель-генератор» – инструмент, позволяющий находить LSI-фразы и поисковые подсказки в два клика. Выбираем поисковую систему (поддерживается Google и «Яндекс):

    Cбор поисковых подсказок – сервис JustMagic

    Указываем поисковую систему, язык запроса и вставляем проверяемые фразы

    Преимущество «Акварель-генератора» в том, что сервис позволяет проверить до 500 фраз за один раз.

    Фразы даже для одного ключа «Акварель-генератор» искал довольно долго – более минуты. Зато здесь мы бесплатно получили самый большой список околотематических слов по сравнению со всеми сервисами, которые мы разбирали сегодня:

    Cбор поисковых подсказок – сервис JustMagic

    Результат задачи для фразы «построить дачу»

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

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

    Key Collector

    Мощный инструмент для составления семантического ядра и дальнейшей оптимизации. Понять масштаб Key Collector можно просто взглянув на его интерфейс:

    Интерфейс Key Collector

    Интерфейс Key Collector

    Вот основные возможности инструмента:

    1. выявляет сложность ключа (она же конкурентность);
    2. дает рекомендации по созданию перелинковки;
    3. помогает определять конкурирующие домены;
    4. выявляет сезонный фактор;
    5. кластеризует любые запросы;
    6. собирает подсказки.

    Key Collector имеет один из лучших парсеров, который я видел в таких сервисах. Есть поддержка прокси. А еще можно определять ориентировочную цену ключей, анализировать их популярность, делать массовый съем позиций существующих страниц.

    Удобно работать с группами фраз – в Key Collector для этого есть специальный раздел и несколько инструментов.

    Но сейчас нас интересуют только поисковые подсказки.

    1. Открываем вкладку «Парсинг»:
    1. Для быстрого сбора подсказок нужно кликнуть по этой иконке:
    1. Теперь указываем, откуда именно собираем подсказки: Yandex, Google, Mail.ru. Подтверждаем выбор.
    2. Откроется новое окно. Здесь нужно добавить поисковые фразы в активную группу:
    1. Нажимаем «Далее» и запускаем парсер. Ждать можно от нескольких секунд до нескольких минут (смотря сколько у вас фраз):

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

    Как собирать поисковые подсказки в Key Collector

    Лицензия обойдется в 2200 рублей (навсегда).

    Заключение

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

    Как часто обновлять и проверять подсказки? Чем чаще, тем лучше. Хотя бы 2 раза в месяц делать это точно не помешает. Так вы сможете вовремя заметить тренды и отразить их в своем контенте.

    Читать:
    Hacktool win32 patcher что это

Related Posts