Excel поиск по всем листам формула

Хитрости »

23 Август 2013              133865 просмотров


ВПР с поиском по нескольким листам

Скачать файл с исходными данными, используемый в видеоуроке:

  ВПР по всем листам (43,0 KiB, 24 297 скачиваний)


Если необходимо найти какое-либо значение в большой таблице очень часто применяется функция ВПР. Но ВПР работает только с одной таблицей и нет никакой возможности средствами самой функции просмотреть искомое значение на нескольких листах. Если поиск необходимо осуществить только по двум листам, то можно схитрить:
=ВПР(A2;ЕСЛИ(ЕНД(ВПР(A2;Лист2!A1:B10;2;0));Лист3!A1:B10;Лист2!A1:B10);2;0)
начиная с версии Excel 2007 можно так же использовать функцию ЕСЛИОШИБКА(IFERROR):
=ЕСЛИОШИБКА(ВПР(A2;Лист2!A1:B10;2;0);ВПР(A2;Лист3!A1:B10;2;0)
подробнее преимущества функции ЕСЛИОШИБКА(IFERROR) разбирались в этой статье: Как в ячейке с формулой вместо ошибки показать 0

А когда листов больше? Можно плодить ЕСЛИ(IF) и ЕСЛИОШИБКА(IFERROR). Но это во-первых совсем не наглядно и во-вторых очень непрактично, т.к. при добавлении или удалении листов придется править всю мега-формулу. Да и при работе с количеством листов более 10 есть большой шанс, что длина формулы выйдет за пределы допустимой.

Есть небольшой прием, который поможет искать значение в указанных листах. Для начала необходимо создать на листе список листов книги, в которых искать значение. В приложенном к статье примере они записаны в диапазоне $E$2:$E$5.
=ВПР(A2;ДВССЫЛ(«‘»&ИНДЕКС($E$2:$E$5;ПОИСКПОЗ(ИСТИНА;СЧЁТЕСЛИ(ДВССЫЛ(«‘»&$E$2:$E$5&»‘!A1:A50″);A2)>0;0))&»‘!A:B»);2;0)

Формула вводится в ячейку как формула массива — т.е. сочетанием клавиш Ctrl+Shift+Enter. Это очень важное условие. Если формулу не вводить в ячейку как формулу массива, то необходимого результата не получить.
Попробую кратенько описать принцип работы данной формулы.

Перед чтением дальше советую скачать пример:

  ВПР по всем листам (43,0 KiB, 24 297 скачиваний)

ДВССЫЛ нам нужна для преобразования текстового представления ссылок на листы в действительные. Подробно не буду останавливаться на принципе работы ДВССЫЛ, просто приведу этапы вычислений:

СЧЁТЕСЛИ(ДВССЫЛ(«‘»&$E$2:$E$5&»‘!A1:A50»);A2)

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

СЧЁТЕСЛИ({1;0;0;0};A2)

. Поэтому следующий блок

ПОИСКПОЗ(ИСТИНА;СЧЁТЕСЛИ(ДВССЫЛ(«‘»&$E$2:$E$5&»‘!A1:A50»);A2)>;0;0)

работает именно с этим:

ПОИСКПОЗ(ИСТИНА;СЧЁТЕСЛИ({1;0;0;0};A2)>0;0)

Читать подробнее про СЧЁТЕСЛИ

в результате чего мы получаем позицию имени листа в массиве имен листов $E$2:$E$5, с помощью ИНДЕКС получаем имя листа и подставляем это имя уже к ДВССЫЛ(INDIRECT), а она в ВПР:
=ВПР(A2;ДВССЫЛ(«‘»&ИНДЕКС({«Астраханьоблгаз»:»Липецкоблгаз»:»Оренбургоблгаз»:»Ростовоблгаз»};1)&»‘!A:B»);2;0) =>
=ВПР(A2;ДВССЫЛ(«‘Астраханьоблгаз’!A:B»);2;0) =>
=ВПР(A2;’Лист2′!A:B;2;0)

Что нам и требовалось. Теперь если в книгу будут добавлены еще листы, то необходимо будет всего лишь дописать их к диапазону $E$2:$E$5 и при необходимости этот диапазон расширить. Так же можно задать диапазон $E$2:$E$5 как динамический и тогда необходимость в правке формулы отпадет вовсе.

Используемые в формуле величины:
A2 — ссылка на ячейку с искомым значением. Т.е. указывается то значение, которое требуется найти на листах.

$E$2:$E$5 — диапазон с именами листов, в которых требуется осуществлять поиск указанного значения (A2).

Диапазон «‘!A1:A50» — это диапазон, в котором СЧЁТЕСЛИ ищет совпадения. Поэтому указывается только один столбец данных. При необходимости следует расширить или изменить. Можно указать так же «‘!A:A», но при этом следует учитывать, что указание целого столбца может привести к значительному увеличению времени выполнения функции. Поэтому имеет смысл просто задать диапазон с запасом, например «‘!A1:A10000».

«‘!A:B» — диапазон для аргумента ВПР — Таблица. В первом столбце этого диапазона на каждом из указанных листов ищется указанное значение (A2). При нахождении возвращается значение из указанного столбца. Читать подробнее про ВПР>>

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

Скачать пример:

  ВПР по всем листам (43,0 KiB, 24 297 скачиваний)

Так же можно искать по нескольким листам разных книг, а не только по нескольким листам одной книги. Для этого необходимо будет в списке листов вместе с именами листов добавить имена книг в квадратных скобках:[Книга1.xlsb]Май
[Книга1.xlsb]Июнь
[Книга2.xlsb]Май
[Книга2.xlsb]Июнь
Перечисленные книги обязательно должны быть открыты

ВАЖНО! если в результате записи формулы получаете ошибку #ССЫЛКА!(#REF!), то скорее всего файл, из которого получаете данные, сохранен в формате xlsx(xlsm и т.п.), который содержит более 1млн. строк. А файл с формулой в раннем формате xls. Чтобы ошибки не было сохраните файл с формулой тоже в новом формате(Сохранить как — Книга Excel (.xlsx)), закройте и откройте заново. Формула должна заработать, если записана правильно.
Либо укажите фиксированный диапазон для ВПР, с количеством строк не более 65536. Вместо «‘!A:B» должно получиться так: «‘!A1:B60000»


Решил добавить простенькую функцию пользователя(UDF) для тех, кому проще «общаться» с VBA, чем с формулами. Функция ищет указанное значение во всех листах книги, в которой записана(даже в скрытых):

Function VLookUpAllSheets(vCriteria As Variant, rTable As Range, lColNum As Long, Optional iPart As Integer = 1) As Variant
    Dim rFndRng As Range
    If iPart <> 1 Then iPart = 2
    For i = 1 To Worksheets.Count
        If Sheets(i).Name <> Application.Caller.Parent.Name Then
            With Sheets(i)
                Set rFndRng = .Range(rTable.Address).Resize(, 1).Find(vCriteria, , xlValues, iPart)
                If Not rFndRng Is Nothing Then
                    VLookUpAllSheets = rFndRng.Offset(, lColNum - 1).Value
                    Exit For
                End If
            End With
        End If
    Next i
End Function

Функция попроще, чем ВПР — последний аргумент(интервальный_просмотр) выполняет несколько иные, чем в ВПР функции. Хотя полагаю немногие его используют в классическом варианте.
rTable — указывается таблица для поиска значений(как в стандартной ВПР)
vCriteria — указывается ссылка на ячейку или текстовое значение для поиска
lColNum — указывается номер столбца в таблице rTable, значение из которого необходимо вернуть — может быть ссылкой на столбец — СТОЛБЕЦ().
iPart — указывается метод просмотра. Если не указан, либо указана цифра 1, то поиск осуществляется по полному совпадению с ячейкой. Но в таком варианте допускается применение подстановочных символов * и ?. Если указано значение, отличное от 1, то совпадение будет отбираться по части вхождения. Если в vCriteria указать «при», то совпадением будет считаться и слово «прибыль»(первый буквы совпадают) и «неприятный»(в середине встречается «при»). Но в этом случае знаки * и ? будут восприниматься «как есть». Может пригодиться, если в искомом тексте присутствуют символы звездочки и вопросительного знака и надо найти совпадения, учитывая эти символы.

Так же см.:
Что такое формула массива
Как найти значение в другой таблице или сила ВПР
Как подсчитать количество повторений
Динамические именованные диапазоны


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

  Плейлист   Видеоуроки


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



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

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

Поиск в Microsoft Excel

​Смотрите также​Dim iFirstAddress As​ на регистр не​ find — это​ примитивная фильтрация, но​ установлено On Error​ Dim col As​ помощи.​ 2) = iRng.Address(0,​Dim iFoundSht As​ и без формы…​ то должно возвращаться​ нет​Есть несколько таблиц​Откроется окно, в​ выше, поиск ведется​ этого курсор перейдет​

​В документах Microsoft Excel,​ String, iSecondAddress As​

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

​ смотрел при сравнении​ довольно длинный процесс.​ жутко неудобно, особенно​ Resume Next -​ Object, arr, el​В файлике описана​ 0)​ Worksheet​shurun999​

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

​ #Н/Д​dendy_81​ товаров разных поставщиков​ правом верхнем углу​ по порядку построчно.​ на ту ячейку​ которые состоят из​ String​ по Like.​

  1. ​ Тут прозвучало предложение​​ когда ищешь по​​ т.е. продолжить работу​​ arr = Split(«D​​ проблемма.​iLastRow = iLastRow​Dim FirstAddress As​​: какой фаил?​​В самый конец​: класс! формула сокращена​​ с одинаковыми полями,​​ которого, есть строка​ Переставив переключатель в​ Excel, по записи​ большого количества полей,​​Dim iFoundRng As​​Lubaxa​

    Переход к поиску в Microsoft Excel

  2. ​ по массиву… Но,​ всем страницам и​ процедуры, но в​ E G H​davaispoem​ + 1​​ String​​shurun999​​ вставить:​​ до минимума! Спасибо​ расположенных на разных​​ поиска. В этой​​ позицию​ которой пользователь сделал​ часто требуется найти​ Range​: Спасибо огромное HUGO121!!!​​ если честно, я​​ по нескольким критериям…​​ коллекцию ничего не​​ J K M​

    Обычный поиск в Microsoft Excel

  3. ​: в другом формате​​Set iRng =​​Dim TextToFind As​: вот фаил​If rFndRng Is​ вам за помощь​ листах.​

    ​ строке пишем поисковую​«По столбцам»​ щелчок.​ определенные данные, наименование​If Len(ComboBox2.Value) =​ были другие дела,​ с ними вообще​ Надо сделать общий​ добавляется), которая и​ N») On Error​sva​

    ​ .FindNext(iRng)​ Variant​AntikBantik​ Nothing Then VLookUpAllSheets​ (и Alexander_V тоже).​Вид: Артикул/Наименование/Цена и​ фразу, слова. Мы​, можно задать порядок​Если у вас довольно​ строки, и т.д.​ 1 Then MyLeight​ поэтому добралась разбираться​ дела не имела​ поиск по БД.​ отлавливается Err, по​ Resume Next For​: Формула для плана​Loop While iRng.Address​Dim iLastRow As​:​

    ​ = «#N/A»​ Вставил в свою​ т.д.​​ написали «посчитать стаж».​​ формирования результатов выдачи,​

    Результат обычного поиска в Microsoft Excel

    ​ масштабная таблица, то​ Очень неудобно, когда​ = 8​ со всем только​ и тем более​

  4. ​ Я, если честно​ этому признаку и​ i = 9​=ИНДЕКС(ДВССЫЛ(«‘»&C11&»‘»&»!$C$7:$C$10″);ПОИСКПОЗ(Факт!B11;работы;0))​​ <> FirstAddress​​ Long​shurun999​End Function​ базу — работает!​Требуется составить заказ​ Во время ввода​ начиная с первого​ в таком случае​ приходится просматривать огромное​If Len(ComboBox2.Value) =​ в эти выходные…​ смутно представляю, как​ с Visual Basic​ определяется повторение значения​ To 57 Step​sva​Else​Dim iShtName As​, нужно вытащить данные​или в начало​ Только вот функция​ на отдельном листе.​ поисковой фразы сразу​ столбца.​

Найти всё в Microsoft Excel

Способ 2: поиск по указанному интервалу ячеек

​ не всегда удобно​ количество строк, чтобы​ 2 Then MyLeight​ Вчера отредактировала, запустила​ можно записать поиск​ на «Вы» -​ ячейки.​ 2 Set col​: Формула для остатка​MsgBox «Значение «​ String​ со всех листов​Dim rFndRng As​ ищет неполное совпадение​

  1. ​ Чтобы при вводе​ идет поиск.​В графе​

    Выделение интервала в Microsoft Excel

  2. ​ производить поиск по​ найти нужное слово​​ = 9​​ — все о.к.​ с помощью массива….​ составляла только небольшие​​na4ik​​ = New Collection​ (массивная, вводить Ctrl+Shift+Enter)​ & TextForFind &​Set iFoundSht =​ которые есть в​ Range​ по одному или​ номера в поле​

Поиск по интервалу в Microsoft Excel

Способ 3: Расширенный поиск

​Получился такой результат.​«Область поиска»​ всему листу, ведь​ или выражение. Сэкономить​Application.ScreenUpdating = False​ работает!!!! Еще раз​Hugo121​ расчетные программки. Перерыла​: Точно угадали и​

​ For Each sh​=E11-СУММ(ЕСЛИ((C11=$C$11:C11);ЕСЛИ((B11=$B$11:B11);$D$11:D11)))​ » не найдено!»,​ Sheets(«Поиск») ‘лист «Поиск»​ файле?​VLookUpAllSheets = «#N/A»​ нескольким символам, и​ «Артикул» осуществлялся поиск​Нажимаем на нужный документ,​определяется, среди каких​ в поисковой выдаче​ время и нервы​ ‘обновление экрана wykl​ спасибо!!!​: Ну цикл по​ весь интернет и​ объяснили.​ In Worksheets For​davaispoem​ 48, «Ошибка»​ присваиваем переменной​shurun999​А уже юзер​ отображает первое найденное​ данных по всем​ он откроется.​ конкретно элементов производится​ может оказаться огромное​ поможет встроенный поиск​With Columns(1)​

Результат поиска в Microsoft Excel

