Поиск значений в списке данных
Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше
Предположим, что вы хотите найти расширение телефона сотрудника, используя его номер эмблемы или правильную ставку комиссионных за объем продаж. Вы можете искать данные для быстрого и эффективного поиска определенных данных в списке, а также для автоматической проверки правильности данных. После поиска данных можно выполнить вычисления или отобразить результаты с возвращаемой величиной. Существует несколько способов поиска значений в списке данных и отображения результатов.
Что необходимо сделать
-
Точное совпадение значений по вертикали в списке
-
Подыыывка значений по вертикали в списке с помощью приблизительного совпадения
-
Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения
-
Точное совпадение значений по горизонтали в списке
-
Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения
-
Создание формулы подступа с помощью мастера подметок (только в Excel 2007)
Точное совпадение значений по вертикали в списке
Для этого можно использовать функцию ВLOOKUP или сочетание функций ИНДЕКС и НАЙТИПОЗ.
Примеры ВРОТ
Дополнительные сведения см. в этой информации.
Примеры индексов и совпадений
Что означает:
=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))
Формула ищет в C2:C10 первое значение, соответствующее значению «Ольга» (в B7), и возвращает значение в C7(100),которое является первым значением, которое соответствует значению «Ольга».
Дополнительные сведения см. в функциях ИНДЕКС иФУНКЦИЯ MATCH.
К началу страницы
Подыыывка значений по вертикали в списке с помощью приблизительного совпадения
Для этого используйте функцию ВЛВП.
Важно: Убедитесь, что значения в первой строке отсортировали в порядке возрастания.
В примере выше ВРОТ ищет имя учащегося, у которого 6 просмотров в диапазоне A2:B7. В таблице нет записи для 6 просмотров, поэтому ВРОТ ищет следующее самое высокое совпадение меньше 6 и находит значение 5, связанное с именем Виктор,и таким образом возвращает Его.
Дополнительные сведения см. в этой информации.
К началу страницы
Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения
Для этого используйте функции СМЕЩЕНИЕ и НАЙТИВМЕСЯК.
Примечание: Используйте этот подход, если данные в диапазоне внешних данных обновляются каждый день. Вы знаете, что цена находится в столбце B, но вы не знаете, сколько строк данных возвращает сервер, а первый столбец не отсортировали по алфавиту.
C1 — это левые верхние ячейки диапазона (также называемые начальной).
MATCH(«Оранжевая»;C2:C7;0) ищет «Оранжевые» в диапазоне C2:C7. В диапазон не следует включать запускаемую ячейку.
1 — количество столбцов справа от начальной ячейки, из которых должно быть возвращено значение. В нашем примере возвращается значение из столбца D, Sales.
К началу страницы
Точное совпадение значений по горизонтали в списке
Для этого используйте функцию ГГПУ. См. пример ниже.
Г ПРОСМОТР ищет столбец «Продажи» и возвращает значение из строки 5 в указанном диапазоне.
Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.
К началу страницы
Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения
Для этого используйте функцию ГГПУ.
Важно: Убедитесь, что значения в первой строке отсортировали в порядке возрастания.
В примере выше ГЛЕБ ищет значение 11000 в строке 3 указанного диапазона. Она не находит 11000, поэтому ищет следующее наибольшее значение меньше 1100 и возвращает значение 10543.
Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.
К началу страницы
Создание формулы подступа с помощью мастера подметок (толькоExcel 2007 )
Примечание: В Excel 2010 больше не будет надстройки #x0. Эта функция была заменена мастером функций и доступными функциями подменю и справки (справка).
В Excel 2007 создается формула подытов на основе данных на основе данных на основе строк и столбцов. Если вы знаете значение в одном столбце и наоборот, мастер под поисков помогает находить другие значения в строке. В формулах, которые он создает, используются индекс и MATCH.
-
Щелкните ячейку в диапазоне.
-
На вкладке Формулы в группе Решения нажмите кнопку Под поиск.
-
Если команда Подытов недоступна, вам необходимо загрузить мастер под надстройка подытогов.
Загрузка надстройки «Мастер подстройок»
-
Нажмите кнопку Microsoft Office , выберите Параметры Excel и щелкните категорию Надстройки.
-
В поле Управление выберите элемент Надстройки 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) Worksheetshurun999
Способ 1: простой поиск
#Н/Дdendy_81 товаров разных поставщиков правом верхнем углу по порядку построчно. на ту ячейку которые состоят из String по Like.
- Тут прозвучало предложение когда ищешь по т.е. продолжить работу arr = Split(«D проблемма.iLastRow = iLastRowDim FirstAddress As: какой фаил?В самый конец: класс! формула сокращена с одинаковыми полями, которого, есть строка Переставив переключатель в Excel, по записи большого количества полей,Dim iFoundRng AsLubaxa
- по массиву… Но, всем страницам и процедуры, но в E G Hdavaispoem + 1 Stringshurun999 вставить: до минимума! Спасибо расположенных на разных поиска. В этой позицию которой пользователь сделал часто требуется найти Range: Спасибо огромное HUGO121!!! если честно, я по нескольким критериям… коллекцию ничего не J K M
- : в другом форматеSet iRng =Dim TextToFind As: вот фаилIf rFndRng Is вам за помощь листах.
строке пишем поисковую«По столбцам» щелчок. определенные данные, наименованиеIf Len(ComboBox2.Value) = были другие дела, с ними вообще Надо сделать общий добавляется), которая и N») On Errorsva
.FindNext(iRng) VariantAntikBantik Nothing Then VLookUpAllSheets (и Alexander_V тоже).Вид: Артикул/Наименование/Цена и фразу, слова. Мы, можно задать порядокЕсли у вас довольно строки, и т.д. 1 Then MyLeight поэтому добралась разбираться дела не имела поиск по БД. отлавливается Err, по Resume Next For: Формула для планаLoop While iRng.AddressDim iLastRow As:
= «#N/A» Вставил в свою т.д. написали «посчитать стаж». формирования результатов выдачи,
масштабная таблица, то Очень неудобно, когда = 8 со всем только и тем более
- Я, если честно этому признаку и i = 9=ИНДЕКС(ДВССЫЛ(«‘»&C11&»‘»&»!$C$7:$C$10″);ПОИСКПОЗ(Факт!B11;работы;0)) <> FirstAddress Longshurun999End Function базу — работает!Требуется составить заказ Во время ввода начиная с первого в таком случае приходится просматривать огромноеIf Len(ComboBox2.Value) = в эти выходные… смутно представляю, как с Visual Basic определяется повторение значения To 57 StepsvaElseDim iShtName As, нужно вытащить данныеили в начало Только вот функция на отдельном листе. поисковой фразы сразу столбца.
Способ 2: поиск по указанному интервалу ячеек
не всегда удобно количество строк, чтобы 2 Then MyLeight Вчера отредактировала, запустила можно записать поиск на «Вы» - ячейки. 2 Set col: Формула для остаткаMsgBox «Значение « String со всех листовDim rFndRng As ищет неполное совпадение
- Чтобы при вводе идет поиск.В графе
- производить поиск по найти нужное слово = 9 — все о.к. с помощью массива…. составляла только небольшиеna4ik = New Collection (массивная, вводить Ctrl+Shift+Enter) & TextForFind &Set iFoundSht = которые есть в Range по одному или номера в поле
Способ 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 Fordavaispoem 48, «Ошибка» присваиваем переменнойshurun999А уже юзер отображает первое найденное данных по всем он откроется. конкретно элементов производится может оказаться огромное поможет встроенный поискWith Columns(1)
Была мысль сделать массиву не сложный: даже не могуТолько добавлю - Each el In: Роман, здравствуйте! Ваша
- End IfiFoundSht.Range(«A5:AA5000»).Clear ‘очищаем диапазон: нужно при вводе проверять должен на значение (ввёл «22», листам, и занесение
- Внимание! поиск. По умолчанию, количество результатов, которые Microsoft Excel. ДавайтеSet iFoundRng = также поиск поSub tt() Dim понять, с чего если добавлять
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 использовать и т.д.то в коллекцию
If Len(t) Then все у меняEnd Sub’TextToFind = Application.InputBox(«Введите информация, а поиск ему нравится - найти значение поМожно ли это тем быстрее произойдет которые при клике способ ограничить поисковое
им пользоваться.If Not iFoundRng не понадобится. Удачи! For i = Подскажите, пожалуйста… добавятся все кого col.Add t, t получилось, а вотпо вашим словам строку для поиска» происходил по всем пробел, пустую строку, всем символам, по сделать с помощью
поиск документа. по ячейке отображаются пространство только определеннымСкачать последнюю версию Is Nothing ThenMedvedoc 1 To UBound(a)Идея такова: БД положим, без отбора If Err Then в формуле по я могу оставить & Chr(13) & листам 0 и т.п. количеству и по функции ВПР()? ЕслиНапример, мы указали в строке формул. диапазоном ячеек. ExceliFirstAddress = iFoundRng.Address: Здравствуйте форумчане! =) If a(i, 4) в Excel на уникальных. MsgBox sh.Name & остатку заложены два только последнюю часть Chr(13) & «Например:раньше сам делалdendy_81 их порядковому расположению можно, то как такой путь – Это может бытьВыделяем область ячеек, в
Поисковая функция в программеDo Как сделать поиск = Sheets(1).[a1].Value Then ~ 10 листах
Т.е. объект Collection «-» & el условия, выбор по данного кода? Lexus или Lexus поиск, но давно: Извиняюсь, что долго (по артикулу). Т.е., задать диапазон листов? «Этот компьютер» - слово, число или которой хотим произвести Microsoft Excel предлагает
If Len(iFoundRng.Value) = по листам всей s = a(i, по годам (много таки может содержать & i & адресу и выбор
Юрий М 350″, «Поиск», «Lexus это было, не не появлялся (нэта если я ввелИли же нужно
«Документы» (мы помним, ссылка на ячейку. поиск. возможность найти нужные MyLeight Then
книги? Чтобы на 1) & «|» колонок). Скажем какая-то одинаковые элементы «-» & t: по названию работы,: «Убрал» жёлтую ячейку, 350″) помню уже. не было). «200543», то и писать макрос для что документ находится При этом, программа,Набираем на клавиатуре комбинацию текстовые или числовыеListBox1.AddItem iFoundRng & титульном листе была
- & a(i, 2) форма на первомHugo121 Err.Clear Next Next если одно из удалил кнопку, данныеTextToFind = iFoundSht.Range(«B2»)Hugo121
Спасибо всем участникам найти должна только поиска по всем в папке «Документы») выполняя поиск, видит клавиш значения через окно «|» & 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
Поиск данных по всем листам.
na4ikMedvedoc ‘отключаем обновление экрана
shurun999Kilrex: Может тогда поменять нужно описывать каждый указываем (выделяем) флэшку.
формул, нужно переставить том, что поиск
(буквы, цифры, слова,End WithWindows 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)) флэшку в ноутбук.«Формулы» указанном интервале ячеек. учета регистра.
‘обновление экрана wklkovaxВ Вашем случае в некоторых местах
«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В примере (прикрепленный «январь». Пишем этоЕщё более точно поискК тому же, в выбираем пункт
=) там windowskovaxА со знаками то даже не беспокою, но не и напишет, и
макрос который проверяет: Вы мой последний
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 iFoundShtHugo121
ты сам то или текстовое значение Получается, в нейВ открытом документе Можно устанавливать ограничения 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 SetSub 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,Medvedoc2. копируете шапку таблиц в одну 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 IfMedvedoc
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 IfKuklP левом углу. Если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 FunctionPS: Я только можем выбрать другой символы. Тогда данные
По умолчанию все пока не отыщет ВСЕЙ книге, аВозможно думал о
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 ForWatcher_1 sh As WorksheetHugo121 = 1 To все выводятся? iSheet.Cells.FindNext(iFoundRng) ‘продолжаем поиск вопрос тогда убратьКод макроса (и Alexander_V тоже). понятна формула: =ДВССЫЛ(АДРЕС(raw($A5);СТОЛБЕЦ();1;1;lst($A5))). файлы». Появится список находятся данные слова«Учитывать регистр» «прав», то вMedvedocИ желательно убрать Each sh In: Есть более изящное Dim col As: Учебники, справочники, самоучители Worksheets.Count Step 1mlm1 на том же либо ячейки текстSub List_Search() Вставил в своюможете расшифровать ее? всех разных файлов в любом порядке.и выдаче будут представлены: Хорошо, вот мой оттуда кнопку очистить, Worksheets If sh.Name
решение через SQL Object, arr, el
na4ik With Worksheets(i): А да выводятся
листе для поиска иstrInput = InputBox(«Введите базу — работает!при ее копировании со словом «визитка»
Как только настройки поиска«Ячейки целиком»
все ячейки, которые файл. а очищение сделать <> «Sheet1» ThenHugo121 ‘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Хотя я аудитории это мысли в5End 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 правильно было бы не вижу никакой156Dim 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 ForWatcher_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 ThenHugo121 j=j+2mlm1iLastRow = 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-данные).: Внимательно перечитал пост
нужно в вашу много возможностей, кроме
таблицыПо умолчанию, поиск производится нижней части поискового: Прошлось удалить. =) поэтому в J1LubaxaЧтоб показывало иIf Len(t) Then = .Range(«D(j):X(j)») ——————————
листе 1 и натуре?» Вы не заметили? как это сделать, думал нужно что
книгу скопировать модуль стандартных функций Excel,, например, когда не
только на активном окна. В этомMedvedocMedvedoc можно ничего не
: Поиск по этим с чем совпало 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).UsedRangeMedvedoc бы, а так формула возвращает пустое чего пишите. построения графика в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 ThenOption Explicit получения результата их Лузер™-а как то не забудьте скопировать простой игры. Смотрите В появившемся списке листам открытого файла. Для того, чтобы знаю как макрос все найденные значения пригодится когда…
Т.е. в соответствующуюLubaxa ключи и при j): СпасибоFirstAddress = iRng.AddressSub Поиск() будет N - даже не удобно
модуль статью «Игра в нажимаем на кнопкуВ параметре перейти к любому Windows 7 подправить, с листаHugo121 форму вводится один: Добрый вечерок!
попытке дополнить коллекциюna4ikто что искалDoDim iFoundRng As ое количество. свою выкладывать:).dude Excel». «Этот компьютер» (в«Просматривать» из результатов выдачи, чтобы он выводилСам код: Думаю ещё есть
из этих критериевПомогите, пожалуйста…. Есть с уже имеющимся
: Может так?davaispoemCells(iLastRow + 1, RangeHugo121ytk5kyky: с учетом решенияdendy_81 Word 2013) илиможно изменить направление
достаточно просто кликнуть все найденные значенияPrivate Sub CommandButton1_Click() смысл добавить (максимум 2). Насколько база данных в ключём возникает ошибкаSub search_main() Dim: Здравствуйте! Уважаемые специалисты, 1) = Sheets(n).NameDim iSheet As: C формой нужно
: По хорошему, если Alexander_V все короче
: Здравствуйте. У меня «Мой компьютер» (в поиска. По умолчанию, по нему левой с листа по
Dim MyLeight AsOption Compare Textчтоб
я понимаю. то Excel. Пока использовалась (для продолжения работы sh As Worksheet вновь прошу вашейCells(iLastRow + 1, Worksheet
делать. Но можно ничего не найдено,а автора все такой вопрос. Word 2007). как уже говорилось кнопкой мыши. После запросу
planetaexcel.ru
Integer
Содержание
- Поисковая функция в Excel
- Способ 1: простой поиск
- Способ 2: поиск по указанному интервалу ячеек
- Способ 3: Расширенный поиск
- Вопросы и ответы
В документах Microsoft Excel, которые состоят из большого количества полей, часто требуется найти определенные данные, наименование строки, и т.д. Очень неудобно, когда приходится просматривать огромное количество строк, чтобы найти нужное слово или выражение. Сэкономить время и нервы поможет встроенный поиск Microsoft Excel. Давайте разберемся, как он работает, и как им пользоваться.
Поисковая функция в Excel
Поисковая функция в программе Microsoft Excel предлагает возможность найти нужные текстовые или числовые значения через окно «Найти и заменить». Кроме того, в приложении имеется возможность расширенного поиска данных.
Способ 1: простой поиск
Простой поиск данных в программе Excel позволяет найти все ячейки, в которых содержится введенный в поисковое окно набор символов (буквы, цифры, слова, и т.д.) без учета регистра.
- Находясь во вкладке «Главная», кликаем по кнопке «Найти и выделить», которая расположена на ленте в блоке инструментов «Редактирование». В появившемся меню выбираем пункт «Найти…». Вместо этих действий можно просто набрать на клавиатуре сочетание клавиш Ctrl+F.
- После того, как вы перешли по соответствующим пунктам на ленте, или нажали комбинацию «горячих клавиш», откроется окно «Найти и заменить» во вкладке «Найти». Она нам и нужна. В поле «Найти» вводим слово, символы, или выражения, по которым собираемся производить поиск. Жмем на кнопку «Найти далее», или на кнопку «Найти всё».
- При нажатии на кнопку «Найти далее» мы перемещаемся к первой же ячейке, где содержатся введенные группы символов. Сама ячейка становится активной.
Поиск и выдача результатов производится построчно. Сначала обрабатываются все ячейки первой строки. Если данные отвечающие условию найдены не были, программа начинает искать во второй строке, и так далее, пока не отыщет удовлетворительный результат.
Поисковые символы не обязательно должны быть самостоятельными элементами. Так, если в качестве запроса будет задано выражение «прав», то в выдаче будут представлены все ячейки, которые содержат данный последовательный набор символов даже внутри слова. Например, релевантным запросу в этом случае будет считаться слово «Направо». Если вы зададите в поисковике цифру «1», то в ответ попадут ячейки, которые содержат, например, число «516».
Для того, чтобы перейти к следующему результату, опять нажмите кнопку «Найти далее».
Так можно продолжать до тех, пор, пока отображение результатов не начнется по новому кругу.
- В случае, если при запуске поисковой процедуры вы нажмете на кнопку «Найти все», все результаты выдачи будут представлены в виде списка в нижней части поискового окна. В этом списке находятся информация о содержимом ячеек с данными, удовлетворяющими запросу поиска, указан их адрес расположения, а также лист и книга, к которым они относятся. Для того, чтобы перейти к любому из результатов выдачи, достаточно просто кликнуть по нему левой кнопкой мыши. После этого курсор перейдет на ту ячейку Excel, по записи которой пользователь сделал щелчок.
Способ 2: поиск по указанному интервалу ячеек
Если у вас довольно масштабная таблица, то в таком случае не всегда удобно производить поиск по всему листу, ведь в поисковой выдаче может оказаться огромное количество результатов, которые в конкретном случае не нужны. Существует способ ограничить поисковое пространство только определенным диапазоном ячеек.
- Выделяем область ячеек, в которой хотим произвести поиск.
- Набираем на клавиатуре комбинацию клавиш Ctrl+F, после чего запуститься знакомое нам уже окно «Найти и заменить». Дальнейшие действия точно такие же, что и при предыдущем способе. Единственное отличие будет состоять в том, что поиск выполняется только в указанном интервале ячеек.
Способ 3: Расширенный поиск
Как уже говорилось выше, при обычном поиске в результаты выдачи попадают абсолютно все ячейки, содержащие последовательный набор поисковых символов в любом виде не зависимо от регистра.
К тому же, в выдачу может попасть не только содержимое конкретной ячейки, но и адрес элемента, на который она ссылается. Например, в ячейке E2 содержится формула, которая представляет собой сумму ячеек A4 и C3. Эта сумма равна 10, и именно это число отображается в ячейке E2. Но, если мы зададим в поиске цифру «4», то среди результатов выдачи будет все та же ячейка E2. Как такое могло получиться? Просто в ячейке E2 в качестве формулы содержится адрес на ячейку A4, который как раз включает в себя искомую цифру 4.
Но, как отсечь такие, и другие заведомо неприемлемые результаты выдачи поиска? Именно для этих целей существует расширенный поиск Excel.
- После открытия окна «Найти и заменить» любым вышеописанным способом, жмем на кнопку «Параметры».
- В окне появляется целый ряд дополнительных инструментов для управления поиском. По умолчанию все эти инструменты находятся в состоянии, как при обычном поиске, но при необходимости можно выполнить корректировку.
По умолчанию, функции «Учитывать регистр» и «Ячейки целиком» отключены, но, если мы поставим галочки около соответствующих пунктов, то в таком случае, при формировании результата будет учитываться введенный регистр, и точное совпадение. Если вы введете слово с маленькой буквы, то в поисковую выдачу, ячейки содержащие написание этого слова с большой буквы, как это было бы по умолчанию, уже не попадут. Кроме того, если включена функция «Ячейки целиком», то в выдачу будут добавляться только элементы, содержащие точное наименование. Например, если вы зададите поисковый запрос «Николаев», то ячейки, содержащие текст «Николаев А. Д.», в выдачу уже добавлены не будут.
По умолчанию, поиск производится только на активном листе Excel. Но, если параметр «Искать» вы переведете в позицию «В книге», то поиск будет производиться по всем листам открытого файла.
В параметре «Просматривать» можно изменить направление поиска. По умолчанию, как уже говорилось выше, поиск ведется по порядку построчно. Переставив переключатель в позицию «По столбцам», можно задать порядок формирования результатов выдачи, начиная с первого столбца.
В графе «Область поиска» определяется, среди каких конкретно элементов производится поиск. По умолчанию, это формулы, то есть те данные, которые при клике по ячейке отображаются в строке формул. Это может быть слово, число или ссылка на ячейку. При этом, программа, выполняя поиск, видит только ссылку, а не результат. Об этом эффекте велась речь выше. Для того, чтобы производить поиск именно по результатам, по тем данным, которые отображаются в ячейке, а не в строке формул, нужно переставить переключатель из позиции «Формулы» в позицию «Значения». Кроме того, существует возможность поиска по примечаниям. В этом случае, переключатель переставляем в позицию «Примечания».
Ещё более точно поиск можно задать, нажав на кнопку «Формат».
При этом открывается окно формата ячеек. Тут можно установить формат ячеек, которые будут участвовать в поиске. Можно устанавливать ограничения по числовому формату, по выравниванию, шрифту, границе, заливке и защите, по одному из этих параметров, или комбинируя их вместе.
Если вы хотите использовать формат какой-то конкретной ячейки, то в нижней части окна нажмите на кнопку «Использовать формат этой ячейки…».
После этого, появляется инструмент в виде пипетки. С помощью него можно выделить ту ячейку, формат которой вы собираетесь использовать.
После того, как формат поиска настроен, жмем на кнопку «OK».
Бывают случаи, когда нужно произвести поиск не по конкретному словосочетанию, а найти ячейки, в которых находятся поисковые слова в любом порядке, даже, если их разделяют другие слова и символы. Тогда данные слова нужно выделить с обеих сторон знаком «*». Теперь в поисковой выдаче будут отображены все ячейки, в которых находятся данные слова в любом порядке.
- Как только настройки поиска установлены, следует нажать на кнопку «Найти всё» или «Найти далее», чтобы перейти к поисковой выдаче.
Как видим, программа Excel представляет собой довольно простой, но вместе с тем очень функциональный набор инструментов поиска. Для того, чтобы произвести простейший писк, достаточно вызвать поисковое окно, ввести в него запрос, и нажать на кнопку. Но, в то же время, существует возможность настройки индивидуального поиска с большим количеством различных параметров и дополнительных настроек.
Поиск в программе Microsoft Excel
В документах Microsoft Excel, которые состоят из большого количества полей, часто требуется найти определенные данные, наименование строки, и т.д. Очень неудобно, когда приходится просматривать огромное количество строк, чтобы найти нужное слово или выражение. Сэкономить время и нервы поможет встроенный поиск Microsoft Excel. Давайте разберемся, как он работает, и как им пользоваться.
Поисковая функция в Excel
Поисковая функция в программе Microsoft Excel предлагает возможность найти нужные текстовые или числовые значения через окно «Найти и заменить». Кроме того, в приложении имеется возможность расширенного поиска данных.
Способ 1: простой поиск
Простой поиск данных в программе Excel позволяет найти все ячейки, в которых содержится введенный в поисковое окно набор символов (буквы, цифры, слова, и т.д.) без учета регистра.
- Находясь во вкладке «Главная», кликаем по кнопке «Найти и выделить», которая расположена на ленте в блоке инструментов «Редактирование». В появившемся меню выбираем пункт «Найти…». Вместо этих действий можно просто набрать на клавиатуре сочетание клавиш Ctrl+F.
После того, как вы перешли по соответствующим пунктам на ленте, или нажали комбинацию «горячих клавиш», откроется окно «Найти и заменить» во вкладке «Найти». Она нам и нужна. В поле «Найти» вводим слово, символы, или выражения, по которым собираемся производить поиск. Жмем на кнопку «Найти далее», или на кнопку «Найти всё».
При нажатии на кнопку «Найти далее» мы перемещаемся к первой же ячейке, где содержатся введенные группы символов. Сама ячейка становится активной.
Поиск и выдача результатов производится построчно. Сначала обрабатываются все ячейки первой строки. Если данные отвечающие условию найдены не были, программа начинает искать во второй строке, и так далее, пока не отыщет удовлетворительный результат.
Поисковые символы не обязательно должны быть самостоятельными элементами. Так, если в качестве запроса будет задано выражение «прав», то в выдаче будут представлены все ячейки, которые содержат данный последовательный набор символов даже внутри слова. Например, релевантным запросу в этом случае будет считаться слово «Направо». Если вы зададите в поисковике цифру «1», то в ответ попадут ячейки, которые содержат, например, число «516».
Для того, чтобы перейти к следующему результату, опять нажмите кнопку «Найти далее».
Так можно продолжать до тех, пор, пока отображение результатов не начнется по новому кругу.
Способ 2: поиск по указанному интервалу ячеек
Если у вас довольно масштабная таблица, то в таком случае не всегда удобно производить поиск по всему листу, ведь в поисковой выдаче может оказаться огромное количество результатов, которые в конкретном случае не нужны. Существует способ ограничить поисковое пространство только определенным диапазоном ячеек.
-
Выделяем область ячеек, в которой хотим произвести поиск.
Способ 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?
Многие сталкивались с файлами Ексель, в которых создано огромное количество
Выпадающий список с быстрым поиском
Классический выпадающий список в ячейке листа Excel, сделанный через Данные — Проверка (Data — Validation) — простая и удобная штука, которую ежедневно применяют очень многие пользователи. Однако, у этого списка есть один весьма серьезный недостаток — в нём нет быстрого поиска по первым символам, т.е. фильтрации (отбора) только тех значений, куда введённый фрагмент входит как подстрока. Это серьезно ухудшает удобство пользования даже если в списке всего пара-тройка десятков позиций, а при нескольких сотнях убивает юзабилити напрочь.
Давайте рассмотрим как всё же реализовать подобный трюк. В качестве подопытного кролика возьмём список 250 лучших фильмов по версии IMDb:
Конечная цель — создать выпадающий список (ячейка G3), в котором можно будет быстро находить нужные фильмы, введя только жанр, год или фрагмент названия, например «гамп».
Шаг 1. Определяем, кто нам нужен
Сначала нам нужно понять, какие из исходных ячеек нужно показывать в списке, т.е. определить содержится ли введённый в выпадающем списке текст (например, жанр «детектив») в названии фильма. Для этого добавим слева от исходных данных еще один столбец с функцией ПОИСК (SEARCH), которая ищет заданную подстроку в тексте и выдает либо порядковый номер символа, где он был обнаружен, либо ошибку, если его там нет:
Теперь завернем нашу формулу в функцию проверки ЕЧИСЛО (ISNUMBER), которая превратит числа в логическую ИСТИНУ (TRUE), а ошибки — в ЛОЖЬ (FALSE):
Теперь сделаем так, чтобы ЛОЖЬ превратилась в 0, а вместо ИСТИНА в столбце появились последовательно возрастающие индексы-числа 1,2,3… и т.д. Это можно сделать с помощью добавления к нашей же формуле ещё парочки функций:
Здесь функция ЕСЛИ (IF) проверяет что мы имеем (ИСТИНУ или ЛОЖЬ), и
- если была ИСТИНА, то выводит максимальное значение из всех вышестоящих чисел + 1
- если была ЛОЖЬ, то выводит 0
Шаг 2. Отбираем в отдельный список
Дальше — проще. Теперь банальной функцией ВПР (VLOOKUP) просто выведём все найденные названия (я добавил столбец с порядковыми номерами для удобства):
После этого можно поиграться, вводя в жёлтую ячейку G2 разные слова и фразы и понаблюдать за тем, как наши формулы отбирают только подходящие фильмы:
Шаг 3. Создаем именованный диапазон
Теперь создадим именованный диапазон, который будет ссылаться на отобранные фильмы. Для этого выбрем на вкладке Формулы команды Диспетчер имен — Создать (Formulas — Name Manager — Create):
Имя диапазона может быть любым (например, Фильмы), а самое главное — это функция СМЕЩ (OFFSET), которая и делает всю работу. Напомню её синтаксис, если вы подзабыли:
=СМЕЩ(начальная_ячейка; сдвиг_вниз; сдвиг_вправо; высота; ширина)
У нас:
- В качестве начальной ячейки задаём первую ячейку списка отобранных элементов (E2).
- Сдвиги вниз и вправо у нас отсутствуют, т.е. равны нулю.
- Высота диапазона у нас соответствует максимальному значению индекса из столбца А.
- Ширина диапазона — 1 столбец.
Осталось сделать выпадающий список.
Шаг 4. Создаем выпадающий список
Выделим жёлтую ячейку (G2) и выберем на вкладке Данные команду Проверка данных (Data — Validation). В открывшемся окне выбрем Список (List) в поле Тип данных (Allow), а в качестве источника введем имя нашего созданного диапазона со знаком равно перед ним:
Чтобы Excel не ругался при вводе на неточное совпадение наших фраз с исходным списком, на вкладке Сообщение об ошибке (Error Alert) в этом окне нужно выключить флажок Выводить сообщение об ошибке (Show error alert):
Вот и всё. Можно жать на ОК и наслаждаться результатом:
Для пущего удобства при вводе с клавиатуры можно использовать Ctrl+Enter вместо Enter после ввода текста (так активная ячейка не уходит вниз) и сочетание клавиш Alt+стрелка вниз, чтобы развернуть выпадающий список без мыши.
P.S.
В принципе, можно было бы и не продолжать, но недавно Microsoft выкатила обновление вычислительного движка Excel, который теперь поддерживает динамические массивы и имеет специальные функции для работы с ними. Большинству пользователей они станут доступны в ближайшие месяцы, но даже если пока этих возможностей в вашем Excel нет — грех не показать как элементарно с их помощью решается наша задача.
Всё, что мы делали на Шагах 1-3 заменяется одной(!) формулой, где новая функция ФИЛЬТР (FILTER) отбирает из исходного диапазона A2:A251 только те фильмы, которые содержат заданную подстроку.
А дальше останется при создании выпадающего списка указать в качестве источника первую ячейку диапазона отобранных фильмов (C2) и добавить к ней знак #, чтобы получить ссылку на весь динамический массив:
И всё. Никаких именованных диапазонов и медленных СМЕЩ, никаких танцев с дополнительными столбцами и формулами. Песня!
Ссылки по теме
- Что такое динамические массивы в Excel
- Разбор трех основных функций динамических массивов: СОРТ, ФИЛЬТР и УНИК
- 4 способа создать выпадающий список на листе Excel