​Была мысль сделать​ массиву не сложный:​ даже не могу​Только добавлю -​ Each el In​: Роман, здравствуйте! Ваша​

  1. ​End If​​iFoundSht.Range(«A5:AA5000»).Clear ‘очищаем диапазон​​: нужно при вводе​ проверять должен на​​ значение (ввёл «22»,​​ листам, и занесение​

    Переход в параметры поиска в Microsoft Excel

  2. ​Внимание!​ поиск. По умолчанию,​ количество результатов, которые​ Microsoft Excel. Давайте​Set iFoundRng =​ также поиск по​Sub tt() Dim​ понять, с чего​ если добавлять​

    Параметры поиска по умолчанию в Microsoft Excel

    ​ arr t =​​ формула для плана​​End With​​ ячеек на листе​​ номера телефона открывалась​ ЕНД() или еслиошибка()​ а нашла «220156»).​ найденного в остальных​Чем точнее укажем​ это формулы, то​ в конкретном случае​ разберемся, как он​ .Find(ComboBox2.Value & «*»​ 2 критериям, но​ a(), i&, s$​ начинать, какие функции​col.Add t​ sh.Range(el & i).Value​ работает замечательно, спасибо,​Next​ Поиск​ вся о нем​ и подставлять что​​ А мне надо​​ поля.​ место хранения документа,​ есть те данные,​ не нужны. Существует​ работает, и как​ & Right(ComboBox1.Value, 2))​ думаю, что это​ a = Sheets(«2006»).[a1].CurrentRegion.Value​ использовать и т.д.​то в коллекцию​

    Настройки поиска в Microsoft Excel

    ​ If Len(t) Then​ все у меня​End Sub​’TextToFind = Application.InputBox(«Введите​​ информация, а поиск​​ ему нравится -​ найти значение по​​Можно ли это​​ тем быстрее произойдет​ которые при клике​ способ ограничить поисковое​

    Область поиска в Microsoft Excel

    ​ им пользоваться.​​If Not iFoundRng​​ не понадобится. Удачи!​ For i =​ Подскажите, пожалуйста…​ добавятся все кого​ col.Add t, t​ получилось, а вот​по вашим словам​​ строку для поиска»​​ происходил по всем​ пробел, пустую строку,​ всем символам, по​ сделать с помощью​

    Содержимое поиска в Microsoft Excel

    ​ поиск документа.​​ по ячейке отображаются​​ пространство только определенным​Скачать последнюю версию​ Is Nothing Then​Medvedoc​ 1 To UBound(a)​Идея такова: БД​ положим, без отбора​ If Err Then​ в формуле по​ я могу оставить​ & Chr(13) &​ листам​ 0 и т.п.​ количеству и по​ функции ВПР()? Если​Например, мы указали​ в строке формул.​ диапазоном ячеек.​ Excel​iFirstAddress = iFoundRng.Address​: Здравствуйте форумчане! =)​ If a(i, 4)​ в Excel на​ уникальных.​ MsgBox sh.Name &​​ остатку заложены два​​ только последнюю часть​​ Chr(13) & «Например:​​раньше сам делал​dendy_81​ их порядковому расположению​ можно, то как​ такой путь –​​ Это может быть​​Выделяем область ячеек, в​

    Область поиска в программе Microsoft Excel

    ​Поисковая функция в программе​Do​ Как сделать поиск​​ = Sheets(1).[a1].Value Then​​ ~ 10 листах​

    Переход к формату поиска в Microsoft Excel

    ​Т.е. объект Collection​ «-» & el​ условия, выбор по​ данного кода?​ Lexus или Lexus​ поиск, но давно​: Извиняюсь, что долго​ (по артикулу). Т.е.,​ задать диапазон листов?​ «Этот компьютер» -​ слово, число или​ которой хотим произвести​ Microsoft Excel предлагает​

    Формат поиска в Microsoft Excel

    ​If Len(iFoundRng.Value) =​ по листам всей​ s = a(i,​ по годам (много​ таки может содержать​​ & i &​​ адресу и выбор​

    Переход к выбору ячейки для установки формата в Microsoft Excel

    ​Юрий М​ 350″, «Поиск», «Lexus​ это было, не​ не появлялся (нэта​ если я ввел​Или же нужно​

    Выбор ячейки для установки формата в Microsoft Excel

    ​ «Документы» (мы помним,​ ссылка на ячейку.​ поиск.​​ возможность найти нужные​​ MyLeight Then​

    Установка формата поиска в Microsoft Excel

    ​ книги? Чтобы на​ 1) & «|»​ колонок). Скажем какая-то​ одинаковые элементы​ «-» & t:​ по названию работы,​: «Убрал» жёлтую ячейку,​ 350″)​ помню уже.​ не было).​ «200543», то и​ писать макрос для​ что документ находится​ При этом, программа,​Набираем на клавиатуре комбинацию​ текстовые или числовые​ListBox1.AddItem iFoundRng &​ титульном листе была​

    Поиск по отдельным словам в Microsoft Excel

  3. ​ & a(i, 2)​ форма на первом​Hugo121​​ Err.Clear Next Next​​ если одно из​​ удалил кнопку, данные​​TextToFind = iFoundSht.Range(«B2»)​Hugo121​

Запуск расширенного поиска в Microsoft Excel

​Спасибо всем участникам​ найти должна только​ поиска по всем​ в папке «Документы»)​ выполняя поиск, видит​ клавиш​ значения через окно​ «|» & iFoundRng.Offset(0,​ ячейка для ввода​ & «|» &​ листе, где вводятся​: Даже если занесены​ Next End Sub​ них совпадает, то​ выводятся в одну​If TextToFind =​: куда?​ за полезную информацию!​

​ значение «200543». Что​

lumpics.ru

Поиск документа Excel по содержимому текста.

​ листам книги?​​ – «Excel» (в​ ​ только ссылку, а​​Ctrl+F​​ «Найти и заменить».​​ 1).Value​ слова для поиска​ a(i, 3) &​
​ поисковые критерии. И​
​ одинаковые значения то​ ​Внимание! Код чуть​
​ формула берет значение​ ячейку.​ «» Or TextToFind​где?​ Особенно The_Prist за​ надо поменять в​Serge​ папке «Документы» есть​ не результат. Об​
​, после чего запуститься​ Кроме того, в​End If​ и кнопка «поиск».​ «|» & a(i,​ на этом же​ ключи будут разные….​ изменил — и​ в сумму, но​Medvedoc​
​ = False Then​​А если ранее​ полную и содержательную​
​ функции? И как​
​: Можно.​ две папки «Word»​ этом эффекте велась​ знакомое нам уже​
​ приложении имеется возможность​Set iFoundRng =​ Поиск слова должен​ 4) MsgBox s​ листе выводятся​Вот например -​ сразу нашёл одну​ там нужно сделать​: спасибо большое! =)​ Exit Sub ‘если​ уже делали поиск​ функцию, а Лузеру​ в функции, если​Alexander_V​
​ и «Excel». Мы​ речь выше. Для​ окно​ расширенного поиска данных.​ .Columns(1).FindNext(iFoundRng)​ происходить по всем​
​ Sheets(1).[B1].Value = s​
​все​ ​ сколько будет единиц​ накладку: 4 курс-M51-проф.​​ так чтобы совпадало​
​ я немного подправил​ ничего не ввели​ — то ведь​ за её доработку​ при поиске не​: Вот ссылка​ помним, что документ,​ того, чтобы производить​
​«Найти и заменить»​ ​Простой поиск данных в​
​iSecondAddress = iFoundRng.Address​ листам книги и​ ​ End If Next​
​найденные результаты (строки​ в коллекции и​ Оніпко В.В.​ одновременно два условия​ ваш макрос под​ — Выход!​ нет проблем открыть​ и «#N/A».​
​ найдено совпадений, оставить​(топик третий снизу)​ который мы ищем,​ поиск именно по​. Дальнейшие действия точно​ программе Excel позволяет​Loop While iSecondAddress​ выводить полученные результаты​ End SubВ А1​ по всем колонкам)​ где будет ошибка?​Hugo121​​ (адрес и работа),​ свой шаблон, чтобы​TextToFind = Trim(TextToFind)​ справку и освежить​После этой темы​ строки пустыми или​Guest​ находится в конкретной​ результатам, по тем​ такие же, что​ ​ найти все ячейки,​
​ <> iFirstAddress​ в определенное поле​ первого листа пишите​ в виде таблицы.​Sub tt() Dim​: Огромное спасибо, вы​ а то суммирует​ вместо адреса ячейки​ ‘убираем начальные и​ знания? Там всё​ у меня появился​ заполнить пунктирами (вместо​: Посмотрел я файл​ папке «Excel»).​ данным, которые отображаются​ и при предыдущем​ в которых содержится​Else: MsgBox «Нет​ или в виде​
​ имяфамилию, выполняете код.​ Поиск надо составить​ col As New​ очень помогли…буду теперь​ все подряд…​ выводилось содержимое самой​
​ конечные пробелы​ предельно ясно, и​ интерес к изучению​ нулей)?​ с примером функции.​Если документ находится​ в ячейке, а​ способе. Единственное отличие​ введенный в поисковое​ данных»​ гипрессылки переходить на​Т.к. может быть​ по 4-5 критериям​ Collection On Error​ разбираться з кодом​
​помогите пожалуйста поправить…​ ячейки =)​Application.ScreenUpdating = False​ пример кода есть.​ VBA. Буду мыслить!​ytk5kyky​ Получается, в ней​ на флэшке, то​ не в строке​ будет состоять в​ окно набор символов​End If​ требуемую страницу.​ несколько совпадений -​ (или колонкам).​ Resume Next col.Add​А подскажите еще​

excel-office.ru

Поиск данных по всем листам.

​na4ik​​Medvedoc​ ‘отключаем обновление экрана​
​shurun999​Kilrex​: Может тогда поменять​ нужно описывать каждый​ указываем (выделяем) флэшку.​
​ формул, нужно переставить​ том, что поиск​
​ (буквы, цифры, слова,​End With​Windows 7​ цикл гоним до​сложность еще заключается​ 1, «1» col.Add​ пожалуйста, какую строку​: В VB почти​: а как сделать,​
​For Each iSheet​: это было лет​: А что еще​ местами порядок vCriteria​ лист, где надо​
​ Сначала, естественно, вставим​ переключатель из позиции​ выполняется только в​ и т.д.) без​

​Application.ScreenUpdating = True​​: Развлекайтесь. (см. файл)​

​ конца.​​ в том, что​

​ 1 col.Add 1,​

​ и куда прописать,​​ нечего не шарю…говорю​ чтобы результаты поиска​ In ThisWorkbook.Worksheets ‘поиск​ 10 назад.​ нужно прописать в​ и rTable? И​
​ искать. (=VlookupNumberX($B12;E$9;0;Таблица1!$A$1:$E$15;Таблица2!$A$1:$E$15;Таблица3!$A$1:$E$15))​ флэшку в ноутбук.​«Формулы»​ указанном интервале ячеек.​ учета регистра.​
​ ‘обновление экрана wkl​kovax​В Вашем случае​ в некоторых местах​
​ «1» On Error​ что бы эти​ сразу)​ выводились в одной​ по листам​в окно поиска,а​ коде функции VLookUpAllSheets​

​ еще добавить псевдо​​А это очень​ : )​в позицию​Как уже говорилось выше,​Находясь во вкладке​End Sub​
​: всё здорово, но​ могут быть трудности​ БД одному названию​ GoTo 0 col.Add​ ячейки выделилась еще​
​Проблема: нужно сделать​ ячейке, а не​If iSheet.Name <>​ в соседнем окне​
​ чтобы она показывала​ «интервальный просмотр», который​ длинная формула (у​Второй вариант.​«Значения»​ при обычном поиске​«Главная»​
​Юрий М​ вот если на​ с диакритическими знаками​ (или накладной) принадлежит​ 1 col.Add 1,​ например жёлтым цветом?​ поиск ячейки в​ в двух?​ iFoundSht.Name Then​ выводился результат.​
​ сумму трех значений​ будет менять xlWhole/xlPart?​ меня около 15-ти​Поиск книги​. Кроме того, существует​
​ в результаты выдачи​, кликаем по кнопке​

​: Medvedoc, Вы уже​​ листе искомое слово​

​ — их видно​​ несколько строк…. То​ «1» End SubСкажу​na4ik​
​ определенном диапазоне на​
​Юрий М​If iSheet.FilterMode =​Hugo121​ в строке идущих​ytk5kyky​ листов с прайсами​
​Excel по тексту в​ возможность поиска по​

​ попадают абсолютно все​​«Найти и выделить»​ СТОЛЬКО написали, а​ встречается несколько раз,​ только на листе,​ ли можно как-то​ по секрету -​

​: sh.Range(el & i)​​ ВСЕХ листах.​: Какой смысл выводить​ True Then iSheet.ShowAllData​
​: Так и делайте​
​ за искомым значением?​: Я устыдился давать​ товаров).​ ней​ примечаниям. В этом​ ячейки, содержащие последовательный​
​, которая расположена на​ никто ещё не​

​ то выводится ссылка​
​ ну или на​
​ их вписать в​
​ 3, но ошибки​ видишь? Вот её​если можно, укажите​

​ значение, если Вы​​ ‘если на листе​ — там в​В документе 46 листов,​

​ ТЗ и сделал​​Мне надо, наподобие​.​ случае, переключатель переставляем​ набор поисковых символов​

​ ленте в блоке​​ видел Вашего файла.​ всего лишь на​
​ форму можно вывести,​ поиск, то ли​

​ не избежать в​​ и крась. Как​ некоторые комментарии.​ ИМЕННОГО его задали​ установлен автофильтр, то​ опциях можно задать​ и по 5​ сам, чуть иначе.​ функции ВПР(), но​Нам нужно найти​ в позицию​ в любом виде​ инструментов​Medvedoc​ первое встреченное совпадение,​ установив нужный фонт.​ придется все-таки присваивать​ 9 строке!​ — запиши рекордером.​p.s. Вся задача​ в поиске? :-)​ снимаем его​ поиск по всей​ страниц на каждом,​Function VLookUpAllSheets(vCriteria As​ только поиск осуществлять​ книгу Excel, в​«Примечания»​ не зависимо от​«Редактирование»​: так файлик прикреплен​ а как быть​

​Lubaxa​​ каждой название….​Hugo121​Вот так например​ заключается в том​ Впрочем, Вам виднее…​Set iFoundRng =​

​ книге, показывать все.​​ есть ли возможность​ Variant, rTable As​ по всем листам.​

​ которой есть слово​.​ регистра.​. В появившемся меню​ в самом верху​ с остальными?​
​: Спасибо. Буду разбираться….​Помогите, пожалуйста, а​, извините что снова​ — и проорёт,​
​ что бы, создать​Юрий М​ iSheet.Cells.Find(TextToFind, , xlFormulas,​Правда не все​
​ искат ьво всей​ Range, lColNum As​В примере (прикрепленный​ «январь». Пишем это​Ещё более точно поиск​К тому же, в​ выбираем пункт​
​ =) там windows​kovax​А со знаками​ то даже не​ беспокою, но не​ и напишет, и​
​ макрос который проверяет​: Вы мой последний​
​ xlPart)​ связанные данные увидите…​
​ книеге одновременно, а​ Long, Optional XlLookAt​
​ файл), поиск происходит​
​ слово в строке​ можно задать, нажав​ выдачу может попасть​«Найти…»​
​ 7 выложил готовое​: а ещё круто​
​ особых проблем нет.​ представляю с чего​
​ могли бы подсказать​
​ покрасит:​
​ не попадает ли​
​ файл открывали?​
​If Not iFoundRng​
​shurun999​

​ не на каждм​ As String =​

​ по полю «Артикул»​​ поиска (смотрите первый​ на кнопку​ не только содержимое​. Вместо этих действий​ решение, но это​ было бы сделать​ Они нормально воспринимаются,​ начинать и что​ как еще сделать​Dim sh As​ один и тот​Medvedoc​ Is Nothing Then​: как?​ листе отдельно? Ато​ «xlWhole») As Variant​ для таблицы «Прайс»,​ вариант, который мы​«Формат»​ конкретной ячейки, но​ можно просто набрать​ решение выводит в​ возможным поиск по​ если установить правильно​ использовать….​ такую же проверку,​ Worksheet Dim col​ же преподаватель в​: конечно открывал =)​ ‘если нашли​если помнил не​
​ 46 раз просить​’rTable — указывается​ а данные отображаются​ рассмотрели выше).​

​.​​ и адрес элемента,​ на клавиатуре сочетание​ результатах поиска по​ части слова​ язык. На крайний​
​Спасибо.​ ток по аудиториям?​ As Object, arr,​
​ несколько групп на​ мне понравился.​FirstAddress = iFoundRng.Address​ спрашивал бы тут​ его найти одно​

​ таблица для поиска​​ в полях «Наименов»,»кол-во»​Получится такой результат.​При этом открывается окно​ на который она​
​ клавиш​ одному значению с​
​к примеру в​ случай — поправка​образец приложен.​
​пробовал сделать по​
​ el arr =​
​ факультете на одной​Я имел в​
​ ‘запоминаем адрес найденной​

​shurun999​ и тоже както​ значений(как в стандартной​ и «цена».​Третий вариант.​ формата ячеек. Тут​ ссылается. Например, в​

​Ctrl+F​​ каждого листа при​ ячейке написано Вася​ фонтом.​
​Watcher_1​ тому же принципу​ Split(«D E G​ и той же​ виду, что у​ ячейки, чтобы продолжить​: ни кто не​
​ тяжко.​ ВПР)​Alexander_V​Как найти нужный документ​

​ можно установить формат​​ ячейке E2 содержится​.​ наличии на каждом​ Пупкин​Hugo121​: Думаю тут однозначно​ что и проверка​

planetaexcel.ru

Как искать слово в книге excel?

​ H J K​ паре.​ вас текст найдено​ поиск по листу​ поможет с моим​Валерий беляев​’vCriteria — указывается​: Посмотрел я файл​ из открытого документа​ ячеек, которые будут​ формула, которая представляет​После того, как вы​

​ из этих листов​​при вводе в​: Как вариант -​ нужно для каждой​
​ преподавателей, ток задал​
​ M N») On​
​Заранее спасибо​ располагается в столбце​
​Do​ вопросом?​
​: Pasha Ram -​
​ ссылка на ячейку​
​ с примером функции.​Excel.​ участвовать в поиске.​ собой сумму ячеек​

​ перешли по соответствующим​​ по несколько одинаковых​ ячейку пупк находилась​1. сперва обязательно​ строки название!​

Поиск по именам вкладок в Excel?

​ другой массив:​ Error Resume Next​Кой что попытался​ А, а текст​With iFoundSht​Hugo121​

​ ты сам то​​ или текстовое значение​ Получается, в ней​В открытом документе​ Можно устанавливать ограничения​ A4 и C3.​ пунктам на ленте,​ значений =) например​ ячейка содержащая эти​ что-то пишите в​После этого уже​arr = Split(«F​ For i =​ набросать…но ток по​ ячейка в столбце​
​iLastRow = .Cells(.Rows.Count,​: Без формы.​
​ пробовал?​
​ для поиска​
​ нужно описывать каждый​ Excel переходим на​ по числовому формату,​
​ Эта сумма равна​
​ или нажали комбинацию​ на листе имеется​
​ буквы, т.е. ячецка​ пустые J1 шапок​
​ легче будет консолидировать​ I L O​
​ 9 To 57​
​ 1 листу работает(​
​ В. Вот я​
​ 1).End(xlUp).Row ‘определяем последнюю​
​Medvedoc​Ответ:​’lColNum — указывается​ лист, где надо​
​ закладку «Файл» (в​
​ по выравниванию, шрифту,​

Поиск по нескольким листам в одной книге

​ 10, и именно​​ «горячих клавиш», откроется​ два значения в​ с Васей Пупкиным​ обоих листов!​ данные из нескольких​ R») ………….. For​ Step 2 Set​Sub search_main() Dim​ и говорю что​ заполненную строку на​: Как сделать так,​Нажимаешь Ctrl+F​ номер столбца в​

​ искать. (=VlookupNumberX($B12;E$9;0;Таблица1!$A$1:$E$15;Таблица2!$A$1:$E$15;Таблица3!$A$1:$E$15))​​ Excel 2013) или​ границе, заливке и​ это число отображается​ окно​ виде цифры 5,​Medvedoc​2. копируете шапку​ таблиц в одну​ i = 8​

​ col = New​​ rng As Range​ результат поиска выводится​ листе поиск​

​ чтобы по заданному​​В открывшемся окне​

​ таблице rTable, значение​​А это очень​

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

​ по нескольким критериям​​ To 56 Step​ Collection For Each​ ‘ область Dim​ в двух ячейках.​If iLastRow =​ в поисковике значению​
​ нажимаешь «Параметры»​ из которого необходимо​ длинная формула (у​ «Office» в левом​

​ из этих параметров,​​ Но, если мы​
​во вкладке​
​ покажет с этого​ kovax =) если​ на первый лист.​Hugo121​ 2но почему выводит​ sh In Worksheets​ name1 With Worksheets(«1​ А как сделать​

​ 1 Then iLastRow​​ находились все результаты​В открывшихся окошечках​
​ вернуть — может​ меня около 15-ти​ верхнем углу (в​

​ или комбинируя их​​ зададим в поиске​«Найти»​ листа только первое​ слово встретиться два​ Это как понимаете​
​: Думаю можно сделать​ слишком много лишних​

​ For Each el​​ курс») Set rng​
​ так, чтобы он​ = 4 ‘если​

​ на всех листах.​​ выбираешь «В книге»​ быть ссылкой на​ листов с прайсами​

​ Excel 2007).​​ вместе.​

CyberForum.ru

как сделать поиск по всем листам книги?

​ цифру «4», то​​. Она нам и​ значение =)​ раза, то поисковик​ работа разовая.​ так -​ значений…возможно это из​ In arr t​ = .Range(«D12:X11») name1​ был только в​ лист пуст, то​ Приложенный файлик содержит​Вводишь что искать​ столбец — СТОЛБЕЦ()​ товаров).​В появившемся диалоговом​Если вы хотите использовать​ среди результатов выдачи​ нужна. В поле​я нашел другой​ выведет только первое​3. под шапкой​1. заполняете свои​ того что ячейки​ = sh.Range(el &​ = Range(«D11»).Value For​ одной ячейке? Например​ вставлять будем начиная​ макрос, который выводит​Нажимаешь «Найти все»​

​’XlLookAt — Optional.​​Мне надо, наподобие​

​ окне нажимаем на​​ формат какой-то конкретной​

​ будет все та​​«Найти»​ макрос поисковика, где​ найденое значение на​
​ (2 строка) пишите​ 4-5 критериев (можно​ соединенны =​ i).Value If Len(t)​ Each cell In​ в ячейке G?​ с 7-й строки​ результат поиска только​ЗЫ: Это в​ Can be one​ функции ВПР(), но​ функцию «Открыть». Появится​ ячейки, то в​ же ячейка E2.​вводим слово, символы,​
​ отчасти реализовано то,​ странице =) а​ что угодно в​ в любом порядке,​p.s. как можно​ Then col.Add t,​ rng If cell​

​Юрий М​​If iShtName <>​ первого значения листа​ 2007, другого нет​ of the following​ только поиск осуществлять​

​ список последних книг​​ нижней части окна​ Как такое могло​ или выражения, по​ что надо. Но​ как быть с​ соотв. ячейки -​ любые, можно не​ сделать что бы​ t If Err​ = name1 Then​: Вы про какой​ iSheet.Name Then ‘если​

​ и так со​​ — проверить не​ XlLookAt constants: xlWhole​ по всем листам.​

​ Excel, с которыми​

​ нажмите на кнопку​
​ получиться? Просто в​ которым собираемся производить​
​ надо оттуда приспособить​ остальными?​
​ будут отобраны данные​ все), жмёте кнопку.​
​ в сообщение выводило​ Then MsgBox sh.Name​
​ MsgBox («Ошибка») cell.Interior.Color​ файл говорите? Ща​
​ новый прайс-лист​ всей книги. Например,​
​ могу​ or xlPart. Default​

​В примере (прикрепленный​ мы работали. Ищем​«Использовать формат этой ячейки…»​
​ ячейке E2 в​ поиск. Жмем на​ код к макросу​
​А так поисковик​ строк с полным​2. код берёт​ и первый входящий​ & «-» &​ = RGB(255, 255,​ точно забаню!​
​With .Cells(iLastRow +​
​ ищет цифру 5.​Majya penzeva​ — «xlWhole»​ файл), поиск происходит​ среди них. Если​.​
​ качестве формулы содержится​ кнопку​ Windows 7, ЧТОБЫ​
​ в принципе нормально​ совпадением по этим​
​ первый критерий, через​ элемент, при совпадении?По​ el & i​
​ 0) End If​Medvedoc​
​ 1, 1) ‘проставляем​ Но если на​: Нажмите Ctrl+F в​Dim rFndRng As​ по полю «Артикул»​
​ документ давно не​После этого, появляется инструмент​ адрес на ячейку​
​«Найти далее»​ ПОЛУЧИЛОСЬ 100% ЗАДУМАННОЕ​ работает =)​
​ полям.​ find ищет его​ аудиториям много повторов:​ & «-» &​
​ Next cell End​
​: ВАМ БЫ ЛИШЬ​
​ имя листа​ листе таких цифр​ всплывшем окне внесите​ Range​
​ для таблицы «Прайс»,​ открывали и его​ в виде пипетки.​ A4, который как​, или на кнопку​ =)​
​Guest​Выполняете код (можно​ на первом листе.​
​1 курс-L14-каф​ t Debug.Print sh.Name​ With End Sub​
​ ЗАБАНИТЬ =) у​.Value = «Лист:​ 5 примерно штук​ нужное слово и​For i =​
​ а данные отображаются​
​ нет в списке,​ С помощью него​ раз включает в​
​«Найти всё»​Прикрепил во вложение​: А Вы и​ на первый лист​ Если нашёл, ищет​
​1 курс-R14-каф​ & «-» &​
​Watcher_1​
​ меня просто уже​
​ » & iSheet.Name​ 10, то поисковик​ выбирите найти все.​
​ 1 To Worksheets.Count​ в полях «Наименов»,»кол-во»​
​ то нажимаем на​
​ можно выделить ту​ себя искомую цифру​.​ файлик поисковика, нарытого​
​ не просили такой​ в шапке поместить​
​ в этой же​
​4 курс-I14-25​
​ el & i​
​: так?​ голова от этих​
​ & » Ячейка:​ выведет только первую​
​Если в экселе стопиццот​

​If Sheets(i).Name <>​
​ и «цена».{/post}{/quote}​ кнопку «Компьютер».​ ячейку, формат которой​ 4.​При нажатии на кнопку​ на аналогичной теме.​
​ поиск.​ любой рисунок/кнопку, на​
​ строке второй и​2 курс-I24-СК​
​ & «-» &​
​Sub search_main() Dim​ макросов едет. Извините,​ » & iFoundRng.Address(0,​ найденную цифру 5​
​ вкладок с разными​ Application.Caller.Parent.Name Then​
​Не поверите -​Затем, нажимаем на кнопку​ вы собираетесь использовать.​Но, как отсечь такие,​
​«Найти далее»​
​ Мой как вы​

​Medvedoc​ него повесить макрос):​
​ остальные (думаю можно​
​2 курс-L24-СК​ t sh.Range(el &​
​ rng As Range​ не внимательно смотрел.​
​ 0)​
​ этого листа. Как​
​ именами, как можно​With Sheets(i)​
​ у меня тоже​ «Обзор». В появившемся​После того, как формат​
​ и другие заведомо​мы перемещаемся к​
​ выражаетесь файл, выложил​: А Вы и​
​Честно говоря, код​ цикл в цикле​
​2 курс-O24-СК​
​ i).Interior.Color = vbYellow​ ‘ îáëГ*Г±ГІГј Dim​ Сейчас увидел. Спасибо​’добавляем гиперссылку​
​ сделать так, чтобы​
​ найти среди них​
​Set rFndRng =​
​ ровно 15 листов​

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

​ Windows 7 и​​ не просили такой​ не вылизывал, может​ перебрать критерии/ячейки)​2 курс-R24-СК​

​ Err.Clear End If​​ name1 For j​ вам огромное за​iFoundSht.Hyperlinks.Add Anchor:=iFoundSht.Cells(iLastRow +​ выводились и остальные​ нужную, не просматривая​ .Range(rTable.Address).Resize(, 1).Find(vCriteria, ,​ с таблицами :),и​

​ строке поиска пишем​​ на кнопку​ поиска? Именно для​ где содержатся введенные​ от него надо​ поиск.{/post}{/quote}​

​ есть ещё какие​​3. если все​1 курс-I30-СК​ Next Next Next​ = 1 To​ помощь! =)​

​ 1, 1), Address:=»»,​​ значения данной страницы,​ все имена?​

​ xlValues, IIf(XlLookAt =​​ формула тоже очень​ поисковую фразу или​
​«OK»​ этих целей существует​ группы символов. Сама​ отталкиваться, поскольку это​Возможно думал о​ блохи. Да и​ нашлись — копирует​1 курс-L30-СК​ End SubТолько изначальную​ Sheets.Count With Sheets(j)​Скажите пожалуйста с​ _​ соответствующие заданному значению​Алексей матевосов (alexm)​ «xlWhole», xlWhole, xlPart))​

​ длинная получилась(кто если​​ слово. Мы написали​.​ расширенный поиск Excel.​

​ ячейка становится активной.​​ оптимальный вариант решения​ таком поиске =)​ ускорить код тоже​ данные.​1 курс-O30-СК​ очистку от покраски​ Set rng =​ чего лучше начать​SubAddress:=»‘» & iSheet.Name​

​ для поиска? То​: Когда стопиццот листов,​If Not rFndRng​

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

​Поиск и выдача результатов​​ =)​
​ но не описал​ можно — перевести​4. Через findnext​

​1 курс-R30-СК​ лень писать -​ .Range(«D12:X11») name1 =​

​ изучать создание макросов?​​ & «‘» &​ есть как сделать​

​ то переход от​​ Is Nothing Then​ путь к таблицам​

​ файлов Excel, имеющим​ произвести поиск не​«Найти и заменить»​ производится построчно. Сначала​

​Юрий М​ до конца сути​
​ всё на массивы,​ продолжает поиск на​
​1 курс-L34-каф​
​ да это на​
​ Range(«D11»).Value For Each​
​Юрий М​

​ «!» & iFoundRng.Address,​​ так, чтобы остальные​ одного листа к​VLookUpAllSheets = rFndRng.Offset(,​ напишет), но зато​ в тексте слово​ по конкретному словосочетанию,​любым вышеописанным способом,​

​ обрабатываются все ячейки​​: Правильно — это​

​ =)​​ копирование тоже. Но​

​ этом листе.​​1 курс-R34-каф​

​ практике вероятно и​ cell In rng​: Литература (можно найти​ ScreenTip:=»Перейти на лист​ девять цифр 5​ другому можно сделать​

​ lColNum — 1).Value​​ работает :)​ «визитка».​ а найти ячейки,​ жмем на кнопку​ первой строки. Если​ не Ваш файл,​

​А возможен такой​​ будет непонятнее.​
​5. На этом​

​3 курс-F34-25​​ не нужно.​ If cell =​ в «Копилке») и​
​ » & iSheet.Name​ тоже выводились в​

​ так. Кликнуть правой​​Exit For​

​Попробую сообразить пользовательскую​​Внимание!​
​ в которых находятся​

​«Параметры»​​ данные отвечающие условию​ Вы даже поленились​
​ вариант?​

​Так будет чуть​​ листе больше нет​4 курс-I34-25​Апострофф​ name1 Then MsgBox​ Форум/Форумы.​’.Font.Bold = True​ результатах поиска?​ кнопкой мышки по​End If​ функцию для поиска​Внизу этого окна​ поисковые слова в​.​ найдены не были,​ набросать пример, а​Medvedoc​ быстрее и надёжнее:​ — ищем аналогично​4 курс-I36-25​: Очень помогли, спасибо)​
​ («ГЋГёГ»ГЎГЄГ*») cell.Interior.Color =​

planetaexcel.ru

Поиск по всем листам

​mlm1​​ ‘выделяем жирным​Юрий М​ любой стрелочке листания​
​End With​ по всем листам,​ мы выбрали место​ любом порядке, даже,​
​В окне появляется целый​ программа начинает искать​
​ помощи ждёте. Вот​: А Вы и​Option Explicit Sub​ на следующем.​2 курс-I40-СК​…ток почему то​ RGB(255, 255, 0)​: Добрый день​End With​: Вариант.​ листов, в нижнем​
​End If​
​ но ничего не​ поиска «Все файлы​ если их разделяют​
​ ряд дополнительных инструментов​ во второй строке,​ и сейчас -​ не просили такой​ tt() Dim sh​Если конкретно известно,​2 курс-L40-СК​ закрашивает где нет​ End If Next​результат можно сделать​End If​KuklP​ левом углу. Если​Next i​ обещаю .​

​ Excel». Здесь мы​​ другие слова и​
​ для управления поиском.​ и так далее,​ просите поиск по​ поиск.{/post}{/quote}​ As Worksheet, el,​ что ищем и​2 курс-O40-СК​ ошибки=​ cell End With​ в виде ссылок​’iFoundRng.EntireRow.Copy Destination:=.Cells(.Cells(.Rows.Count, 1).End(xlUp).Row​: EducatedFool выкладывал надстройку.​ листов очень много,​End Function​PS: Я только​ можем выбрать другой​ символы. Тогда данные​

​ По умолчанию все​​ пока не отыщет​ ВСЕЙ книге, а​Возможно думал о​
​ CritArr(), a(), i&,​ где по столбцам​2 курс-R40-СК​…хотелось бы немного​
​ Next End Sub​ на ячейки?​ + 1, 1)​Medvedoc​ то в открывшемся​Справка на англицком,​ учусь.​

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

​ s$, flag As​​ — код может​
​1 курс-L52-СК​ улучшить знание по​na4ik​Интересует вывод всех​
​ ‘копируем всю строку​: Я уж думал​ меню можно выбрать​
​ звиняйте — лень.​dude​ нам нужно найти​
​ с обеих сторон​
​ в состоянии, как​Поисковые символы не обязательно​ один лист. Не​ но не описал​
​ Boolean, n&, ind&,​ быть проще, можно​1 курс-R52-СК​
​ VB в excel…не​: Да, так спасибо)….ток​ совпадающих значений на​

​iShtName = iSheet.Name​​ вы меня забаните​
​ все листы. Результат​Alexander_V​: так?​ текст в Excel’евском​

​ знаком «*». Теперь​​ при обычном поиске,​
​ должны быть самостоятельными​ показали — куда​ до конца сути​ x& CritArr =​ делать не через​4 курс-F52-25​ подскажите какую то​ я немного по​ листе​ ‘запоминаем имя листа​ =)​ увидите.​: класс! формула сокращена​dendy_81​ файле со словами​ в поисковой выдаче​ но при необходимости​ элементами. Так, если​ выводить найденное… Много​ =)​ Application.Trim(Sheets(1).[A2:M2].Value) ind =​ find, а циклом​4 курс-F54-25​ методичку…или лучше скинь​ другом прописал:​Юрий М​End With​
​Ваш вариант тоже​Можно сделать и​ до минимума! Спасибо​: посмотрел ваш файл​ визитка. Тогда мы​

​ будут отображены все​​ можно выполнить корректировку.​ в качестве запроса​ будет желающих делать​
​А возможен такой​ 3 Application.ScreenUpdating =​ по массиву данных.​Sub search_main() Dim​ те при возможности​Код For i​

​: А разве не​​Set iFoundRng =​ прикольный. Но встает​ поиск макросом VBA.​ вам за помощь​
​ — не совсем​ выберем функцию «Все​ ячейки, в которых​По умолчанию, функции​
​ будет задано выражение​ за Вас файл?​ вариант?{/post}{/quote}​ False Sheets(1).UsedRange.Offset(2).Clear For​Watcher_1​ sh As Worksheet​Hugo121​ = 1 To​ все выводятся?​ iSheet.Cells.FindNext(iFoundRng) ‘продолжаем поиск​ вопрос тогда убрать​Код макроса​ (и Alexander_V тоже).​ понятна формула: =ДВССЫЛ(АДРЕС(raw($A5);СТОЛБЕЦ();1;1;lst($A5))).​ файлы». Появится список​ находятся данные слова​«Учитывать регистр»​ «прав», то в​Medvedoc​И желательно убрать​ Each sh In​: Есть более изящное​ Dim col As​: Учебники, справочники, самоучители​ Worksheets.Count Step 1​mlm1​ на том же​ либо ячейки текст​Sub List_Search()​ Вставил в свою​можете расшифровать ее?​ всех разных файлов​ в любом порядке.​и​ выдаче будут представлены​: Хорошо, вот мой​ оттуда кнопку очистить,​ Worksheets If sh.Name​

​ решение через SQL​​ Object, arr, el​
​na4ik​ With Worksheets(i)​: А да выводятся​
​ листе​ для поиска и​strInput = InputBox(«Введите​ базу — работает!​при ее копировании​ со словом «визитка»​

​Как только настройки поиска​​«Ячейки целиком»​

​ все ячейки, которые​​ файл.​ а очищение сделать​ <> «Sheet1» Then​Hugo121​ ‘arr = Split(«D​: Почему это нет?​Как бы теперь​
​ все​Loop While iFoundRng.Address​
​ желтую ячейку с​ имя листа книги»,​ Только вот функция​ и вставке в​ — и текст​ установлены, следует нажать​отключены, но, если​
​ содержат данный последовательный​Но там нет​ автоматическим по истечению​ a = sh.[a1].CurrentRegion.Value​: Да, если конкретно​

​ E G H​​ Как этот проф.​​ сделать так, что​​Можно сделать чтобы​ <> FirstAddress​ цифрой 5 совсем,​ «Поиск листов книги»)​ ищет неполное совпадение​ мой лист «заказ»​ в Word, и​
​ на кнопку​ мы поставим галочки​ набор символов даже​ реализации поиска. Пользователь​ 30 секунд​ For i =​ известно, что ищем​ J K M​

​ Оніпко В.В. может​​ бы этот цикл​ выводились например полностью​End If​ поскольку она грубо​ok = 0​ по одному или​ появляется ошибка «#ИМЯ?»,​ файл Excel, и​«Найти всё»​ около соответствующих пунктов,​ внутри слова. Например,​ Windows 7 предложил​Medvedoc​ 1 To UBound(a)​ и где по​ N») arr =​

​ одновременно преподавать Грунтознавство​​ перемещался вниз по​ значения (а не​
​End If​ говоря дублирует вашу​
​If strInput <>​
​ нескольким символам, и​ а в исходнике​ картинки с названием​или​
​ то в таком​ релевантным запросу в​ свой файл. Я​

​: посмотрел код более​​ flag = True:​ столбцам.​ Split(«F I L​

​ у П-32 и​ строкам…и при этом​ ссылки на ячейки)​Next iSheet​
​ кнопку. И вывод​ «» Then​ отображает первое найденное​ появляется ошибка «#ЗНАЧ!»​ «визитка», т.д.​«Найти далее»​ случае, при формировании​ этом случае будет​ его протестировал и​ внимательнее =) а​ n = 0​Но на массивах​ O R») On​ Методика навчання біології​​ же менялось начальное​​Например надо найти​Application.ScreenUpdating = True​ должен быть в​For i =​ значение (ввёл «22»,​а в вашем​
​Как найти файл​, чтобы перейти к​ результата будет учитываться​ считаться слово «Направо».​ обнаружил незначительный минус,​
​ можно сделать так,​ For Each el​ в таком случае​ Error Resume Next​ у П-44?​ значение переменной name1​ цифру 5​ ‘включаем обновление экрана​ одну ячейку в​ 1 To Worksheets.Count​
​ а нашла «220156»).​ исходнике всё работает.​ определенного типа, смотрите​ поисковой выдаче.​ введенный регистр, и​ Если вы зададите​
​ который и описал​
​ чтобы вместо номера​
​ In CritArr If​
​ будет не менее​
​ ‘For i =​
​Да ещё и​
​Watcher_1​
​Результат с ссылками​
​MsgBox «Поиск завершён!»,​
​ виде текста как​
​If Worksheets(i).Name =​
​ А мне надо​
​Guest​
​ в статье «Поиск​
​Как видим, программа Excel​
​ точное совпадение. Если​
​ в поисковике цифру​
​ выше. И эт​
​ ячейки выводилось ее​
​ flag Then n​
​ изящно, и думаю​
​ 9 To 57​
​ в разных аудиториях?​
​: Я так понял​
​ (например)​ 64, «Поиск»​ в моем файлике​ strInput Then​ найти значение по​: эта функция VLookup​ документа Word по​ представляет собой довольно​ вы введете слово​ «1», то в​ оне значит, что​ название, точнее текст,​ = n +​ проще/понятнее. И скорее​ Step 2 For​Хотя я аудитории​ это мысли в​5​End Sub​ =)​Sheets(strInput).Select​ всем символам, по​ у меня не​ тексту» тут. Принцип​ простой, но вместе​ с маленькой буквы,​ ответ попадут ячейки,​ поленился.​ который в ней​ 1 If Len(el)​ всего будет работать​ i = 8​ не учитывал -​ слух? Иначе я​51​
​Sub Finder()​либо реализовано как​ok = 1​ количеству и по​ хочет работать. может​ один.​ с тем очень​ то в поисковую​ которые содержат, например,​Также на похожей​

CyberForum.ru

БД в Excel: организовать поиск по всем листам и по нескольким критериям

​ содержится?​​ Then If Application.Trim(a(i,​
​ быстрее. И нет​ To 56 Step​ правильно было бы​ не вижу никакой​156​Dim iRng As​ я хотел, то​End If​ их порядковому расположению​ подскажете, как ее​В Excel можно​ функциональный набор инструментов​ выдачу, ячейки содержащие​ число «516».​ теме нашел другой​Medvedoc​ n)) <> el​ особых требований к​ 2 Set col​ смотреть, чтоб если​ смысловой нагрузки…​
​567​ Range, TextForFind As​ есть сохранить мой​Next i​ (по артикулу). Т.е.,​ прописать в мой​ искать данные функциями,​ поиска. Для того,​ написание этого слова​Для того, чтобы перейти​​ вариант поисковика, который​​: Заменил в строчке​ Then flag =​ таблицам.​ = New Collection​ аудитория и предмет​na4ik​
​Юрий М​ String, FirstAddress As​ файлик, но с​If ok =​ если я ввел​ файл?​ можно искать, выбирать,​ чтобы произвести простейший​ с большой буквы,​ к следующему результату,​ реализован на одном​
​ .Value = «Лист:​ False: Exit For​Watcher_1​ For Each sh​ совпадают, то и​
​: Скорее это вопрос)​
​: Это ведь совсем​

​ String, n As​​ вашей реализацией всех​ 0 Then MsgBox​ «200543», то и​
​тухачевский​ переносить данные в​ писк, достаточно вызвать​ как это было​ опять нажмите кнопку​

​ листе, но при​​ » & iSheet.Name​ End If End​
​: Судя по ТЗ​ In Worksheets For​ препод должен повторяться!​..можно ли как​ другая задача (а​
​ Integer, iLastRow As​ результатов со всего​ «Листа с таким​ найти должна только​: посмотрел ваш файл​ другое место, в​ поисковое окно, ввести​ бы по умолчанию,​«Найти далее»​ этом выводит результаты​
​ & » Ячейка:​ If Next If​ как раз известно,​
​ Each el In​Как это прикрутить​ то задать смену​
​ то я уже​ Long​ листа =)​ именем нет»​
​ значение «200543». Что​ — не совсем​ другую таблицу, бланк,​ в него запрос,​ уже не попадут.​.​ поиска всех найденных​ » & iFoundRng.Address(0,​

​ flag Then ind​​ что к какому​ arr t =​

​ — думать не​​ значение ячейки?…что то​ сделал и формирование​iLastRow = Cells(Rows.Count,​Medvedoc​
​End If​ надо поменять в​ понятна формула: =ДВССЫЛ(АДРЕС(raw($A5);СТОЛБЕЦ();1;1;lst($A5))).​ т.д. формулами. Какими​ и нажать на​ Кроме того, если​Так можно продолжать до​ значений, заданных изначально.​ 0)​

​ = ind +​​ столбцу привязано. Единственное​ sh.Range(el & i).Value​ хочу, да и​ плана:​ гиперссылок). Уточните проблему,​ 1).End(xlUp).Row​: спасибо за предложение,​End Sub​

​ функции? И как​​можете расшифровать ее?​ способами можно искать​ кнопку. Но, в​ включена функция​ тех, пор, пока​ Мне надо как-то​значение iFoundRng.Address(0, 0)​

​ 1 For x​​ неудобство это, что​ If Len(t) Then​ может и не​j=11 Set rng​ чтобы не переделывать​Range(Cells(5, 1), Cells(iLastRow​ но надстройку не​shurun999​ в функции, если​при ее копировании​ данные в Excel,​ то же время,​«Ячейки целиком»​ отображение результатов не​ данную возможность реализовать​ на iFoundRng.Offset(0, 0)​ = 1 To​ к одной строке​ col.Add t, CStr(t)​ нужно…​ = .Range(«D(j):X(j)») ——————————​ потом.​ + 1, 2)).Clear​ надо =) мне​: Есть задача создания​

​ при поиске не​​ и вставке в​ смотрите в статье​
​ существует возможность настройки​, то в выдачу​ начнется по новому​ в макросе пользователя​ и в выводимых​ 13 Sheets(1).Cells(ind, x).Value​ привязано несколько значений​ If Err Then​Hugo121​ j=j+2​mlm1​iLastRow = 4​ два варианта верхних​ поиска по нескольким​ найдено совпадений, оставить​ мой лист «заказ»​ «Поиск в Excel»​ индивидуального поиска с​ будут добавляться только​
​ кругу.​ windows 7.​ результатах вместо адреса​ = a(i, x)​
​ из нескольких строк​ Debug.Print sh.Name &​:​или как это​: Прикрепил файл​TextForFind = InputBox(«Введите​ нравятся​ листам одной книги.​

​ строки пустыми или​​ появляется ошибка «#ИМЯ?»,​
​ и в перечне​ большим количеством различных​ элементы, содержащие точное​В случае, если при​Medvedoc​ ячейки стало показываться​ Next End If​

​Hugo121​​ «-» & el​
​Hugo121​ можно написать для​Юрий М​ искомое слово (значение)»,​
​Юрий М​ Нужно вводить номер​ заполнить пунктирами (вместо​ а в исходнике​ статей по этой​
​ параметров и дополнительных​ наименование. Например, если​ запуске поисковой процедуры​: пришлось заархивировать​ содержимое самой ячейки​ Next End If​: Ещё вариант -​ & i &​
​, хотел уточнить…а где​ excel?​: Так?​ » Запрос для​: А кто Вам​
​ телефона, и чтоб​ нулей)?{/post}{/quote}​ появляется ошибка «#ЗНАЧ!»​ теме, расположенном в​ настроек.​ вы зададите поисковый​ вы нажмете на​Файл удален​(текст) =)​
​ Next Application.ScreenUpdating =​ макросом ставить стандартный​
​ «-» & t:​ осуществляется само сравнение​Скорее это вопрос)​mlm1​ поиска»)​ мешает «убрать» эту​ открывались все его​Моя по полному​а в вашем​ конце статьи.​Автор: Максим Тютюшев​ запрос «Николаев», то​ кнопку​- велик размер​Остался вопрос как​ True End Sub​ фильтр и копировать​ Err.Clear Next Next​ значений ячеек?…или возможно​..можно ли как​: Спасибо так.​If TextForFind =​ жёлтую ячейку? Она​ данные, на каждом​ ищет :) если​ исходнике всё работает.{/post}{/quote}​Поработали — пора​Рассмотрим,​ ячейки, содержащие текст​«Найти все»​ — [​ сделать так, чтобы​Hugo121​ видимые. Но мне​ Next End SubВ​ так как я​ то задать смену​А можно без​ «» Then​

​ в моём макросе​​ листе таблица (​ не находит пишет​вечером было избыточно​ отдохнуть. )) А​как найти документ​ «Николаев А. Д.»,​
​, все результаты выдачи​МОДЕРАТОРЫ​ выводились все результаты​
​: Чуть исправил код​ этот способ не​ коде нужно было​ понял, объект Collection​ значение ячейки?…что то​

​ вывода промежуточных результатов​​MsgBox «Вы ничего​ не задействована. Значение​
​ 1ст поряд.номер, 2-​ 0.​упростил​ если серьёзно, то,​

​Excel по содержимому текста​​ в выдачу уже​ будут представлены в​]​ с заданным значением​ — теперь вместо​ нравится… хотя работает​ добавить Cstr(t), т.к.​ не может содержать​ плана:​
​ (окошек) Найдено столько​ не указали», 48,​ для поиска выбирается​ сам номер,3- данные,​Alexander_V​

CyberForum.ru

Поиск по листам всей книги [ТЕМА ЗАКРЫТА — повторное нарушение]

​это пользовательская функция​​ в Excel есть​,​ добавлены не будут.​ виде списка в​Юрий М​ с одной страницы​ currentregion обрабатываю usedrange,​ быстро.​ тут уже числа.​ одинаков элементов?​j=11 Set rng​ -то штук на​ «Вы чё, в​ по запросу -​ 4- данные, 5-данные).​: Внимательно перечитал пост​

​нужно в вашу​​ много возможностей, кроме​

​таблицы​​По умолчанию, поиск производится​ нижней части поискового​: Прошлось удалить.​ =)​ поэтому в J1​Lubaxa​Чтоб показывало и​If Len(t) Then​ = .Range(«D(j):X(j)») ——————————​

​ листе 1 и​​ натуре?»​ Вы не заметили?​ как это сделать,​ думал нужно что​
​ книгу скопировать модуль​ стандартных функций Excel,​, например, когда не​
​ только на активном​ окна. В этом​Medvedoc​Medvedoc​ можно ничего не​

​: Поиск по этим​​ с чем совпало​ col.Add t, t​ j=j+2​ т.д.​Exit Sub​ :-) Кнопку очистки​ подскажите.​ бы «0» писало​ из прикрепленной книги​
​ которые можно применить​ помним название файла,​ листе Excel. Но,​

​ списке находятся информация​​:​: нашел макрос другого​ писать.​

​ таблицам нужен по​​ — нужно вместо​ If Err Then…просто​или как это​

​Юрий М​End If​ тоже можете удалить​AntikBantik​ оказывается не надо​
​Alexander_V​ в своей работе.​

​ документа, папки, т.д.​​ если параметр​ о содержимом ячеек​Файл удален​

​ поисковика. В нем​Ну и добавил​ столбцам: адрес или​ коллекции использовать словарь.​ не могу понять​
​ можно написать для​: У меня не​

​For n =​ — диапазон будет​: был бы файл​ :)​: Особо не тестировал​

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

​ з чего бы​​ excel?​ было — сколько​ 2 To Sheets.Count​ очищаться автоматически.​ может и подсказали​в приложении файл​

​ времени нет. Если​ использовать шрифт для​Поиск документа​вы переведете в​ запросу поиска, указан​ — [​
​ все значения. Как​

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

​With Sheets(n).UsedRange​​Medvedoc​ бы, а так​ формула возвращает пустое​ чего пишите.​ построения графика в​Excel по названию папки.​ позицию​ их адрес расположения,​МОДЕРАТОРЫ​ можно часть данного​

​И ещё -​
​ если можно выводить​
​ на примерах сделать.​ нему нету никакого​
​: Может так:​ если НЕ найдено​Set iRng =​
​: в данный момент​ не зная точной​

​ место (визуально).​Alexander_V​ ячейке, т.д. Такой​
​Нажимаем кнопку «Пуск»,​«В книге»​ а также лист​

​]​ кода перенести в​

​ теперь правее пишется​
​ все близкие по​ Ну или может​ условия =​
​Set rng =​ на листе. Убрал​
​ .Find(What:=TextForFind, LookIn:=xlFormulas, LookAt:=xlPart)​

​ у меня код​
​ структуры данных вместо​PS: Хотя после​
​: Моя функция тоже​ способ мы рассмотрели​ расположенную в левом​
​, то поиск будет​
​ и книга, к​Medvedoc​
​ свой код, чтобы​
​ имя листа, откуда​ значению результаты) или​

​ кто другой попробует​Hugo121​
​ .Range(«D» & j​
​ сообщение.​
​If Not iRng​ модуля вот такой​
​ одной попытки для​

​ формул The_Prist-а и​​ пользовательская так что​ на примере создания​ нижнем углу монитора.​ производиться по всем​

​ которым они относятся.​​: я просто не​ результаты поиска выводили​ взята строка. Может​ SN (номер товара).​ сделать, из интереса.​: Collection содержит уникальные​ & «:X» &​mlm1​ Is Nothing Then​Option Explicit​ получения результата их​ Лузер™-а как то​ не забудьте скопировать​ простой игры. Смотрите​ В появившемся списке​ листам открытого файла.​ Для того, чтобы​ знаю как макрос​ все найденные значения​ пригодится когда…​

​ Т.е. в соответствующую​Lubaxa​ ключи и при​ j)​: Спасибо​FirstAddress = iRng.Address​Sub Поиск()​ будет N -​ даже не удобно​

​ модуль​ статью «Игра в​ нажимаем на кнопку​В параметре​ перейти к любому​ Windows 7 подправить,​ с листа​Hugo121​ форму вводится один​: Добрый вечерок!​

​ попытке дополнить коллекцию​​na4ik​то что искал​Do​Dim iFoundRng As​ ое количество.​ свою выкладывать:).​dude​ Excel».​ «Этот компьютер» (в​«Просматривать»​ из результатов выдачи,​ чтобы он выводил​Сам код​: Думаю ещё есть​

​ из этих критериев​​Помогите, пожалуйста…. Есть​ с уже имеющимся​
​: Может так?​davaispoem​Cells(iLastRow + 1,​ Range​Hugo121​ytk5kyky​: с учетом решения​dendy_81​ Word 2013) или​можно изменить направление​
​ достаточно просто кликнуть​ все найденные значения​Private Sub CommandButton1_Click()​ смысл добавить​ (максимум 2). Насколько​ база данных в​ ключём возникает ошибка​Sub search_main() Dim​: Здравствуйте! Уважаемые специалисты,​ 1) = Sheets(n).Name​Dim iSheet As​: C формой нужно​

​: По хорошему, если​​ Alexander_V все короче​
​: Здравствуйте. У меня​​ «Мой компьютер» (в​ поиска. По умолчанию,​​ по нему левой​​ с листа по​

​Dim MyLeight As​​Option Compare Textчтоб​

​ я понимаю. то​​ Excel. Пока использовалась​​ (для продолжения работы​​ sh As Worksheet​ вновь прошу вашей​​Cells(iLastRow + 1,​​ Worksheet​

​ делать. Но можно​​ ничего не найдено,​а автора все​ такой вопрос.​ Word 2007).​ как уже говорилось​ кнопкой мыши. После​ запросу​

planetaexcel.ru

​ Integer​

Продолжая развивать идею ВПР 2D, давайте рассмотрим решение задачи поиска не в двух, а в трех измерениях, когда к нахождению нужной строки и столбца добавляется еще и лист. Рассмотрим следующий пример. Допустим, у нас есть несколько листов по городам с данными продаж по товарам (строки) и магазинам (столбцы):

vlookup3d-1.png

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

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

vlookup3d-2.png

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

Для решения нам потребуется всего три функции:

  • ПОИСКПОЗ(искомое_значение; массив; тип_поиска) – ищет заданное значение в диапазоне (строка или столбец) и выдает порядковый номер ячейки, где оно было найдено. Нам эта функция поможет найти порядковые номера строки и столбца в таблице, где расположено нужное число. Для примера, формула:
    =ПОИСКПОЗ(«Альфа»;A2:G1;0)
    … вычислит номер столбца в таблице, где расположен магазин Альфа. Последний аргумент этой функции (0) означает, что нам нужен точный поиск.
  • ИНДЕКС(диапазон; номер_строки; номер_столбца) – выбирает значение из диапазона по номеру строки и столбца. Так, например, формула:
    =ИНДЕКС(B2:G9;3;2)
    … выдаст нам содержимое ячейки в 3-й строке 2-го столбца из диапазона B2:G9.
  • ДВССЫЛ(адрес_как_текст) – превращает адресную строку в виде текста в настоящий адрес. Причем адрес запросто может склеиваться из фрагментов с помощью оператора сцепки &. Например, формула:
    =ДВССЫЛ(A1&»!B3″)
    … берет имя листа из ячейки A1, приклеивает к нему восклицательный знак-разделитель и адрес ячейки B3. Если в ячейке A1 будет лежать слово Москва, то на выходе мы получим ссылку Москва!B3, т.е. содержимое ячейки B3 с листа Москва.

Теперь сводим все в единое целое для решения нашей задачи:

vlookup3d-3.png

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

=Нижний Новгород!A1

Таким образом для универсальности нужно добавить апострофы и к нашей формуле:

vlookup3d-4.png

Ссылки по теме

  • Что такое функция ВПР (VLOOKUP) и как с ее помощью подставить значения из одной таблицы в другую
  • Как реализовать поиск по двум измерениям (ВПР 2D)
  • Динамический выпадающий список с наполнением

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    ВПР с поиском по нескольким листам

    ВПР по всем листам (43,0 KiB, 12 619 скачиваний)

    Если необходимо найти какое-либо значение в большой таблице очень часто применяется функция ВПР. Но ВПР работает только с одной таблицей и нет никакой возможности средствами самой функции просмотреть искомое значение на нескольких листах. Если поиск необходимо осуществить только по двум листам, то можно схитрить:
    =ВПР( A1 ;ЕСЛИ(ЕНД(ВПР( A1 ;Лист2!A1:B10;2;0));Лист3!A1:B10;Лист2!A1:B10);2;0)

    А когда листов больше? Можно плодить ЕСЛИ. Но это во-первых совсем не наглядно и во-вторых очень непрактично, т.к. при добавлении или удалении листов придется править всю мега-формулу. Да и при работе с количеством листов более 10 есть большой шанс, что длина формулы выйдет за пределы допустимой.

    Есть небольшой прием, который поможет искать значение в указанных листах. Для начала необходимо создать на листе список листов книги, в которых искать значение. В приложенном к статье примере они записаны в диапазоне $E$2:$E$5 .
    =ВПР( A2 ;ДВССЫЛ(«‘»&ИНДЕКС( $E$2:$E$5 ;ПОИСКПОЗ(ИСТИНА;СЧЁТЕСЛИ(ДВССЫЛ(«‘»& $E$2:$E$5 &»‘!A1:A50″); A2 )>0;0))&»‘!A:B»);2;0)

    Формула вводится в ячейку как формула массива — т.е. сочетанием клавиш Ctrl+Shift+Enter. Это очень важное условие. Если формулу не вводить в ячейку как формулу массива, то необходимого результата не получить.
    Попробую кратенько описать принцип работы данной формулы.

    Перед чтением дальше советую скачать пример:

    ВПР по всем листам (43,0 KiB, 12 619 скачиваний)

    ДВССЫЛ нам нужна для преобразования текстового представления ссылок на листы в действительные. Подробно не буду останавливаться на принципе работы ДВССЫЛ, просто приведу этапы вычислений:
    СЧЁТЕСЛИ(ДВССЫЛ(«‘»& $E$2:$E$5 &»‘!A1:A50»); A2 )

    В результате вычисления данного блока у нас получается массив из количества повторений искомого значения на каждом из указанных листов: СЧЁТЕСЛИ(<1;0;0;0>;A2) . Поэтому следующий блок
    ПОИСКПОЗ(ИСТИНА;СЧЁТЕСЛИ(ДВССЫЛ(«‘»& $E$2:$E$5 &»‘!A1:A50»); A2 )>;0;0)
    работает именно с этим:
    ПОИСКПОЗ(ИСТИНА;СЧЁТЕСЛИ(<1;0;0;0>; A2 )>0;0)
    Читать подробнее про СЧЁТЕСЛИ

    в результате чего мы получаем позицию имени листа в массиве имен листов $E$2:$E$5 , с помощью ИНДЕКС получаем имя листа и подставляем это имя уже к ДВССЫЛ, а она в ВПР:
    =ВПР( A2 ;ДВССЫЛ(«‘»&ИНДЕКС(<«Астраханьоблгаз»:»Липецкоблгаз»:»Оренбургоблгаз»:»Ростовоблгаз»>;1)&»‘!A:B»);2;0) =>
    =ВПР( A2 ;ДВССЫЛ(«‘Лист2’!A:B»);2;0) =>
    =ВПР( A2 ;’Лист2′!A:B;2;0)

    Что нам и требовалось. Теперь если в книгу будут добавлены еще листы, то необходимо будет всего лишь дописать их к диапазону $E$2:$E$5 и при необходимости этот диапазон расширить. Так же можно задать диапазон $E$2:$E$5 как динамический и тогда необходимость в правке формулы отпадет вовсе.

    Используемые в формуле величины:
    A2 — ссылка на ячейку с искомым значением. Т.е. указывается то значение, которое требуется найти на листах.

    $E$2:$E$5 — диапазон с именами листов, в которых требуется осуществлять поиск указанного значения ( A1 ).

    Диапазон «‘!A1:A50» — это диапазон, в котором СЧЁТЕСЛИ ищет совпадения. Поэтому указывается только один столбец данных. При необходимости следует расширить или изменить. Можно указать так же «‘!A:A» , но при этом следует учитывать, что указание целого столбца может привести к значительному увеличению времени выполнения функции. Поэтому имеет смысл просто задать диапазон с запасом, например «‘!A1:A10000» .

    «‘!A:B» — диапазон для аргумента ВПР — Таблица. В первом столбце этого диапазона на каждом из указанных листов ищется указанное значение ( A2 ). При нахождении возвращается значение из указанного столбца. Читать подробнее про ВПР>>

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

    ВПР по всем листам (43,0 KiB, 12 619 скачиваний)

    Так же можно искать по нескольким листам разных книг , а не только по нескольким листам одной книги. Для этого необходимо будет в списке листов вместе с именами листов добавить имена книг в квадратных скобках: [Книга1.xlsb]Май
    [Книга1.xlsb]Июнь
    [Книга2.xlsb]Май
    [Книга2.xlsb]Июнь
    Перечисленные книги обязательно должны быть открыты

    Решил добавить простенькую функцию пользователя(UDF) для тех, кому проще «общаться» с VBA, чем с формулами. Функция ищет указанное значение во всех листах книги, в которой записана(даже в скрытых):

    Function VLookUpAllSheets(vCriteria As Variant, rTable As Range, lColNum As Long, Optional iPart As Integer = 1) As Variant Dim rFndRng As Range If iPart <> 1 Then iPart = 2 For i = 1 To Worksheets.Count If Sheets(i).Name <> Application.Caller.Parent.Name Then With Sheets(i) Set rFndRng = .Range(rTable.Address).Resize(, 1).Find(vCriteria, , xlValues, iPart) If Not rFndRng Is Nothing Then VLookUpAllSheets = rFndRng.Offset(, lColNum — 1).Value Exit For End If End With End If Next i End Function

    Функция попроще, чем ВПР — последний аргумент(интервальный_просмотр) выполняет несколько иные, чем в ВПР функции. Хотя полагаю немногие его используют в классическом варианте.
    rTable — указывается таблица для поиска значений(как в стандартной ВПР)
    vCriteria — указывается ссылка на ячейку или текстовое значение для поиска
    lColNum — указывается номер столбца в таблице rTable, значение из которого необходимо вернуть — может быть ссылкой на столбец — СТОЛБЕЦ().
    iPart — указывается метод просмотра. Если не указан, либо указана цифра 1, то поиск осуществляется по полному совпадению с ячейкой. Но в таком варианте допускается применение подстановочных символов * и ?. Если указано значение, отличное от 1, то совпадение будет отбираться по части вхождения. Если в vCriteria указать «при», то совпадением будет считаться и слово «прибыль»(первый буквы совпадают) и «неприятный»(в середине встречается «при»). Но в этом случае знаки * и ? будут восприниматься «как есть». Может пригодиться, если в искомом тексте присутствуют символы звездочки и вопросительного знака и надо найти совпадения, учитывая эти символы.

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

    Надстройка для поиска на всех листах книги Excel

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

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

    В Excel 2007 и 2010 панель инструментов можно найти на вкладке «Надстройки»:

    Надстройка SearchText является расширенной версией надстройки для поиска на текущем листе.

    Назначение кнопок надстройки:

    — поле для ввода искомого текста. Нажатие клавиши Enter запускает поиск.

    — удаление листа с результатами поиска. (выполняется автоматически при повторном поиске)

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

    или — переключатель режимов поиска
    (щелкните на этой кнопке для переключения режима поиска)

    При запуске поиска (вводе числа в текстовое поле, и нажатии Enter) макрос создаёт в текущем файле дополнительный лист (с названием «Результаты поиска»),
    и копирует на этот лист все строки, в которых содержится заданный текст.

    Выполняется поиск по частичному совпадению текста (т.е., при поиске текста 1234 будут найдены ячейки, содержащие числа 12345, 5612348 и т.д.)

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

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

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

    Как в excel сделать поиск по всем листам

    Ингвар, доброго времени.

    В качестве не очень изящного, но всё-таки решения могу предложить следующую формулу, которую можно протянуть по всем ячейкам Вашего примера. Вставлять в B3 на Листе1.

    На первый взгляд выглядит довольно объёмно и страшно, но если разобраться — довольно проста.

    Простейшая функция для поиска — ВПР. С её помощью можно найти данные по одной таблице. Что, я уверен, Вы уже с лёгкостью делаете. Если ВПР будет искать в таблице, где НЕТ того, что мы ищем (например, если искать «единицу» на «Листе3» Вашего примера), формула выдаёт ошибку Н/Д. И это свойство можно использовать.

    Функция ЕСЛИОШИБКА проверяет то, что мы вводим. И если наша функция внутри ЕСЛИОШИБКИ выдает, например, Н/Д, то ЕСЛИОШИБКА выдаст нам второе значение, записанное через точку с запятой. И моя формула построена следующим образом:

    = ЕСЛИОШИБКА (*искать в первой таблице* ; *если не нашли в первой таблице, ищем во второй* )

    При этом внутрь условного куска *если не нашли в первой таблице, ищем во второй* можно вложить вторую ЕСЛИОШИБКА для просмотра ещё одной таблицы. Что я и сделал. Получилось:

    = ЕСЛИОШИБКА (*искать в первой таблице* ; ЕСЛИОШИБКА ( *искать во второй таблице* ; *искать в третьей таблице) )

    При этом таких вложений из ЕСЛИОШИБКА можно сделать не ограниченное количество.

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

    Советы и лайфхаки по работе с Excel

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

    Но есть более простой способ быстро открыть нужный лист.

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

    Как снять пароль в Excel? Три рабочих способа снятия пароля.

    Способ 1. (Используем программу) Ищем в поисковике и загружаем программу

    Как собрать несколько книг Excel в одну?

    Например, мы имеем много рабочих книг Excel, и мы хотим

    Что такое макрос и куда его вставлять в Excel?

    Нам в работе иногда не хватает стандартных возможностей Эксель и приходится напрягать

    Как добавить абзац в ячейке Excel?

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

    Как посчитать количество уникальных значений в колонке Excel?

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

    Отсортировать уникальные значения в Excel

    Предположим, что у нас есть такая таблица с перечнем соглашений,

    Как сделать и добавить выпадающий список в Excel?

    В Excel есть одна интересная особенность, а именно возможность вводить

    Как быстро перейти в нужный лист книги Excel?

    Многие сталкивались с файлами Ексель, в которых создано огромное количество

    Содержание

    1. Поиск по листам в excel как сделать
    2. Поисковая функция в Excel
    3. Способ 1: простой поиск
    4. Способ 2: поиск по указанному интервалу ячеек
    5. Способ 3: Расширенный поиск
    6. Помогла ли вам эта статья?
    7. Поиск по нескольким листам с помощью макроса VBA
    8. Простой поиск
    9. Расширенный поиск
    10. Разновидности поиска
    11. Поиск совпадений
    12. Фильтрация
    13. Видео: Поиск в таблице Excel

    Поиск по листам в excel как сделать

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

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

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

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

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

    1. Находясь во вкладке «Главная», кликаем по кнопке «Найти и выделить», которая расположена на ленте в блоке инструментов «Редактирование». В появившемся меню выбираем пункт «Найти…». Вместо этих действий можно просто набрать на клавиатуре сочетание клавиш Ctrl+F.
    2. После того, как вы перешли по соответствующим пунктам на ленте, или нажали комбинацию «горячих клавиш», откроется окно «Найти и заменить» во вкладке «Найти». Она нам и нужна. В поле «Найти» вводим слово, символы, или выражения, по которым собираемся производить поиск. Жмем на кнопку «Найти далее», или на кнопку «Найти всё».
    3. При нажатии на кнопку «Найти далее» мы перемещаемся к первой же ячейке, где содержатся введенные группы символов. Сама ячейка становится активной.

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

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

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

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

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

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

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

    Способ 3: Расширенный поиск

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Мы рады, что смогли помочь Вам в решении проблемы.

    Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.

    Помогла ли вам эта статья?

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

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

    =ВПР (C3 ;ЕСЛИ (ЕНД (ВПР (C3 ;Таблица2!C3:D7 ;2; 0)); Таблица3! C3:D7 ;Таблица2! C3:D7 );2; 0).

    Но такой вариант работает только с 2 таблицами, а в случае, когда листов больше, нужно увеличивать количество вложений для функции ЕСЛИ. Но при этом:

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

    Но, как всегда, выход есть. Рассмотрим небольшую хитрость с помощью, которой и будем искать в нужных листах. Начнем работу с создания перечня листов нашей книги, где будем производить поиск значений. В нашем случае это диапазон $E$3:$E$7. Теперь для получения значения в столбик «Найденная стоимость» согласно условию в столбике «Номенклатуру которую ищем» нам нужна формула:

    Как видите, формула выделена фигурными скобками, это означает, что её необходимо вводить как формулу массива с помощью горячего сочетания клавиш Ctrl+Shift+Enter. Это самое главное условие правильной работы этой формулы в других случаях она не будет работать. Формула объемная и требует объяснения принципа её работы. Функция ДВССЫЛ необходима, что бы конвертировать текстовые отображения ссылок на листы нашей книги в действительные. Сам принцип работы функции ДВССЫЛ, я описывать не буду, рассмотрим только необходимую формулу для этапа нашего вычисления: СЧЁТЕСЛИ (ДВССЫЛ («’»&$E$3:$E$7 &»‘! C1:C50″); A3).

    Как следствие, при вычислении этого блока у нас формируется массив из некоторого количества значений, которые мы ищем, и которые повторяются на листах нашего списка, и имеет вид: СЧЁТЕСЛИ(<2;0;0;0>;A3). О работе функции СЧЁТЕСЛИ я писал отдельно и более подробно.

    Следующим рассматриваемым блоком нашей композиции будет формула: ПОИСКПОЗ (ИСТИНА; СЧЁТЕСЛИ (ДВССЫЛ («’»&$E$3:$E$7 &»‘! C1:C50″); A3)>0;0), которая и работает с указанным выше блоком такого вида: ПОИСКПОЗ (ИСТИНА; СЧЁТЕСЛИ (<2;0;0;0>; A3)>0;0). Вследствие чего мы узнаем, какую позицию занимает имя листа в нашем массиве списке листов $E$3:$E$7. Теперь же при помощи функции ИНДЕКС мы получаем название листа, и можем применить его имя в структуре функции ДВССЫЛ, а она передаст полученное значение уже далее функции ВПР. Пошагово это будет выглядеть так:

    Ну, вот мы и получили универсальную формулу, которая производит поиск значений в Excel и является очень гибкой и удобной. В случаях, когда возникнет необходимость добавить в рабочую книгу еще листы с таблицами, то необходимо всего на всего прописать их в списке рабочих листов $E$3:$E$7, изменив предварительно ее размер или попросту изначально сделать ее динамическим диапазоном, и править формулу будет не нужно.

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

    Поиск по нескольким листам с помощью макроса VBA

    Для тех, кто хочет производить поиск значений в Excel по своей рабочей книге с помощью макросов или просто сделать рутинную операцию более автоматической предлагаю воспользоваться прописанной функцией пользователя, которая будет искать необходимое значение во всех, без исключения, даже в скрытых, листах рабочей книги, в которую вы ее пропишете. Макрос был найден на сайте excel — vba.ru, который любит такие фишки.

    Функция будет иметь следующий вид:

    Function VLookUpAllSheets(vCriteria As Variant, rTable As Range, lColNum As Long, Optional iPart As Integer = 1) As Variant

    Dim rFndRng As Range

    If iPart <> 1 Then iPart = 2

    For i = 1 To Worksheets.Count

    If Sheets(i).Name <> Application.Caller.Parent.Name Then

    Set rFndRng = .Range(rTable.Address).Resize(, 1).Find(vCriteria, , xlValues, iPart)

    If Not rFndRng Is Nothing Then

    VLookUpAllSheets = rFndRng.Offset(, lColNum — 1).Value

    Расшифруются аргументы написанной функции так:

    • rTable – прописывается таблица, как в обыкновенной функции ВПР, для поиска значений;
    • vCriteria – аргумент, который указывает любое текстовое значение или ссылка на ячейку, которая содержит значение для поиска;
    • lColNum – прописывается тот номер столбика из аргумента rTable, значение в котором нам необходимо изъять, возможно, использовать ссылку на столбик с помощью функции СТОЛБЕЦ;
    • iPart – аргумент, в котором прописываем необходимый метод просмотра. Когда аргумент не указан или указан аргумент равно 1, в таком случае будет проводиться поиск с полным совпадением значений в ячейках. В таких случаях есть возможность применить символы подстановки: «*» и «?». Если же, в аргументе указано другое значение кроме 1, функция будет искать, и отбирать значения при частичном вхождении.

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

    Не забудьте подкинуть автору на кофе…

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

    Простой поиск

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

    В простейшем случае в появившемся окне «Найти и заменить» надо ввести искомое значение и щёлкнуть «Найти всё».

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

    Аналогично производится поиск текста. В этом случае в строке поиска набирается искомый текст.

    Если данные или текст ищется не во всей экселевской таблице, то область поиска предварительно должна быть выделена.

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

    Предположим, что требуется найти все значения в диапазоне от 3000 до 3999. В этом случае в строке поиска следует набрать 3. Подстановочный знак «?» заменяет собой любой другой.

    Анализируя результаты произведённого поиска, можно отметить, что, наряду с правильными 9 результатами, программа также выдала неожиданные, подчёркнутые красным. Они связаны с наличием в ячейке или формуле цифры 3.

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

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

    Это означает, что поиск производился, в том числе и в тех ячейках, где находится не значение, а формула. Наличие в них цифры 3 дало три неправильных результата. Если в качестве области поиска выбрать «Значения», то будет производиться только поиск данных и неправильные результаты, связанные с ячейками формул, исчезнут.

    Для того чтобы избавиться от единственного оставшегося неправильного результата на первой строчке, в окне расширенного поиска нужно выбрать пункт «Ячейка целиком». После этого результат поиска становимся точным на 100%.

    Такой результат можно было бы обеспечить, сразу выбрав пункт «Ячейка целиком» (даже оставив в «Области поиска» значение «Формулы»).

    Теперь обратимся к пункту «Искать».

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

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

    При поиске в документах Microsoft Excel, можно использовать и другой подстановочный знак – «*». Если рассмотренный «?» означал любой символ, то «*» заменяет собой не один, а любое количество символов. Ниже представлен скриншот поиска по слову Louisiana.

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

    Разновидности поиска

    Поиск совпадений

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

    Результат представлен на скриншоте ниже.

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

    Фильтрация

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

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

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

    Различные варианты поиска были рассмотрены на примере Excel 2010. Как сделать поиск в эксель других версий? Разница в переходе к фильтрации есть в версии 2003. В меню «Данные» следует последовательно выбрать команды «Фильтр», «Автофильтр», «Условие» и «Пользовательский автофильтр».

    Видео: Поиск в таблице Excel

    Источник

    Skip to content

    ИНДЕКС ПОИСКПОЗ как лучшая альтернатива ВПР

    В этом руководстве показано, как использовать ИНДЕКС и ПОИСКПОЗ в Excel и чем они лучше ВПР.

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

    • Краткий обзор функций ИНДЕКС и ПОИСКПОЗ
    • Как использовать формулу ИНДЕКС ПОИСКПОЗ
    • ИНДЕКС+ПОИСКПОЗ вместо ВПР?
    • Поиск справа налево
    • Двусторонний поиск в строках и столбцах
    • ИНДЕКС ПОИСКПОЗ для поиска по нескольким условиям
    • Как найти среднее, максимальное и минимальное значение
    • Что делать с ошибками поиска?

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

    Функции Excel ИНДЕКС и ПОИСКПОЗ — основы

    Поскольку целью этого руководства является демонстрация альтернативного способа выполнения поиска в Excel с использованием комбинации функций ИНДЕКС и ПОИСКПОЗ, мы не будем подробно останавливаться на их синтаксисе и использовании. Тем более, что это подробно рассмотрено в других статьях, ссылки на которые вы можете найти в конце этого руководства. Мы рассмотрим лишь минимум, необходимый для понимания общей идеи, а затем подробно рассмотрим примеры формул, раскрывающие все преимущества использования ПОИСКПОЗ и ИНДЕКС вместо ВПР.

    Функция ИНДЕКС

    Функция ИНДЕКС (в английском варианте – INDEX) возвращает значение в массиве на основе указанных вами номеров строк и столбцов. Синтаксис функции ИНДЕКС прост:

    ИНДЕКС(массив,номер_строки,[номер_столбца])

    Вот простое объяснение каждого параметра:

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

    Дополнительные сведения см. в статье Функция ИНДЕКС в Excel .

    А вот пример формулы ИНДЕКС в самом простом виде:

    =ИНДЕКС(A1:C10;2;3)

    Формула выполняет поиск в ячейках с A1 по C10 и возвращает значение ячейки во 2-й строке и 3-м столбце, т. е. в ячейке C2.

    Очень легко, правда? Однако при работе с реальными данными вы вряд ли когда-нибудь будете заранее знать, какие строки и столбцы вам нужны. Здесь вам пригодится ПОИСКПОЗ.

    Функция ПОИСКПОЗ

    Она ищет нужное значение в диапазоне ячеек и возвращает относительное положение этого значения в диапазоне.

    Синтаксис функции ПОИСКПОЗ следующий:

    ПОИСКПОЗ(искомое_значение, искомый_массив, [тип_совпадения])

    • искомое_значение — числовое или текстовое значение, которое вы ищете.
    • диапазон_поиска — диапазон ячеек, в которых будем искать.
    • тип_совпадения — указывает, следует ли искать точное соответствие или наиболее близкое совпадение:
      • 1 или опущено — находит наибольшее значение, которое меньше или равно искомому значению. Требуется сортировка массива поиска в порядке возрастания.
      • 0 — находит первое значение, точно равное искомому значению. В комбинации ИНДЕКС/ПОИСКПОЗ вам почти всегда нужно точное совпадение, поэтому вы чаще всего устанавливаете третий аргумент вашей функции в 0.
      • -1 — находит наименьшее значение, которое больше или равно искомому значению. Требуется сортировка массива поиска в порядке убывания.

    Например, если диапазон B1:B3 содержит значения «яблоки», «апельсины», «лимоны», приведенная ниже формула возвращает число 3, поскольку «лимоны» — это третья по счету запись в этом диапазоне:

    =ПОИСКПОЗ(«лимоны»;B1:B3;0)

    Дополнительные сведения см . в статье Функция ПОИСКПОЗ в Excel .

    На первый взгляд полезность функции ПОИСКПОЗ может показаться сомнительной. Кого волнует положение значения в диапазоне? Что мы действительно хотим определить, так это само значение.

    Однако, относительная позиция искомого значения (т. е. номера строки и столбца, в которых оно находится) — это именно то, что нам нужно указать для аргументов номер_строки и номер_столбца функции ИНДЕКС. Как вы помните, ИНДЕКС может найти значение на пересечении заданной строки и столбца, но сама не может определить, какую именно строку и столбец ей нужно выбрать.

    Вот поэтому совместное использование ИНДЕКС и ПОИСКПОЗ открывает перед нами массу возможностей для поиска в Excel.

    Как использовать формулу ИНДЕКС ПОИСКПОЗ в Excel

    Теперь, когда вы знаете основы, я считаю, что вы уже начали понимать, как ПОИСКПОЗ и ИНДЕКС работают вместе. Короче говоря, ИНДЕКС извлекает нужное значение по номерам столбцов и строк, а ПОИСКПОЗ предоставляет ей эти номера. Вот и все!

    Для вертикального поиска вы используете функцию ПОИСКПОЗ только для определения номера строки, указывая диапазон столбцов непосредственно в самой формуле:

    ИНДЕКС ( столбец для возврата значения ; ПОИСКПОЗ ( искомое значение ; столбец для поиска ; 0))

    Все еще не совсем понимаете эту логику? Возможно, будет проще разобрать на примере. Предположим, у вас есть список национальных столиц и их население:

    Чтобы найти население определенной столицы, скажем, Индии, используйте следующую формулу ПОИСКПОЗ ИНДЕКС:

    =ИНДЕКС(C2:C10; ПОИСКПОЗ(“Индия”;A2:A10;0))

    Теперь давайте проанализируем, что на самом деле делает каждый компонент этой формулы:

    • Функция ПОИСКПОЗ ищет искомое значение «Индия» в диапазоне A2:A10 и возвращает число 2, поскольку это слово занимает второе место в массиве поиска.
    • Этот номер поступает непосредственно в аргумент номер_строки функции ИНДЕКС, предписывая вернуть значение из этой строки.

    Таким образом, приведенная выше формула превращается в ИНДЕКС(C2:C10;2), которая означает, что нужно искать в ячейках от C2 до C10 и извлекать значение из второй ячейки в этом диапазоне, то есть из C3, потому что мы начинаем отсчет со второй строки.

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

    =ИНДЕКС(C2:C10;ПОИСКПОЗ(F1;A2:A10;0))

    Важное замечаниеКоличество строк в аргументе массив функции ИНДЕКС должно совпадать с количеством строк в аргументе просматриваемый_массив в ПОИСКПОЗ, иначе формула выдаст неверный результат.

    Вы спросите: «А почему бы нам просто не использовать обычную формулу ВПР? Какой смысл тратить время на то, чтобы разобраться в хитросплетениях ИНДЕКС ПОИСКПОЗ в Excel?»

    Вот как это будет выглядеть:

    =ВПР(F1; A2:C10; 3; 0)

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

    ИНДЕКС+ПОИСКПОЗ вместо ВПР?

    Решая, какую функцию использовать для вертикального поиска, большинство знатоков Excel сходятся во мнении, что ПОИСКПОЗ+ИНДЕКС намного лучше, чем ВПР. Однако многие до сих пор остаются с ВПР, во-первых, потому что это проще, а, во-вторых, потому что они не до конца понимают все преимущества использования формулы ПОИСКПОЗ ИНДЕКС в Excel. Без такого понимания никто не захочет тратить свое время на изучение более сложного синтаксиса.

    Ниже я укажу на ключевые преимущества ИНДЕКС ПОИСКПОЗ перед ВПР, а уж вам решать, является ли это достойным дополнением к вашему арсеналу знаний в Excel.

    4 основные причины использовать ИНДЕКС ПОИСКПОЗ вместо ВПР

    1. Поиск справа налево. Как известно любому образованному пользователю, ВПР не может искать влево. Это означает, что искомое значение всегда должно находиться в крайнем левом столбце таблицы. А извлекать нужное значение мы будем из столбца, который находится правее. ИНДЕКС+ПОИСКПОЗ может легко выполнять поиск влево! Здесь это показано в действии: Как выполнить поиск значения слева в Excel .
    2. Можно безопасно вставлять или удалять столбцы. Формулы ВПР не работают или выдают неверные результаты, когда новый столбец удаляется из таблицы поиска или добавляется в нее, поскольку синтаксис ВПР требует указания порядкового номера столбца, из которого вы хотите извлечь данные. Естественно, когда вы добавляете или удаляете столбцы, этот номер в формуле автоматически не меняется, а нужный столбец уже оказывается на новом месте.

    С функциями ИНДЕКС и ПОИСКПОЗ вы указываете диапазон возвращаемых столбцов, а не номер одного из них. В результате вы можете вставлять и удалять столько столбцов, сколько хотите, не беспокоясь об обновлении каждой связанной с ними формулы.

    1. Нет ограничений на размер искомого значения. При использовании функции ВПР общая длина ваших критериев поиска не может превышать 255 символов, иначе вы получите ошибку #ЗНАЧ!. Таким образом, если ваш набор данных содержит длинные строки, ИНДЕКС ПОИСКПОЗ — единственное работающее решение.
    2. Более высокая скорость обработки. Если ваши таблицы относительно небольшие, вряд ли будет какая-то существенная разница в производительности Excel. Но если ваши рабочие листы содержат сотни или тысячи строк и, следовательно, сотни или тысячи формул, ИНДЕКС ПОИСКПОЗ будет работать намного быстрее, чем ВПР. Причина в том, что Excel будет обрабатывать только столбцы поиска и возврата, а не весь массив таблицы.

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

    ИНДЕКС ПОИСКПОЗ в Excel – примеры формул

    Уяснив, почему все же стоит изучать ИНДЕКС ПОИСКПОЗ, давайте перейдем к самому интересному и посмотрим, как можно применить теоретические знания на практике.

    Формула для поиска справа налево

    Как уже упоминалось, ВПР не может получать значения слева от столбца поиска. Таким образом, если ваши значения поиска не находятся в самом левом столбце, нет никаких шансов, что формула ВПР принесет вам желаемый результат. Функция ПОИСКПОЗ ИНДЕКС в Excel более универсальна и не имеет особого значения, где расположены столбцы поиска и возврата.

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

    Записав искомое значение в G1, используйте следующую формулу для поиска в C2:C10 и возврата соответствующего значения из A2:A10:

    =ИНДЕКС(A2:A10; ПОИСКПОЗ(G1;C2:C10;0))

    СоветЕсли вы планируете использовать формулу ПОИСКПОЗ ИНДЕКС более чем для одной ячейки, обязательно зафиксируйте оба диапазона абсолютными ссылками  (например, $A$2:$A$10 и $C$2:$C$10), чтобы они не изменялись при копировании формулы.

    Двусторонний поиск в строках и столбцах

    В приведенных выше примерах мы использовали ИНДЕКС ПОИСКПОЗ вместо классической функции ВПР, чтобы вернуть значение из точно указанного столбца. Но что, если вам нужно искать в нескольких строках и столбцах? То есть, сначала нужно найти подходящий столбец, а уж потом извлечь из него значение? Другими словами, что, если вы хотите выполнить так называемый матричный или двусторонний поиск?

    Это может показаться сложным, но формула очень похожа на базовую функцию ПОИСКПОЗ ИНДЕКС в Excel, но с одним отличием. 

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

    ИНДЕКС(массив; ПОИСКПОЗ(значение_поиска1 ; столбец_поиска ; 0); ПОИСКПОЗ(значение_поиска2 ; столбец_поиска ; 0))

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

    С целевой страной в G1 (значение_поиска1) и целевым годом в G2 (значение_поиска2) формула принимает следующий вид:

    =ИНДЕКС(B2:D11; ПОИСКПОЗ(G1;A2:A11;0); ПОИСКПОЗ(G2;B1:D1;0))

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

    Всякий раз, когда вам нужно понять сложную формулу Excel, разделите ее на более мелкие части и посмотрите, что делает каждая отдельная функция:

    ПОИСКПОЗ(G1;A2:A11;0); – ищет в A2:A11 значение из ячейки G1 («США») и возвращает его позицию, которая равна 3.

    ПОИСКПОЗ(G2;B1:D1;0) – просматривает диапазон B1:D1, чтобы получить позицию значения из ячейки G2 («2015»), которая равна 3.

    Найденные выше номера строк и столбцов становятся соответствующими аргументами функции ИНДЕКС:

    ИНДЕКС(B2:D11, 3, 3)

    В результате вы получите значение на пересечении 3-й строки и 3-го столбца в диапазоне B2:D11, то есть из D4. Несложно? 

    ИНДЕКС ПОИСКПОЗ для поиска по нескольким условиям

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

    Вот общая формула ИНДЕКС ПОИСКПОЗ с несколькими критериями:

    {=ИНДЕКС( диапазон_возврата; ПОИСКПОЗ (1; ( критерий1 = диапазон1 ) * ( критерий2 = диапазон2 ); 0))}

    Примечание. Это формула массива , которую необходимо вводить с помощью сочетания клавиш Ctrl + Shift + Enter.

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

    Следующая формула ИНДЕКС ПОИСКПОЗ отлично работает:

    =ИНДЕКС(C2:C10; ПОИСКПОЗ(1; (F1=A2:A10) * (F2=B2:B10); 0))

    Где C2:C10 — это диапазон, из которого возвращается значение, F1 — это критерий1, A2:A10 — это диапазон для сравнения с критерием 1, F2 — это критерий 2, а B2:B10 — это диапазон для сравнения с критерием 2.

    Не забудьте правильно ввести формулу, нажав Ctrl + Shift + Enter, и Excel автоматически заключит ее в фигурные скобки, как показано на скриншоте ниже:

    Рис5

    Если вы не хотите использовать формулы массива, добавьте в формулу в F4 еще одну функцию ИНДЕКС и завершите ее ввод обычным нажатием Enter:

    =ИНДЕКС(C2:C10; ПОИСКПОЗ(1; ИНДЕКС((F1=A2:A10) * (F2=B2:B10); 0; 1); 0))

    Разберем пошагово, как это работает.

    Здесь используется тот же подход, что и в обычном сочетании ИНДЕКС ПОИСКПОЗ, где просматривается один столбец. Чтобы оценить несколько критериев, вы создаете два или более массива значений ИСТИНА и ЛОЖЬ, которые представляют совпадения и несовпадения для каждого отдельного критерия, а затем перемножаете соответствующие элементы этих массивов. Операция умножения преобразует ИСТИНА и ЛОЖЬ в 1 и 0 соответственно и создает массив, в котором единицы соответствуют строкам, которые удовлетворяют всем условиям. Функция ПОИСКПОЗ со значением поиска 1 находит первую «1» в массиве и передает ее позицию в ИНДЕКС, которая возвращает значение в этой позиции из указанного столбца.

    Вторая формула без массива основана на способности функции ИНДЕКС работать с массивами. Второй вложенный ИНДЕКС имеет 0 в номер_строки , так что он будет передавать весь массив столбцов в ПОИСКПОЗ.

    Среднее, максимальное и минимальное значение при помощи ИНДЕКС ПОИСКПОЗ

    Microsoft Excel имеет специальные функции для поиска минимального, максимального и среднего значения в диапазоне. Но что, если вам нужно получить значение из другой ячейки, связанной с этими значениями? Например,  получить название города с максимальным населением или узнать товар с минимальными продажами? В этом случае используйте функцию МАКС , МИН или СРЗНАЧ вместе с ИНДЕКС ПОИСКПОЗ.

    Максимальное значение.

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

    =ИНДЕКС(B2:B10; ПОИСКПОЗ(МАКС(C2:C10); C2:C10; 0))

    Скриншот с примером находится чуть ниже.

    Минимальное значение

    Теперь найдём город с самым маленьким населением в списке. Чтобы найти наименьшее число в столбце С и получить соответствующее ему значение из столбца В:

    =ИНДЕКС(B2:B10; ПОИСКПОЗ(МИН(C2:C10); C2:C10; 0))

    Ближайшее к среднему

    Теперь мы находим город, население которого наиболее близко к среднему значению. Чтобы вычислить позицию, наиболее близкую к среднему значению показателя, рассчитанному из D2:D10, и получить соответствующее значение из столбца C, используйте следующую формулу:

    =ИНДЕКС(B2:B10; ПОИСКПОЗ(СРЗНАЧ(C2:C10); C2:C10; -1 ))

    В зависимости от того, как организованы ваши данные, укажите 1 или -1 для третьего аргумента (тип_совпадения) функции ПОИСКПОЗ:

    • Если ваш столбец поиска (столбец D в нашем случае) отсортирован по возрастанию , поставьте 1. Формула вычислит наибольшее значение, которое меньше или равно среднему значению.
    • Если ваш столбец поиска отсортирован по убыванию , введите -1. Формула вычислит наименьшее значение, которое больше или равно среднему значению.
    • Если ваш массив поиска содержит значение , точно равное среднему, вы можете ввести 0 для точного совпадения. Никакой сортировки не требуется.

    В нашем примере данные в столбце D отсортированы в порядке убывания, поэтому мы используем -1 для типа соответствия. В результате мы получаем «Токио», так как его население (13 189 000) является ближайшим, превышающим среднее значение (12 269 006).

    Что делать с ошибками поиска?

    Как вы, наверное, заметили, если формула ИНДЕКС ПОИСКПОЗ в Excel не может найти искомое значение, она выдает ошибку #Н/Д. Если вы хотите заменить это стандартное сообщение чем-то более информативным, оберните формулу ПОИСКПОЗ ИНДЕКС в функцию ЕСНД . Например:

    =ЕСНД(ИНДЕКС(C2:C10; ПОИСКПОЗ(F1;A2:A10;0)); «Не найдено»)

    И теперь, если кто-то вводит значение, которое не существует в диапазоне поиска, формула явно сообщит пользователю, что совпадений не найдено:

    Если вы хотите перехватывать все ошибки, а не только #Н/Д, используйте функцию ЕСЛИОШИБКА вместо ЕСНД:

    =ЕСЛИОШИБКА(ИНДЕКС(C2:C10; ПОИСКПОЗ(F1;A2:A10;0)); «Что-то пошло не так!»)

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

    Итак, еще раз об основных преимуществах формулы ИНДЕКС ПОИСКПОЗ.

    • Возможен ли «левый» поиск?

    • Повлияет ли на результат вставка и удаление столбцов?

      Вы можете вставлять и удалять столько столбцов, сколько хотите. На результат ИНДЕКС ПОИСКПОЗ это не повлияет.

    • Возможен ли поиск по строкам и столбцам?

      Можно сначала найти подходящий столбец, а уж потом извлечь из него значение. Общий вид формулы:
      ИНДЕКС(массив; ПОИСКПОЗ(значение_поиска1 ; столбец_поиска ; 0); ПОИСКПОЗ(значение_поиска2 ; столбец_поиска ; 0))
      Подробную инструкцию смотрите здесь.

    • Как сделать поиск ИНДЕКС ПОИСКПОЗ по нескольким условиям?

      Можно выполнять поиск по двум или более условиям без добавления дополнительных столбцов. Вот формула массива, которая решит проблему:
      {=ИНДЕКС( диапазон_возврата; ПОИСКПОЗ (1; ( критерий1 = диапазон1 ) * ( критерий2 = диапазон2 ); 0))}

    Вот как можно использовать ИНДЕКС и ПОИСКПОЗ в Excel. Я надеюсь, что наши примеры формул окажутся полезными для вас.

    Вот еще несколько статей по этой теме:

    Ингвар, доброго времени.

    В качестве не очень изящного, но всё-таки решения могу предложить следующую формулу, которую можно протянуть по всем ячейкам Вашего примера. Вставлять в B3 на Листе1.

    Код

    =ЕСЛИОШИБКА(ВПР(A3;Лист2!$A$3:$B$4;2;0);ЕСЛИОШИБКА(ВПР(A3;Лист3!$A$3:$B$5;2;0);ВПР(A3;Лист4!$A$3:$B$6;2;0)))

    На первый взгляд выглядит довольно объёмно и страшно, но если разобраться — довольно проста.

    Простейшая функция для поиска — ВПР. С её помощью можно найти данные по одной таблице. Что, я уверен, Вы уже с лёгкостью делаете. Если ВПР будет искать в таблице, где НЕТ того, что мы ищем (например, если искать «единицу» на «Листе3» Вашего примера), формула выдаёт ошибку Н/Д. И это свойство можно использовать.

    Функция ЕСЛИОШИБКА проверяет то, что мы вводим. И если наша функция внутри ЕСЛИОШИБКИ выдает, например, Н/Д, то ЕСЛИОШИБКА выдаст нам второе значение, записанное через точку с запятой. И моя формула построена следующим образом:

    = ЕСЛИОШИБКА (*искать в первой таблице* ; *если не нашли в первой таблице, ищем во второй* )

    При этом внутрь условного куска *если не нашли в первой таблице, ищем во второй* можно вложить вторую ЕСЛИОШИБКА для просмотра ещё одной таблицы. Что я и сделал. Получилось:

    = ЕСЛИОШИБКА (*искать в первой таблице* ; ЕСЛИОШИБКА ( *искать во второй таблице* ; *искать в третьей таблице) )

    При этом таких вложений из ЕСЛИОШИБКА можно сделать не ограниченное количество.

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

    Ингвар, подходит Вам такое решение?

    Как быстро найти значение на нескольких листах или в книгах?

    Вы когда-нибудь задумывались о поиске определенного значения на нескольких листах или книгах в Excel? В этом руководстве представлены различные методы решения проблем, связанных с поиском на нескольких листах или поиском в нескольких книгах.

    Поиск значения на нескольких листах книги с помощью функции поиска и замены

    Искать значение во всех книгах папки с VBA

    Быстрый поиск значения в нескольких открытых книгах с помощью Kutools for Excel хорошая идея3


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

    1. Выберите несколько вкладок листов, на которых вы хотите найти значение, удерживая Ctrl и щелкнув листы в Панель вкладок листа по одному. Смотрите скриншот:

    значение поиска документа на нескольких листах 1

    2. Затем нажмите Ctrl + F для Найти и заменить окна и введите значение, которое вы хотите найти, в Найти то, что текстовое поле под Найти Вкладка, а затем нажмите кнопку Найти все кнопку, чтобы просмотреть все результаты. Смотрите скриншот:

    значение поиска документа на нескольких листах 2



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

    1. Включите новую книгу и выберите ячейку, затем нажмите Alt + F11 ключи для открытия Microsoft Visual для базовых приложений окно.

    2. Нажмите Вставить > Модули и вставьте ниже VBA в новое окно модуля.

    VBA: поиск значения во всех книгах папки.

    Sub SearchFolders()
    'UpdatebyKutoolsforExcel20200913
        Dim xFso As Object
        Dim xFld As Object
        Dim xStrSearch As String
        Dim xStrPath As String
        Dim xStrFile As String
        Dim xOut As Worksheet
        Dim xWb As Workbook
        Dim xWk As Worksheet
        Dim xRow As Long
        Dim xFound As Range
        Dim xStrAddress As String
        Dim xFileDialog As FileDialog
        Dim xUpdate As Boolean
        Dim xCount As Long
        Dim xAWB As Workbook
        Dim xAWBStrPath As String
        Dim xBol As Boolean
        Set xAWB = ActiveWorkbook
        xAWBStrPath = xAWB.Path & "" & xAWB.Name
        On Error GoTo ErrHandler
        Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
        xFileDialog.AllowMultiSelect = False
        xFileDialog.Title = "Select a forlder"
        If xFileDialog.Show = -1 Then
            xStrPath = xFileDialog.SelectedItems(1)
        End If
        If xStrPath = "" Then Exit Sub
        xStrSearch = "KTE"
        xUpdate = Application.ScreenUpdating
        Application.ScreenUpdating = False
        Set xOut = Worksheets.Add
        xRow = 1
        With xOut
            .Cells(xRow, 1) = "Workbook"
            .Cells(xRow, 2) = "Worksheet"
            .Cells(xRow, 3) = "Cell"
            .Cells(xRow, 4) = "Text in Cell"
            Set xFso = CreateObject("Scripting.FileSystemObject")
            Set xFld = xFso.GetFolder(xStrPath)
            xStrFile = Dir(xStrPath & "*.xls*")
            Do While xStrFile <> ""
                xBol = False
                If (xStrPath & "" & xStrFile) = xAWBStrPath Then
                    xBol = True
                    Set xWb = xAWB
                Else
                    Set xWb = Workbooks.Open(Filename:=xStrPath & "" & xStrFile, UpdateLinks:=0, ReadOnly:=True, AddToMRU:=False)
                End If
                For Each xWk In xWb.Worksheets
                    If xBol And (xWk.Name = .Name) Then
                    Else
                    Set xFound = xWk.UsedRange.Find(xStrSearch)
                    If Not xFound Is Nothing Then
                        xStrAddress = xFound.Address
                    End If
                    Do
                        If xFound Is Nothing Then
                            Exit Do
                        Else
                            xCount = xCount + 1
                            xRow = xRow + 1
                            .Cells(xRow, 1) = xWb.Name
                            .Cells(xRow, 2) = xWk.Name
                            .Cells(xRow, 3) = xFound.Address
                            .Cells(xRow, 4) = xFound.Value
                        End If
                        Set xFound = xWk.Cells.FindNext(After:=xFound)
                    Loop While xStrAddress <> xFound.Address
                    End If
                Next
                If Not xBol Then
                xWb.Close (False)
                End If
                xStrFile = Dir
            Loop
            .Columns("A:D").EntireColumn.AutoFit
        End With
        MsgBox xCount & " cells have been found", , "Kutools for Excel"
    ExitHandler:
        Set xOut = Nothing
        Set xWk = Nothing
        Set xWb = Nothing
        Set xFld = Nothing
        Set xFso = Nothing
        Application.ScreenUpdating = xUpdate
        Exit Sub
    ErrHandler:
        MsgBox Err.Description, vbExclamation
        Resume ExitHandler
    End Sub
    

    3. Затем нажмите F5 ключа или Run кнопку для выполнения этого VBA и Выберите папку Появится диалоговое окно, напоминающее вам о выборе папки, в которой вы хотите искать значение. Смотрите скриншот:

    значение поиска документа на нескольких листах 3

    4. Затем щелкните OK и другое диалоговое окно появляется, чтобы напомнить вам, сколько ячеек было найдено. Смотрите скриншот:

    значение поиска документа на нескольких листах 4

    5. Нажмите OK в Закрыть его, и все найденные ячейки будут перечислены на текущем листе с соответствующей информацией.

    значение поиска документа на нескольких листах 5

    Наконечник: В приведенном выше VBA вы ищете значение «КТЕ», и вы можете изменить «КТЕ» из этого xStrSearch = «КТЭ« на другое значение по мере необходимости.


    Если вы просто хотите найти значение в нескольких открытых книгах, вы можете использовать Kutools for Excel»продвинутый Найти и заменить утилита.

    После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:

    1. В одной из открытых книг щелкните Кутулс > Навигация, а затем нажмите Найти и заменить кнопка кнопка поиска документов идти на Найти и заменить панель. Смотрите скриншот:

    значение поиска документа на нескольких листах 6

    2. Затем нажмите Найти вкладка и введите значение, которое вы хотите найти в Найти то, что текстовое поле, а затем выберите Все книги из В раскрывающийся список и нажмите Найти все чтобы перечислить все найденные ячейки. Смотрите скриншот:
    doc kutools найти заменить 2

    Наконечник:

    Работы С Нами Kutools for Excelпродвинутый Найти и заменить Утилита, вы можете искать и заменять значения на выбранных листах в нескольких книгах, во всех книгах, активной книге, активном листе или выборе.
    doc kutools найти заменить 3


    Относительные статьи:

    • Как быстро найти и заменить на нескольких листах или во всей книге?
    • Как быстро найти и заменить в нескольких открытых файлах Excel?
    • Как найти наибольшее отрицательное значение (меньше 0) в Excel?
    • Как извлечь все дубликаты из столбца в Excel?

    Лучшие инструменты для работы в офисе

    Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

    • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
    • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
    • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
    • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
    • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
    • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
    • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
    • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
    • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

    вкладка kte 201905


    Вкладка Office: интерфейс с вкладками в Office и упрощение работы

    • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
    • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
    • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

    офисный дно

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

    Описание

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

    Создание образца листа

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

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

    A

    B

    C

    D

    E

    1

    Имя

    Правитель

    Возраст

    Поиск значения

    2

    Анри

    501

    Плот

    Иванов

    3

    Стэн

    201

    19

    4

    Иванов

    101

    максималь

    5

    Ларри

    301

    составляет

    Определения терминов

    В этой статье для описания встроенных функций Excel используются указанные ниже условия.

    Термин

    Определение

    Пример

    Массив таблиц

    Вся таблица подстановки

    A2: C5

    Превышающ

    Значение, которое будет найдено в первом столбце аргумента «инфо_таблица».

    E2

    Просматриваемый_массив
    -или-
    Лукуп_вектор

    Диапазон ячеек, которые содержат возможные значения подстановки.

    A2: A5

    Номер_столбца

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

    3 (третий столбец в инфо_таблица)

    Ресулт_аррай
    -или-
    Ресулт_вектор

    Диапазон, содержащий только одну строку или один столбец. Он должен быть такого же размера, что и просматриваемый_массив или Лукуп_вектор.

    C2: C5

    Интервальный_просмотр

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

    ЛОЖЬ

    Топ_целл

    Это ссылка, на основе которой вы хотите основать смещение. Топ_целл должен ссылаться на ячейку или диапазон смежных ячеек. В противном случае функция СМЕЩ возвращает #VALUE! значение ошибки #ИМЯ?.

    Оффсет_кол

    Число столбцов, находящегося слева или справа от которых должна указываться верхняя левая ячейка результата. Например, значение «5» в качестве аргумента Оффсет_кол указывает на то, что верхняя левая ячейка ссылки состоит из пяти столбцов справа от ссылки. Оффсет_кол может быть положительным (то есть справа от начальной ссылки) или отрицательным (то есть слева от начальной ссылки).

    Функции

    LOOKUP ()

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

    Ниже приведен пример синтаксиса формулы подСТАНОВКи.

       = Просмотр (искомое_значение; Лукуп_вектор; Ресулт_вектор)


    Следующая формула находит возраст Марии на листе «образец».

       = ПРОСМОТР (E2; A2: A5; C2: C5)

    Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в векторе подстановки (столбец A). Формула затем соответствует значению в той же строке в векторе результатов (столбец C). Так как «Мария» находится в строке 4, функция Просмотр возвращает значение из строки 4 в столбце C (22).

    Примечание. Для функции Просмотр необходимо, чтобы таблица была отсортирована.

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

    Использование функции Просмотр в Excel

    ВПР ()

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

    Ниже приведен пример синтаксиса формулы ВПР :

        = ВПР (искомое_значение; инфо_таблица; номер_столбца; интервальный_просмотр)

    Следующая формула находит возраст Марии на листе «образец».

       = ВПР (E2; A2: C5; 3; ЛОЖЬ)

    Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в левом столбце (столбец A). Формула затем совпадет со значением в той же строке в Колумн_индекс. В этом примере используется «3» в качестве Колумн_индекс (столбец C). Так как «Мария» находится в строке 4, функция ВПР возвращает значение из строки 4 В столбце C (22).

    Чтобы получить дополнительные сведения о функции ВПР , щелкните следующий номер статьи базы знаний Майкрософт:
     

    Как найти точное совпадение с помощью функций ВПР или ГПР

    INDEX () и MATCH ()

    Вы можете использовать функции индекс и ПОИСКПОЗ вместе, чтобы получить те же результаты, что и при использовании поиска или функции ВПР.

    Ниже приведен пример синтаксиса, объединяющего индекс и Match для получения одинаковых результатов поиска и ВПР в предыдущих примерах:

        = Индекс (инфо_таблица; MATCH (искомое_значение; просматриваемый_массив; 0); номер_столбца)

    Следующая формула находит возраст Марии на листе «образец».


    = ИНДЕКС (A2: C5; MATCH (E2; A2: A5; 0); 3)

    Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в столбце A. Затем он будет соответствовать значению в той же строке в столбце C. Так как «Мария» находится в строке 4, формула возвращает значение из строки 4 в столбце C (22).

    Обратите внимание Если ни одна из ячеек в аргументе «число» не соответствует искомому значению («Мария»), эта формула будет возвращать #N/А.
    Чтобы получить дополнительные сведения о функции индекс , щелкните следующий номер статьи базы знаний Майкрософт:

    Поиск данных в таблице с помощью функции индекс

    СМЕЩ () и MATCH ()

    Функции СМЕЩ и ПОИСКПОЗ можно использовать вместе, чтобы получить те же результаты, что и функции в предыдущем примере.

    Ниже приведен пример синтаксиса, объединяющего смещение и сопоставление для достижения того же результата, что и функция Просмотр и ВПР.

       = СМЕЩЕНИЕ (топ_целл, MATCH (искомое_значение; просматриваемый_массив; 0); Оффсет_кол)

    Эта формула находит возраст Марии на листе «образец».

       = СМЕЩЕНИЕ (A1; MATCH (E2; A2: A5; 0); 2)

    Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в столбце A. Формула затем соответствует значению в той же строке, но двум столбцам справа (столбец C). Так как «Мария» находится в столбце A, формула возвращает значение в строке 4 в столбце C (22).

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

    Использование функции СМЕЩ

    Нужна дополнительная помощь?

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

    Одновременный поиск по нескольким диапазонам

    Для наглядного примера создадим три простые отдельные таблицы расположенных в несмежных диапазонах одного листа:

    3 таблицы.

    Следует выполнить поиск суммы необходимой для производства 20-ти штук продуктов. К сожалению, эти данные находятся в разных столбцах и строках. Поэтому в первую очередь нужно проверить сколько потребуется времени для производства этих продуктов (первая таблица).

    На основе полученных данных необходимо сразу перейти к поиску по другой таблице и найти какое количество работников должно быть вовлечено к данному объему производства. Полученный результат должен сравнивается с данными третей таблицы. Таким образом мы за одно операцию поиска по трем таблицам сразу определим необходимые затраты (сумму).

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

    1. В ячейке E6 введите значение 20, которое является условием для поискового запроса.
    2. В ячейке E7 введите следующую формулу:

    Готово!

    Результат поиска.

    Производственная себестоимость для 20 шт. определенного товара.

    

    Как работает формула с ВПР в нескольких таблицах:

    Принцип действия данной формулы основан на поочередном поиске всех аргументов для главной функции ВПР (первой). Сначала третья функция ВПР ищет по первой таблице количество времени необходимое для производства 20 штук продукта указанного в качестве значения для ячейки E6 (которое потом можно изменять при необходимости). Потом вторая функция ВПР ищет значение для первого аргумента главной функции.

    В результате поиска третьей функции мы получаем значение 125, которое является первым аргументом для второй функции. Получив все параметры, вторая функция ищет во второй таблице количество требуемых работников для производства. В результате возвращено значение 5, которое дальше будет использовано главной функцией. На основе всех полученных данных формула возвращает финальный результат вычисления. А именно сумму 1750$ необходимую для производства 20 штук определенного товара.

    По этом уже принципу можно использовать формулы для функции ВПР из нескольких листов.

    Понравилась статья? Поделить с друзьями:
  • Excel поиск по всей книге формула
  • Excel поиск по базе данных если есть то
  • Excel поиск переноса строки в ячейке
  • Excel поиск переноса строк
  • Excel поиск перенос строки