Excel найти данные в другом файле

  • Советы по Excel
  • Функции Excel
  • Формулы Excel
  • Excel Диаграммы
  • Советы по словам
  • Советы по Outlook

Как искать / находить значения в другой книге?

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

  • Данные Vlookup и возвращаемые значения из другой книги в Excel
  • Данные Vlookup и возвращаемые значения из другой закрытой книги с VBA

Данные Vlookup и возвращаемые значения из другой книги в Excel

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

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

2. Выберите пустую ячейку, в которую вы вернете цену, введите формулу = ВПР (B2; [Price.xlsx] Sheet1! $ A $ 1: $ B $ 24,2; FALSE) в него, а затем перетащите его маркер заполнения, чтобы применить эту формулу к диапазону по мере необходимости.

Заметки:
(1) В приведенной выше формуле B2 — это плод, который вы будете искать в другой книге, Price.xlsx указывает имя файла книги, из которой вы будете искать, Sheet1 означает имя листа, из которого вы будете искать, и A $ 1 : $ B $ 24 — это диапазон, из которого вы будете искать. Вы можете изменить их по своему усмотрению.
(2) После закрытия книги, из которой вы искали, формула автоматически обновится до = ВПР (B2; ‘W: test [Price.xlsx] Sheet1’! $ A $ 1: $ B $ 24,2, FALSE), W: test — это путь сохранения книги, из которой вы искали.

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


Данные Vlookup и возвращаемые значения из другой закрытой книги с VBA

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

1. нажмите другой + F11 клавиши, чтобы открыть окно Microsoft Visual Basic для приложений.

2. Нажмите Вставить > Модули, а затем вставьте ниже код VBA в открывающееся окно модуля.

VBA: данные Vlookup и возвращаемые значения из другой закрытой книги

Private Function GetColumn(Num As Integer) As String
If Num <= 26 Then
GetColumn = Chr(Num + 64)
Else
GetColumn = Chr((Num - 1)  26 + 64) & Chr((Num - 1) Mod 26 + 65)
End If
End Function
Sub FindValue()
Dim xAddress As String
Dim xString As String
Dim xFileName As Variant
Dim xUserRange As Range
Dim xRg As Range
Dim xFCell As Range
Dim xSourceSh As Worksheet
Dim xSourceWb As Workbook
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xUserRange = Application.InputBox("Lookup values :", "Kutools for Excel", xAddress, Type:=8)
If Err <> 0 Then Exit Sub
Set xUserRange = Application.Intersect(xUserRange, Application.ActiveSheet.UsedRange)
xFileName = Application.GetOpenFilename("Excel Files (*.xlsx), *.xlsx", 1, "Select a Workbook")
If xFileName = False Then Exit Sub
Application.ScreenUpdating = False
Set xSourceWb = Workbooks.Open(xFileName)
Set xSourceSh = xSourceWb.Worksheets.Item(1)
xString = "='" & xSourceWb.Path & Application.PathSeparator & _
"[" & xSourceWb.Name & "]" & xSourceSh.Name & "'!$"
For Each xRg In xUserRange
Set xFCell = xSourceSh.Cells.Find(xRg.Value, , xlValues, xlWhole, , , False)
If Not (xFCell Is Nothing) Then
xRg.Offset(0, 2).Formula = xString & GetColumn(xFCell.Column + 1) & "$" & xFCell.Row
End If
Next
xSourceWb.Close False
Application.ScreenUpdating = True
End Sub

Внимание: Этот VBA будет возвращать значения в столбце, который находится на 2 столбца позади выбранного столбца. Например, я выбираю столбец B при применении этого VBA, значения возвращаются в столбце D. Если вам нужно изменить столбец назначения, узнайте код xRg.Offset (0, 2) .Formula = xString & GetColumn (xFCell.Column + 1) & «$» & xFCell.Row и заменить 2 на другой номер по мере необходимости.

3. нажмите F5 ключ или щелкните Run кнопку для запуска этого VBA.

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

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

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


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

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

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

вкладка kte 201905


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

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

офисный дно

Комментарии (1)


Оценок пока нет. Оцените первым!

Подписывайтесь на Нас

Copyright © 2009 —

www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта

Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.

Защищено Sectigo SSL

Хитрости »

15 Май 2011              512014 просмотров


Как найти значение в другой таблице или сила ВПР

  • Задача и её решение при помощи ВПР
  • Описание аргументов ВПР
  • Что важно всегда помнить при работе с ВПР
  • Как избежать ошибки #Н/Д(#N/A) в ВПР?
  • Как при помощи ВПР искать значение по строке, а не столбцу?
  • Решение при помощи ПОИСКПОЗ
  • Работа с критериями длиннее 255 символов
Задача и её решение при помощи ВПР

 
Если в двух словах, то ВПР позволяет сравнить данные двух таблиц на основании значений из одного столбца.
Чтобы чуть лучше понять принцип работы ВПР лучше начать с некоего практического примера. Возьмем две таблицы:
Таблицы

рис.1

На картинке выше для удобства они показаны рядом, но на самом деле могут быть расположены на разных листах и даже в разных книгах. Таблицы по сути одинаковые, но фамилии в них расположены в разном порядке, и к тому же в одной заполнены все столбцы, а во второй столбцы ФИО и Отдел. И из первой таблицы необходимо подставить во вторую дату для каждой фамилии. Для трех записей это не проблема и руками сделать — все очевидно. Но в жизни это таблицы на тысячи записей и поиск с подстановкой данных вручную может занять не один час. Вот где ВПР(VLOOKUP) будет весьма кстати. Все, что необходимо — записать в ячейку

C2

второй таблицы(туда, куда необходимо подставить даты из первой таблицы) такую формулу:

=ВПР($A2;Лист1!$A$1:$C$4;3;0)
=VLOOKUP($A2,Лист1!$A$1:$C$4,3,0)

Записать формулу можно либо непосредственно в ячейку, либо воспользовавшись диспетчером функций, выбрав в категории Ссылки и массивы(References & Arrays) функцию ВПР(VLOOKUP) и по отдельности указав нужные критерии. Теперь копируем(

Ctrl

+

C

) ячейку с формулой(С2), выделяем все ячейки столбца

С

до конца данных и вставляем(

Ctrl

+

V

).

Теперь разберем поподробнее саму функцию, её аргументы и некоторые особенности.
ВПР ищет заданное нами значение(аргумент искомое_значение) в первом столбце указанного диапазона(аргумент таблица). Поиск значения всегда происходит сверху вниз(собственно, поэтому функция и называется ВПР: Вертикальный ПРосмотр). Как только функция находит заданное значение — поиск прекращается, ВПР берет строку с найденным значением и смотрит на аргумент номер_столбца. Именно из этого столбца берётся значение, которое мы и видим как итог работы функции. Т.е. в нашем конкретном случае, для ячейки С2 второй таблицы, функция берет фамилию «Петров С.А.»(ячейка $A2 второй таблицы) и ищет её в первом столбце указанной таблицы(Лист1!$A$1:$C$4), т.е. в столбце А. Как только находит(это ячейка А3)

ВПР может вернуть только одно значений — первое, подходящее под критерий. Если искомое значение не найдено(отсутствует в таблице), то результатом функции будет ошибка #Н/Д(#N/A). Не надо этого бояться — это даже полезно. Вы точно будете знать, каких записей нет и таким образом можете сравнивать две таблицы друг с другом. Иногда получается так, что Вы видите: данные есть в обеих таблицах, но ВПР выдает #Н/Д. Значит данные в Ваших таблицах не идентичны. В какой-то из них есть лишние неприметные пробелы(обычно перед значением или после), либо знаки кириллицы перемешаны со знаками латиницы. Так же #Н/Д будет, если критерии числа и в искомой таблице они записаны как текст(как правило в левом верхнем углу такой ячейки появляется зеленый треугольничек), а в итоговой — как числа. Или наоборот.


Описание аргументов ВПР

  • Искомое_значение($A2) — это то значение из одной таблицы, которые мы ищем в другой таблице. Т.е. для первой записи второй таблицы это будет Петров С.А.. Здесь можно указать либо непосредственно текст критерия(в этом случае он должен быть в кавычках — =ВПР(«Петров С.А»;Лист1!$A$1:$C$4;3;0), либо ссылку на ячейку, с данным текстом(как в примере функции). Есть небольшой нюанс: так же можно применять символы подстановки: «*» и «?». Это очень удобно, если необходимо найти значения лишь по части строки. Например, можно не вводить полностью «Петров С.А», а ввести лишь фамилию и знак звездочки — «Петров*». Тогда будет выведена любая запись, которая начинается на «Петров». Если же надо найти запись, в которой в любом месте строки встречается фамилия «Петров», то можно указать так: «*петров*». Если хотите найти фамилию Петров и неважно какие инициалы будут у имени-отчества(если ФИО записаны в виде Иванов И.И.), то здесь в самый раз такой вид: «Иванов ?.?.».
    Часто необходимо для каждой строки указать свое значение(в столбце А Фамилии и надо их все найти). В таком случае всегда указываются ссылки на ячейки столбца А. Например, в ячейке A2 записано: Иванов. Так же известно, что Иванов есть в другой таблице, но после фамилии могут быть записаны и имя и отчество(или еще что-то). Но нам нужно найти только строку, которая начинается на фамилию. Тогда необходимо записать следующим образом: A2&»*». Эта запись будет равнозначна «Иванов*». В A2 записано Иванов, амперсанд(&) используется для объединения в одну строку двух текстовых значений. Звездочка в кавычках (как и положено быть тексту внутри формулы). Таким образом и получаем:
    A2&»*» =>
    «Иванов»&»*» =>
    «Иванов*»
    А полная формула в итоге будет выглядеть так: =ВПР(A2&»*»;Лист1!$A$1:$C$4;3;0)
    Очень удобно, если значений для поиска много.
    Если надо определить есть ли хоть где-то слово в строке, то звездочки ставим с обеих сторон: «*»&A1&»*»
  • Таблица(Лист1!$A$1:$C$4) — указывается диапазон ячеек, в первом столбце которых будет просматриваться аргумент Искомое_значение. Диапазон должен содержать данные от первой ячейки с данными до самой последней. Это не обязательно должен быть указанный в примере диапазон. Если строк 100, то Лист1!$A$2:$C$100. Диапазон в аргументе таблица всегда должен быть «закреплен», т.е. содержать знаки доллара($) перед названием столбцов и перед номерами строк(Лист1!$A$1:$C$4).
  • Номер_столбца(3) — указывается номер столбца в аргументе Таблица, значения из которого нам необходимо записать в итоговую ячейку в качестве результата. В примере это Дата принятия — т.е. столбец №3. Если бы нужен был отдел, то необходимо было бы указать номер столбца 2, а если бы нам понадобилось просто сравнить есть ли фамилии одной таблицы в другой, то можно было бы указать и 1. Номер столбца всегда указывается числом и не должен быть больше числа столбцов в аргументе Таблица.

    если аргумент Таблица имеет слишком большое кол-во столбцов и необходимо вернуть результат из последнего столбца, то совсем необязательно высчитывать их количество. Можно использовать формулу, которая подсчитывает количество столбцов в указанном диапазоне:  =ВПР($A2;Лист1!$A$1:$C$4;ЧИСЛСТОЛБ(Лист1!$A$1:$C$4);0). К слову в данном случае Лист1! тоже можно убрать, т.к. функция ЧИСЛОСТОЛБ просто подсчитывает количество столбцов в переданном ей диапазоне и неважно на каком он листе: =ВПР($A2;Лист1!$A$1:$C$4;ЧИСЛСТОЛБ($A$1:$C$4);0).

  • Интервальный_просмотр(0) — очень интересный аргумент. Может быть равен либо ИСТИНА либо ЛОЖЬ. Так же допускается указать 1 или 0. 1 = ИСТИНА, 0 = ЛОЖЬ. Если в ВПР указать данный параметр равный 0 или ЛОЖЬ, то будет происходить поиск точного соответствия заданному Искомому_значению. Это не имеет никакого отношения к знакам подстановки(«*» и «?»). Если же использовать 1 или ИСТИНА, то…Совсем в двух словах не объяснить. Если вкратце — ВПР будет искать наиболее похожее значение, подходящее под Искомомое_значение. Иногда очень полезно. Правда, если использовать данный параметр, то необходимо, чтобы список в аргументе Таблица был отсортирован по возрастанию. Обращаю внимание на то, что сортировка необходима только в том случае, если аргумент Интервальный_просмотр равен ИСТИНА или 1. Если же 0 или ЛОЖЬ — сортировка не нужна. Этот аргумент необходимо использовать осторожно — не стоит указывать 1 или ИСТИНА, если нужно найти точное соответствие и уж тем более не стоит использовать, если не понимаете принцип его работы.
    Подробнее про работу ВПР с интервальным просмотром, равным 1 или ИСТИНА можно ознакомиться в статье ВПР и интервальный просмотр(range_lookup)

При работе с ВПР всегда важно помнить три вещи:
  • Таблица всегда должна начинаться с того столбца, в котором ищем Искомое_значение. Т.е. ВПР не умеет искать значение во втором столбце таблицы, а значение возвращать из первого. В лучшем случае ничего найдено не будет и получим ошибку #Н/Д(#N/A), а в худшем результат будет совсем не тот, который должен быть
  • аргумент Таблица должен быть «закреплен», т.е. содержать знаки доллара($) перед названием столбцов и перед номерами строк(Лист1!$A$1:$C$4). Это и есть закрепление(если точнее, то это называется абсолютной ссылкой на диапазон). Как это делается. Выделяете текст ссылки и жмете клавишу F4 до тех пор, пока не увидите, что и перед обозначением имени столбца и перед номером строки не появились доллары. Если этого не сделать, то при копировании формулы из одной ячейки в остальные аргумент Таблица будет «съезжать» и результат может быть совсем не таким, какой ожидался(в лучшем случае получите ошибку #Н/Д(#N/A)
  • номер_столбца не должен превышать общее кол-во столбцов в аргументе таблица, а сама Таблица соответственно должна содержать столбцы от первого(в котором ищем) до последнего(из которого необходимо возвращать значения). В примере указана Лист1!$A$1:$C$4 — всего 3 столбца(A, B, C). Значит не получится вернуть значение из столбца D(4), т.к. в таблице только три столбца. Т.е. если мы запишем формулу так: =ВПР($A2;Лист1!$A$1:$C$4;4;0) — мы получим ошибку #ССЫЛКА!(#REF!).
    Если аргументом Таблица указан диапазон $B$1:$C$4 и необходимо вернуть данные из столбца С, то правильно будет указать номер столбца 2. Т.к. аргумент Таблица($B$1:$C$4) содержит только два столбца — В и С. Если же попытаться указать номер столбца 3(каким по счету он является на листе), то получим ошибку #ССЫЛКА!(#REF!), т.к. третьего столбца в указанном диапазоне просто нет.

Многие наверняка заметили, что на картинке у меня попутаны отделы для ФИО(в обеих таблицах ФИО относятся к разным отделам). Это не ошибка записи. В прилагаемом к статье примере показано, как можно одной формулой подставить и отделы и даты, не меняя вручную аргумент Номер_столбца: =ВПР($A2;Лист1!$A$1:$C$4;СТОЛБЕЦ();0). Такой подход сработает, если в обеих таблицах одинаковый порядок столбцов.


Как избежать ошибки #Н/Д(#N/A) в ВПР?

 
Еще частая проблема — многие не хотят видеть #Н/Д результатом, если совпадение не найдено. Это можно обойти при помощи специальных функций.
Для пользователей Excel 2003 и старше:

=ЕСЛИ(ЕНД(ВПР($A2;Лист1!$A$1:$C$4;3;0));»»;ВПР($A2;Лист1!$A$1:$C$4;3;0))
=IF(ISNA(VLOOKUP($A2,Лист1!$A$1:$C$4,3,0)),»»,VLOOKUP($A2,Лист1!$A$1:$C$4,3,0))

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

ЕСЛИОШИБКА(IFERROR)

:

=ЕСЛИОШИБКА(ВПР($A2;Лист1!$A$1:$C$4;3;0);»»)
=IFERROR(VLOOKUP($A2,Лист1!$A$1:$C$4,3,0);»»)

Подробнее про различие между использованием ЕСЛИ(ЕНД и ЕСЛИОШИБКА я разбирал в статье: Как в ячейке с формулой вместо ошибки показать 0
Но я бы не рекомендовал использовать

ЕСЛИОШИБКА(IFERROR)

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

  • искомое значение состоит более чем из 255 символов(решение этой проблемы приведено ниже в этой статье: Работа с критериями длиннее 255 символов)
  • искомое значение является числом с большим кол-вом знаков после запятой. Excel не может правильно воспринимать такие числа и в итоге ВПР может вернуть ошибку. Правильным решением здесь будет округлить искомое значение хотя бы до 4-х или 5-ти знаков после запятой(конечно, если это допустимо):
    =ВПР(ОКРУГЛ($A2;5);Лист1!$A$1:$C$4;3;0)
    =VLOOKUP(ROUND($A2,2),Лист1!$A$1:$C$4,3,0)
  • искомое значение содержит специальные или непечатаемые символы.
    В этом случае придется либо избавиться от непечатаемых символов в искомом аргументе:
    =ВПР(ПЕЧСИМВ($A2);Лист1!$A$1:$C$4;3;0)
    =VLOOKUP(CLEAN($A2),Лист1!$A$1:$C$4,3,0)
    либо добавить перед всеми специальными символами(такими как звездочка или вопр.знак) знак тильды(~), чтобы сделать эти знаки просто знаками, а не знаками специального значения(так же работа со специальными(служебными) символами описывалась в статье: Как заменить/удалить/найти звездочку). Добавить символ перед знаком той же тильды можно при помощи функции ПОДСТАВИТЬ(SUBSTITUTE):
    =ВПР(ПОДСТАВИТЬ($A2;»~»;»~~»);Лист1!$A$1:$C$4;3;0)
    =VLOOKUP(SUBSTITUTE(A2,»~»,»~~»),Лист1!$A$1:$C$4,3,0)
    Если необходимо добавить тильду сразу перед несколькими знаками, то делает это обычно так(на примере подстановки одновременно для тильды и звездочки):
    =ВПР(ПОДСТАВИТЬ(ПОДСТАВИТЬ($A2;»~»;»~~»);»*»;»~*»);Лист1!$A$1:$C$4;3;0)
    =VLOOKUP(SUBSTITUTE(SUBSTITUTE(A2,»~»,»~~»),»*»,»~*»),Лист1!$A$1:$C$4,3,0)

Как при помощи ВПР искать значение по строке, а не столбцу?

 
На самом деле ответ будет коротким — ВПР всегда ищет сверху вниз. Слева направо она не умеет. Но зато слева направо умеет искать её сестра ГПР(HLookup) — Горизонтальный

ПР

осмотр.
ГПР ищет заданное значение(аргумент

искомое_значение

) в первой строке указанного диапазона(аргумент

таблица

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

#Н/Д(#N/A)

.
Если надо найти значение «Иванов» в строке 2 и вернуть значение из строки 5 в таблице

A2:H10

, то формула будет выглядеть так:

=ГПР(«Иванов»;$A$2:$H$10;5;0)
=HLOOKUP(«Иванов»,$A$2:$H$10,5,0)

Все правила и синтаксис функции точно такие же, как у ВПР:
-в искомом значении можно применять символы астерикса(*) и вопр.знака(?) — «Иванов*»;
-таблица должна быть закреплена —

$A$2:$H$10

;
-интервальный просмотр работает по тому же принципу(0 или ЛОЖЬ точный просмотр слева-направо, 1 или ИСТИНА — интервальный).


Решение при помощи ПОИСКПОЗ

 
Общий принцип работы

ПОИСКПОЗ(MATCH)

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

Искомое_значение

в аргументе

Просматриваемый_массив

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

Просматриваемом_массиве

. Именно номер позиции, а не само значение. Если бы мы хотели применить её для таблицы выше, то она была бы такой:

=ПОИСКПОЗ($A2;Лист1!$A$1:$A$4;0)
=MATCH($A2,Лист1!$A$1:$A$4,0)

  • Искомое_значение($A2) — непосредственно значение или ссылка на ячейку с искомым значением. Если опираться на пример выше — то это ФИО. Здесь все ровно так же, как и с ВПР. Так же допустимы символы подстановки * и ? и ровно в таком же исполнении.
  • Просматриваемый_массив(Лист1!$A$1:$A$4) — указывается ссылка на столбец, в котором необходимо найти искомое значение. В отличии от той же ВПР, где указывается целая таблица, это должен быть именно один столбец, в котором мы собираемся искать Искомое_значение. Если попытаться указать более одного столбца, то функция вернет ошибку.Справедливости ради надо отметить, что можно указать либо столбец, либо строку
  • Тип_сопоставления(0) — то же самое, что и Интервальный_просмотр в ВПР. С теми же особенностями. Отличается разве что возможностью поиска наименьшего от искомого или наибольшего.

С основным разобрались. Но ведь нам надо вернуть не номер позиции, а само значение. Значит ПОИСКПОЗ в чистом виде нам не подходит. По крайней мере одна, сама по себе. Но если её использовать вместе с функцией ИНДЕКС(INDEX)(которая возвращает из указанного диапазона значение на пересечении заданных строки и столбца) — то это то, что нам нужно и даже больше.
=ИНДЕКС(Лист1!$A$1:$C$4;ПОИСКПОЗ($A2;Лист1!$A$1:$A$4;0);2)
Такая формула результатом вернет то же, что и ВПР.

Аргументы функции ИНДЕКС
Массив(Лист1!$A$2:$C$4). В качестве этого аргумента мы указываем диапазон, из которого хотим получить значения. Может быть как один столбец, так и несколько. В случае, если столбец один, то последний аргумент функции указывать не обязательно или он всегда будет равен 1(столбец-то всего один). К слову — данный аргумент может совершенно не совпадать с тем, который мы указываем в аргументе Просматриваемый_массив функции ПОИСКПОЗ.

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


Работа с критериями длиннее 255 символов

 
Есть у ИНДЕКС-ПОИСКПОЗ и еще одно преимущество перед ВПР. Дело в том, что ВПР не может искать значения, длина строки которых содержит более 255 символов. Это случается редко, но случается. Можно, конечно, обмануть ВПР и урезать критерий:

=ВПР(ПСТР($A2;1;255);ПСТР(Лист1!$A$1:$C$4;1;255);3;0)

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

Поэтому лучше использовать такую хитрую формулу:
=ИНДЕКС(Лист1!$A$1:$C$4;СУММПРОИЗВ(ПОИСКПОЗ(ИСТИНА;Лист1!$A$1:$A$4=$A2;0));2)
Здесь я в формулах использовал одинаковые диапазоны для удобочитаемости, но в примере для скачивания они различаются от указанных здесь.
Сама формула построена на возможности функции СУММПРОИЗВ преобразовывать в массивные вычисления некоторых функций внутри неё. В данном случае ПОИСКПОЗ ищет позицию строки, в которой критерий равен значению в строке. Подстановочные символы здесь применить уже не получится.


Ну и все же я рекомендовал бы Вам прочитать подробнее про данные функции в справке.

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

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

  Tips_All_VLookUp.xls (26,0 KiB, 17 435 скачиваний)

Так же см.:
ВПР и интервальный просмотр(range_lookup)
ВПР по двум и более критериям
ВПР с возвратом всех значений
ВПР с поиском по нескольким листам
ВПР_МН
ВПР_ВСЕ_КНИГИ
Как заменить/удалить/найти звездочку?


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

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


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



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

 

Roman RRR

Пользователь

Сообщений: 38
Регистрация: 01.01.1970

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

Принцип следующий:
В файле Task в ячейке B5 ищется текст (Значение 1) из колонки Н файла Data.
Если находит такой текст, тогда в диапазон D5:I5 копируются данные из соответствующего диапазона В:G файла Data. Поиск для ячейки B5 прекращается и продолжается аналогично для В6.
Если не находит, тогда ищется Значение 2 и так далее.

Примеры прилагаю:
В файле Task в закладке Task указан диапазон, в котором нужно искать данные.
В файле Data в закладке Data — в столбцах H-L значения, которые нужно искать, а в столбцах B-G значения, которые нужно подставлять.
В файле Task в закладке Result — ожидаемый результат.

Описание получилось немного сумбурное, но по примерам должно быть понятным.
Заранее благодарю

Прикрепленные файлы

  • Task.xlsx (9.53 КБ)
  • Data.xlsx (9.47 КБ)

 

Leanna

Пользователь

Сообщений: 816
Регистрация: 15.01.2013

#2

10.01.2015 01:42:10

Код
Option Compare Text
Sub поиск_шин()
Set wbData = Workbooks("Data.xlsx")
Set wbTask = Workbooks("Task.xlsm")
Set shData = wbData.Sheets(1)
Set shTask = wbTask.Sheets("Result")
Set rngData = Intersect(shData.Columns("H:L"), shData.UsedRange)

Set dic = CreateObject("Scripting.Dictionary")
dic.CompareMode = 1
For Each cell In rngData
    If cell.Value <> "" Then
        rr = cell.Row
        dic.Item(cell.Value) = shData.Range("B" & rr, "G" & rr)
    End If
Next

For Each cell In shTask.[B5:B15]
For Each dKey In dic.keys
    If cell.Value Like "*" & dKey & "*" Then
    cell.Offset(0, 2).Resize(1, 6) = dic.Item(dKey)
    Exit For
    End If
Next
Next

Прикрепленные файлы

  • Task.xlsm (23.66 КБ)

Работать надо не 12 часов, а головой.

 

Михаил С.

Пользователь

Сообщений: 10514
Регистрация: 21.12.2012

#3

10.01.2015 04:51:24

Раз уж написал, то и свой вариант выложу.
в принципе, такой же, как уLeanna, но есть отличия.

CODE

Требования: оба файла должны быть в одной папке; других файлов Excel в ней быть не должно; имена файлов и папки не принципиальны; Расположение таблицы в Data — на первом листе; место на листе — не принципиально, но других данных быть не должно; список в файле Task должен начинаться с В5.

Прикрепленные файлы

  • Roman RRR.rar (30.55 КБ)

 

Roman RRR

Пользователь

Сообщений: 38
Регистрация: 01.01.1970

Спасибо

Leanna

и

Михаил С.

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

Михаил С.

, в вашем результате, напротив     185/65 R14 90R Nokian Nordman RS XL найдено значение Nokian Nordman. А нужно Nokian Nordman RS т.к. здесь еще более детальное совпадение… есть ли возможность это учесть?  

 

Проверьте

Изменено: Михаил С.10.01.2015 20:00:04
(Чуть подредактировал макрос. )

 

Leanna

Пользователь

Сообщений: 816
Регистрация: 15.01.2013

#6

10.01.2015 15:44:43

Михаил, подскажите пожалуйста в чем отгадка

Код
With Dat
ad1 = .Cells(1, 6).Address(0, 0) 'G2
ad2 = .Cells(.Rows.Count - 1, .Columns.Count - 1).Address(0, 0) 'K20
ad3 = .Range(.Cells(1, 6), .Cells(.Rows.Count - 1, .Columns.Count - 1)).Address(0, 0) 'H3:L21
Arr = .Range(.Cells(1, 6), .Cells(.Rows.Count - 1, .Columns.Count - 1)).Value
End With

по отдельности G2 и K20 а в Range H3:L21?

Работать надо не 12 часов, а головой.

 

Roman RRR

Пользователь

Сообщений: 38
Регистрация: 01.01.1970

#7

10.01.2015 15:55:36

Цитата
Михаил С. пишет: Проверьте

Теперь работает. Благодарю

 

Leanna, если честно — я сам не знаю, почему так.  
По идее, .Range.Address должен дать адрес относительно Dat, а дает адрес листа…

 

The_Prist

Пользователь

Сообщений: 14181
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Файл не смотрел, но если Dat — это диапазон, то точку перед Range надо убрать….

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Leanna

Пользователь

Сообщений: 816
Регистрация: 15.01.2013

#10

10.01.2015 16:23:11

так выдает то же самое G2, K20, H3:L21

Код
ad1 = Dat.Cells(1, 6).Address(0, 0) 'G2
ad2 = Dat.Cells(Dat.Rows.Count - 1, Dat.Columns.Count - 1).Address(0, 0) 'K20
ad3 = Dat.Range(Dat.Cells(1, 6), Dat.Cells(Dat.Rows.Count - 1, Dat.Columns.Count - 1)).Address(0, 0) 'H3:L21

Да, без точки перед Range выдает G2:K20. Спасибо!

Работать надо не 12 часов, а головой.

 

Roman RRR

Пользователь

Сообщений: 38
Регистрация: 01.01.1970

Недавно заметил, что пробелы не учитываются в поиске. Например, мне нужно найти значение » ААА «, но это не то самое, что просто «ААА».  

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

 

Roman RRR

Пользователь

Сообщений: 38
Регистрация: 01.01.1970

Искомый текст из колонок Н-L файла Data. Этот тект почемуто нечувствительный к пробелам

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Я не про это: КАК поиск осуществляете?

 

Roman RRR

Пользователь

Сообщений: 38
Регистрация: 01.01.1970

Макросом, который написан

Михаил С.

Изменено: Roman RRR05.02.2015 01:06:17

 

Елена Ион

Пользователь

Сообщений: 27
Регистрация: 25.10.2021

Добрый день! Помогите пожалуйста в написании макроса.
Нужно, чтобы в файле Акт в ячейке N3 когда написали ИНН организации, то после поиска этого ИНН в файле Org в столбце A, после совпадения, из столбца B копировалась бы соответствующая организация и вставлялась в файл Акт в ячейку C4.

Прикрепленные файлы

  • Org.xlsx (15.48 КБ)
  • АКТ.xlsm (32.94 КБ)

 

New

Пользователь

Сообщений: 4581
Регистрация: 06.01.2013

#17

28.10.2021 14:25:42

Елена Ион,
1. вам лучше было создать свою собственную тему с вашим вопросом
2. файл «Org.xlsx» — будет открыт или всегда закрыт?
3. если файл «Org.xlsx» будет всегда закрыт, то он где будет лежать? в той же папке, что и АКТ.xlms или в другой какой-то папке ?
4. Макрос должен срабатывать сразу по введению данных в ячейку N3 ? Или оператор может запустить макрос руками через Alt+F8 для подставновки организации ?

Вот макрос — файл Org.xlsx закрытый, лежит в той же папке, что и Акт.xlsm, запуск макроса через Alt+F8

Код
Sub Вставить_Название_по_ИНН()
    Dim SourceWB As Workbook, FSO As Object, sSourceFileName As String, sPathToSourceFile As String
    Dim Rng As Range, NameOfOrganization As String, ACT_Num As String

    sSourceFileName = "Org.xlsx" 'название файла источника (должен лежать в той же папке, что и Акт)
    
    ACT_Num = ThisWorkbook.Worksheets("АКТ").Range("N3") 'запоминаем номер акта из N3
    
    sPathToSourceFile = ThisWorkbook.Path & Application.PathSeparator & sSourceFileName
    Set FSO = CreateObject("Scripting.FileSystemObject")
    If Not FSO.FileExists(sPathToSourceFile) Then
        MsgBox "Файл '" & sSourceFileName & "' не найден!", vbExclamation, "Внимание"
        Exit Sub
    End If
    Set FSO = Nothing
    Application.ScreenUpdating = False
    Set SourceWB = Workbooks.Open(sPathToSourceFile, UpdateLinks:=False, ReadOnly:=True)
    With SourceWB.Worksheets(1)
        Set Rng = .Columns(1).Find(ACT_Num, , xlFormulas, xlWhole) 'поиск номера Акта
        If Not Rng Is Nothing Then NameOfOrganization = Rng.Offset(0, 1) 'запонимаем название Организации из столбца В
    End With
    SourceWB.Close (False) 'закрываем файл Org.xlsx
    Application.ScreenUpdating = True
    If NameOfOrganization <> "" Then
        ThisWorkbook.Worksheets("АКТ").Range("N3") = NameOfOrganization
    Else
        MsgBox "ИНН: " & ACT_Num & " не найден в файле " & sSourceFileName, vbExclamation, "Внимание"
    End If
End Sub

Изменено: New28.10.2021 14:39:29

 

Елена Ион

Пользователь

Сообщений: 27
Регистрация: 25.10.2021

#18

28.10.2021 17:32:06

Цитата
New написал:
4. Макрос должен срабатывать сразу по введению данных в ячейку N3 ?

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

 

New

Пользователь

Сообщений: 4581
Регистрация: 06.01.2013

#19

28.10.2021 18:04:52

Цитата
Елена Ион написал:
А что нужно добавить, чтобы он срабатывал сразу после введения данных.

если очень нужно, то создаёте новую тему с этим вопросом и там я или кто-нибудь другой ответит вам

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

​Смотрите также​​ Excel-файл, то там​ ​ условии, что Excel​​Юрий М​​ макросы или дополнения,​​ If searchdepth% =​ coll.Count ‘ перебираем​ в которых имеется​
​ сентября — table_export_06KAsep.xls​
​: Я на планете​ ​ — (D5) вписано​
​ поиска настроен, жмем​«Искать»​ регистра.​ внутри слова. Например,​ разберемся, как он​ мы работали. Ищем​Рассмотрим,​ ячейки есть, но​ корректно определит разделитель,​
​: Я так понимаю,​ или нужно самому​ 0 Then searchdepth%​ все элементы коллекции,​ различные статьи и​Реально Буду рад​ дал древний файл​ слово.​ на кнопку​вы переведете в​
​К тому же, в​​ релевантным запросу в​ работает, и как​
​ среди них. Если​
​как найти документ​ в ТЕКСТОВОМ (csv)​ макрос укажет на​ что тему можно​
​ писать макрос?​ = 999 Set​ содержащей пути к​ основной файл, в​ любой помощи.​ кажется от Павла,​В одной папке​«OK»​ позицию​ выдачу может попасть​ этом случае будет​ им пользоваться.​ документ давно не​Excel по содержимому текста​
​ — их быть​ ячейку, как будто​ удалить?​Guest​ coll = FilenamesCollection(FolderPath$,​ файлам НомерФайла =​
​ которм выполняется поиск.​
​Иначе искать в​ ​ который делает чуть​ с Главным файлом​​.​
​«В книге»​ не только содержимое​ считаться слово «Направо».​Скачать последнюю версию​ открывали и его​,​ не может.​ он открывал Excel-файл.​
​abricos29​ ​: Комбинированный способ:​
​ searchmask$, searchdepth%) Application.ScreenUpdating​ i ПутьКФайлу =​ ​В основном файле​
​ ручную очень долго,​ больше — там​ — лежит несколько​Бывают случаи, когда нужно​, то поиск будет​ конкретной ячейки, но​ Если вы зададите​ Excel​
​ нет в списке,​таблицы​Скорее всего, Вы​Возможно, я не​: Я подобного не​Перебор файлов в​ = False For​ coll(i) ИмяФайла =​ вводится запрос для​ по причине того​ просто нужно лишнее​ подпапок с документами​​ произвести поиск не​ производиться по всем​ и адрес элемента,​ в поисковике цифру​Поисковая функция в программе​ то нажимаем на​, например, когда не​ говорите про csv-файл,​ прав, но мне​ нашёл на форуме,​ ​ папке — избитая​
​ i = 1​ Dir(ПутьКФайлу) ДатаСоздания =​ поиска по остальным​ что таких таблиц​ повыкидывать, и вывод​ экселя.​ по конкретному словосочетанию,​ листам открытого файла.​ на который она​ «1», то в​ Microsoft Excel предлагает​ кнопку «Компьютер».​ помним название файла,​ открытый в Excel​ так показалось.​ очень лаконичный и​ тема. Можно найти​ To coll.Count filenumber​ FileDateTime(ПутьКФайлу) РазмерФайла =​
​ файлам, и выдается​ на каждый регион​ подкорректировать.​Пытался сам написать​ а найти ячейки,​В параметре​
​ ссылается. Например, в​ ответ попадут ячейки,​ возможность найти нужные​Затем, нажимаем на кнопку​ документа, папки, т.д.​ )​AB1​ удобный макрос! Думаю​ кучу готовых кодов.​ = i pathtothefile​ FileLen(ПутьКФайлу) РазмерФайла =​ информация следующего характера​ (то есть их​А этот код​ макрос, но что-то​
​ в которых находятся​«Просматривать»​ ячейке E2 содержится​ которые содержат, например,​ текстовые или числовые​ «Обзор». В появившемся​Первый вариант.​AB1​: Добавил второй цикл:​ много кому может​В коде только​ = coll(i) Filename​ FileOrFolderSize(РазмерФайла) Workbooks.Open Filename:=ПутьКФайлу​В каком файле​ много)​ явно рождён был​ не работает -​

excel-office.ru

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

Поиск в Microsoft Excel

​ поисковые слова в​можно изменить направление​ формула, которая представляет​ число «516».​ значения через окно​ диалоговом окне в​Поиск документа​: Разумеется, мы же​Sub ПОИСК() Dim​ понадобиться, имхо.​ поменять исполняемую часть​ = Dir(pathtothefile) creationdate​ Workbooks(ПутьКФайлу).Activate Worksheets(Sheets(1)).Activate With​ найдено совпадение, 2-3​Basil​ не в Экселе​ выдает ошибку.​

​ любом порядке, даже,​ поиска. По умолчанию,​

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

​ собой сумму ячеек​Для того, чтобы перейти​ «Найти и заменить».​ строке поиска пишем​Excel по названию папки.​ рассуждаем не абстрактно,​ folder_$, file_$, s$​AB1​Guest​

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

​ = FileDateTime(pathtothefile) filesize​ ThisWorkbook.Worksheets(Sheets(1)) ‘ работаем​ предложения в котором​:​ — потому и​Подскажите, как макросом​ если их разделяют​ как уже говорилось​ A4 и C3.​

  1. ​ к следующему результату,​​ Кроме того, в​​ поисковую фразу или​​Нажимаем кнопку «Пуск»,​​ а в рамках​ Dim rw& Dim​: Спасибо за полезный​​: Sub test() Dim​​ = FileLen(pathtothefile) filesize​ 1 с листом​​ найдено совпадение.​​Не по теме:​ не работает. И​ осуществить поиск этого​ другие слова и​​ выше, поиск ведется​​ Эта сумма равна​

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

  2. ​ опять нажмите кнопку​ приложении имеется возможность​ слово. Мы написали​ расположенную в левом​ функционала данного макроса​ sh ‘————————— rw​​ макрос!​​ Folder As String​​ = FileOrFolderSize(filesize) Workbooks.Open​​ ПоследняяСтрокаБД = .Range(«a»​Заранее благодарен!​​Доброго дня.​​ в Экселе так​ слова в документах​ символы. Тогда данные​ по порядку построчно.​ 10, и именно​​«Найти далее»​​ расширенного поиска данных.​​ «визитка». Появится список​​ нижнем углу монитора.​

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

  3. ​abricos29​​ = 4 With​​abricos29​ Dim wb As​ Filename:=pathtothefile Workbooks(pathtothefile).Activate Worksheets(Sheets(1)).Activate​ & .Rows.Count).End(xlUp).Row ‘​sku144​

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

    ​ ThisWorkbook.Sheets(1) .UsedRange.Offset(3, 0).EntireRow.Delete​: Пожалуйста, один минус​ String Dim objWb​ With ThisWorkbook.Worksheets(Sheets(1)) lastline​ вычисляем номер последней​: Как вариант для​ — я вам​ поиск не пойдёт,​ в столбец G5:G16​ с обеих сторон​ позицию​ в ячейке E2.​Так можно продолжать до​ программе Excel позволяет​ в тексте слово​ нажимаем на кнопку​ ищет только в​ s = .Cells(2,​ всё же есть,​ As Workbook Dim​

    ​ = Cells(Rows.Count, 1).End(xlUp).Row​ строки Dim Диапазон_Ячеек_для_Поиска​ начала получить список​​ помочь не смогу.​​ если ранее вручную​

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

    ​ — названия тех​ знаком «*». Теперь​«По столбцам»​ Но, если мы​ тех, пор, пока​

  4. ​ найти все ячейки,​ «визитка».​ «Этот компьютер» (в​ папке, надо попробовать​​ 3).Value End With​​ я его попытался​ workWb As Workbook​ Dim rangeofcells As​ As Range, РезультатПоиска​ файлов где нужен​Понимаете, вас, как​ он так не​ файлов экселя, где​ в поисковой выдаче​, можно задать порядок​ зададим в поиске​ отображение результатов не​ в которых содержится​Внимание!​ Word 2013) или​ реализовать чтоб и​ If s =​ посадить на кнопку​ Dim i As​ Range, searchresults As​ As Range, АдресПервойНайденнойЯчейки​ поиск. Предположим, все​ я понял, интересуют​ остался настроенным, причём​

Найти всё в Microsoft Excel

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

​ это слово встречается​ будут отображены все​ формирования результатов выдачи,​ цифру «4», то​ начнется по новому​ введенный в поисковое​Внизу этого окна​ «Мой компьютер» (в​ в подпапках искал.​ «» Then MsgBox​ и вызываю в​ Integer Set workWb​ Range, addressfirstcell As​ As String Set​

  1. ​ файлы в одной​ продажи за период,​ синтаксис совсем другой.​

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

  2. ​ хотя бы один​ ячейки, в которых​​ начиная с первого​​ среди результатов выдачи​ кругу.​ окно набор символов​​ мы выбрали место​​ Word 2007).​ Будет совсем здорово.​ «Не заполненно поле​ качестве шаблона, естественно​ = ActiveWorkbook ‘Запоминаем​ String Set rangeofcells​ Диапазон_Ячеек_для_Поиска = .Range(.Cells(ПерваяСтрокаБД,​ папке с нашим​

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

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

​ а работаете вы​Т.е. этот код​ раз ?​ находятся данные слова​ столбца.​ будет все та​В случае, если при​ (буквы, цифры, слова,​ поиска «Все файлы​

​Откроется окно, в​Юрий М​ поиска!» Exit Sub​ шаблон лежит теперь​ активную книгу ‘Показываем​ = Sheets(1).Cells(lastline, 10)​ 1), .Cells(ПоследняяСтрокаБД, 2))​ запущенным. Тогда просто​ почему-то с отчетами​ проще переписать, чем​Kuzmich​ в любом порядке.​В графе​ же ячейка E2.​ запуске поисковой процедуры​ и т.д.) без​ Excel». Здесь мы​ правом верхнем углу​: Про .​ End If With​ в одном месте,​ диалог выбора папки​ Set searchresults =​ Set Диапазон_Ячеек_для_Поиска =​ определяем путь до​ о продажах за​ исправить.​: Может это поможет​Как только настройки поиска​«Область поиска»​

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

​ Как такое могло​ вы нажмете на​ учета регистра.​ можем выбрать другой​ которого, есть строка​abricos29​

  1. ​ Application With .FileDialog(msoFileDialogFolderPicker)​​ а файлы могут​​ With Application.FileDialog(msoFileDialogFolderPicker) .Title​ rangeofcells.Find(textsarch, , xlFormulas,​​ Диапазон_Ячеек_для_Поиска.EntireRow Set РезультатПоиска​​ нашего файла, затем​

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

  2. ​ отдельный день.​RAN​http://www.planetaexcel.ru/techniques/12/45/​ установлены, следует нажать​определяется, среди каких​ получиться? Просто в​ кнопку​Находясь во вкладке​ вид файла. Например,​

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

    ​ поиска. В этой​​: Юрий спасибо за​​ If .Show =​​ где угодно. И​​ = «Выберите папку,​ xlPart) If Not​ = Диапазон_Ячеек_для_Поиска.Find(ТекстДляПоиска, LookAt:=xlPart)​ по этому пути​Не проще ли​: Подумаешь! Word тоже​http://excelvba.ru/code/FilenamesCollection​ на кнопку​ конкретно элементов производится​ ячейке E2 в​«Найти все»​«Главная»​ нам нужно найти​ строке пишем поисковую​ ссылку!​ False Then Exit​ гиперссылка не работает.​ файлы в которой​ searchresults Is Nothing​​ ‘ начинаем поиск​​ в массив собираем​ получить отчет о​ не без VBA!​SergVrn​«Найти всё»​ поиск. По умолчанию,​ качестве формулы содержится​, все результаты выдачи​, кликаем по кнопке​ текст в Excel’евском​

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

    ​ фразу, слова. Мы​abricos29​ Sub folder_ =​ Кто-нибудь может подсказать​​ нужно обработать» .ButtonName​​ Then addressfirstcell =​ If Not РезультатПоиска​​ все остальные файлы​​ продажах сразу за​adekarimov​: Kuzmich, зачем мне​

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

    ​или​​ это формулы, то​​ адрес на ячейку​ будут представлены в​«Найти и выделить»​ файле со словами​ написали «посчитать стаж».​: А вот с​ .SelectedItems(1) End With​​ какие изменения нужно​​ = «Выбрать» .AllowMultiSelect​ searchresults.address linenumber =​ Is Nothing Then​ где нужен будет​

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

    ​ интересующий период? Чтобы​​: Доброго времени суток.​​ список файлов в​«Найти далее»​ есть те данные,​ A4, который как​ виде списка в​, которая расположена на​ визитка. Тогда мы​ Во время ввода​ поиском в подпапках​ folder_ = folder_​ внести в строку​ = False If​ searchresults.Row Range(«a» &​ ‘ если нашли​ поиск. Перебираем элементы​ была одна таблица,​Работаю в компании,​ папках, если я​, чтобы перейти к​ которые при клике​ раз включает в​ нижней части поискового​ ленте в блоке​ выберем функцию «Все​ поисковой фразы сразу​​ не осилил и​​ & IIf(Right(folder_, 1)​​ с добавлением гиперссылки,​​ .Show Then Folder​ Rows.Count).End(xlUp).Offset(1).Resize(, 5).Value =​ хоть одну подходящую​ массива в цикле​ а данные​​ которая занимается ежедневными​​ задавал вопрос -​

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

    ​ поисковой выдаче.​ по ячейке отображаются​ себя искомую цифру​​ окна. В этом​​ инструментов​

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

    ​ файлы». Появится список​ идет поиск.​ после прочтения статьи.​ = .PathSeparator, «»,​ чтобы она выдавала​ = .SelectedItems(1) Else​ _ Array(filenumber, Filename,​ ячейку АдресПервойНайденнойЯчейки =​ — каждый элемент​одной​ продажами. В процессе​ по поиску одного​Как видим, программа Excel​

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

    ​ в строке формул.​ 4.​ списке находятся информация​«Редактирование»​ всех разных файлов​​Получился такой результат.​​ Кто-нибудь может подсказать​

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

    ​ .PathSeparator) .ScreenUpdating =​ верный путь до​ Exit Sub End​ pathtothefile, creationdate, filesize,​ РезультатПоиска.Address ‘ запоминаем​ открываем, определяем количество​

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

    ​таблицы в любом​ создания отчета по​ СЛОВА.​​ представляет собой довольно​​ Это может быть​

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

    ​Но, как отсечь такие,​ о содержимом ячеек​. В появившемся меню​ со словом «визитка»​Нажимаем на нужный документ,​ как интегрировать код​ False End With​ файла, ибо сейчас​ With ‘Начинаем читать​ searchresults) ActiveSheet.Hyperlinks.Add Range(«b»​ Адрес Первой Найденной​ вкладок и запускаем​ случае легче обрабатывать​ продожам сталкиваюсь с​buchlotnik​ простой, но вместе​ слово, число или​ и другие заведомо​

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

  3. ​ с данными, удовлетворяющими​ выбираем пункт​ — и текст​​ он откроется.​​ из статьи по​​ file_ = Dir(folder_​​ если макрос и​ файлы из папки​

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

​ & Rows.Count).End(xlUp), pathtothefile,​ Ячейки НомерСтроки =​ вложенный цикл с​ (если это вообще​ необходимостью поиска Торгового​: не-а, в папках​ с тем очень​ ссылка на ячейку.​ неприемлемые результаты выдачи​ запросу поиска, указан​«Найти…»​ в Word, и​Внимание!​ ссылке выше в​ & «*.xls*») Do​ файл находятся в​ wb = Dir(Folder​ «», _ «Открыть​

​ РезультатПоиска.Row ‘ получаем​

lumpics.ru

Поиск текста в нескольких файлах Excel

​ перебором вкладок и​​ понадобится).​
​ представителя (ТП) и​и подпапках​ функциональный набор инструментов​
​ При этом, программа,​ поиска? Именно для​ их адрес расположения,​
​. Вместо этих действий​ файл Excel, и​Чем точнее укажем​
​ обсуждаемый макрос. Вероятно​ While file_ <>​
​ разных местах гиперссылка​

​ & Application.PathSeparator &​​ файл» & vbNewLine​ номер строки, в​
​ поиском на них​А вот такой​ его данные по​- вообще-то это​ поиска. Для того,​
​ выполняя поиск, видит​ этих целей существует​ а также лист​
​ можно просто набрать​ картинки с названием​ место хранения документа,​ ещё нужно будет​ «» DoEvents If​ выглядит так: Адрес​

​ «*.xls») While Len(wb)​ & Filename Do​

​ которой найдена подходящая​​ нужного. Если найдено,​

planetaexcel.ru

Поиск слова — по нескольким файлам экселя (Макросы/Sub)

​ подход, когда одному​​ продажам, который могут​
​ список тех файлов​ чтобы произвести простейший​
​ только ссылку, а​ расширенный поиск Excel.​ и книга, к​ на клавиатуре сочетание​
​ «визитка», т.д.​ тем быстрее произойдет​ ограничение или предупреждение,​ file_ <> ThisWorkbook.Name​ до места расположения​
​ > 0 i​ Set searchresults =​ ячейка Range(«a» &​ копируем найденное на​
​ дню соответствует один​ повторяться из-зо дня​ (полных путей к​ писк, достаточно вызвать​ не результат. Об​После открытия окна​ которым они относятся.​ клавиш​Как найти файл​ поиск документа.​

​ иначе нечаянно выделил​​ Then Workbooks.Open folder_​
​ макросаИмя файла.xls​
​ = i +​

​ rangeofcells.FindNext(searchresults) If Not​​ Rows.Count).End(xlUp).Offset(1).Resize(, 5).Value =​ главный документ.​ лист excel или,​ в день или​ ним), которые и​ поисковое окно, ввести​

​ этом эффекте велась​​«Найти и заменить»​​ Для того, чтобы​​Ctrl+F​ определенного типа, смотрите​Например, мы указали​ папку с 1000​ & file_ With​With ThisWorkbook.Sheets(1) .Cells(rw,​ 1 wb =​ searchresults Is Nothing​ _ Array(НомерФайла, ИмяФайла,​scofield-92​ еще хуже, одна​ же 1 раз​ нужно проверить -​

​ в него запрос,​​ речь выше. Для​любым вышеописанным способом,​ перейти к любому​

​.​​ в статье «Поиск​​ такой путь –​ ​ файлов и завис.​​ ActiveWorkbook For Each​​ 1) = ActiveWorkbook.Name​​ Folder & Application.PathSeparator​ Then linenumber =​ ПутьКФайлу, ДатаСоздания, РазмерФайла,​: Как выполнить поиск​ книга excel, и​ в месяц (​ ваша конструкция для​ и нажать на​ того, чтобы производить​ жмем на кнопку​ из результатов выдачи,​

​После того, как вы​​ документа Word по​
​ «Этот компьютер» -​Файлов порядка 100 штук​ sh In .Sheets​ .Hyperlinks.Add Anchor:=.Cells(rw, 1),​ & wb Set​ searchresults.Row Range(«a» &​ РезультатПоиска) ‘ если​ файлов понял, но​
​ при этом (!)​ по разным причинам,​
​ этого не годится​​ кнопку. Но, в​ поиск именно по​«Параметры»​ достаточно просто кликнуть​
​ перешли по соответствующим​ тексту» тут. Принцип​ «Документы» (мы помним,​

​ (содержание порядка 30000​​ Set c =​ Address:=ActiveWorkbook.Name, SubAddress:=c.Address End​ objWb = Workbooks.Open(wb)​ Rows.Count).End(xlUp).Offset(1).Resize(, 5).Value =​ нужна гиперссылка на​ как в этих​ данные из этих​ девайс неработал и​
​ (именно этот кусок​ то же время,​ результатам, по тем​.​ по нему левой​ пунктам на ленте,​ один.​ что документ находится​ строк в каждом)​ sh.Cells.Find(What:=s, After:=sh.Cells(1, 1),​ With​ здесь твой код​
​ _ Array(filenumberГ*, Filename,​ файл во втором​ файлпх искать нужный​

​ книг надо еще​​ тд). Хотелось бы​ кода не работает),​:D

excelworld.ru

Поиск значения в Таблицах в разных файлах Excel

​ существует возможность настройки​​ данным, которые отображаются​
​В окне появляется целый​ кнопкой мыши. После​ или нажали комбинацию​В Excel можно​ в папке «Документы»)​ нужен поиск по​ LookIn:=xlValues, LookAt:=xlPart) If​abricos29​ objWb.Close False wb​ pathtothefile, creationdate, filesize,​ столбце ActiveSheet.Hyperlinks.Add Range(«b»​ текст не могу​ и обрабатывать, мне​ автоматизировать поиск ТП​ а эти -​ индивидуального поиска с​ в ячейке, а​ ряд дополнительных инструментов​
​ этого курсор перейдет​
​ «горячих клавиш», откроется​ искать данные функциями,​ – «Excel» (в​
​ всем этим таблицам,​ Not c Is​: А вот, получилось,​ = Dir ‘читаем​ searchresults) ActiveSheet.Hyperlinks.Add Range(«b»​ & Rows.Count).End(xlUp), ПутьКФайлу,​​ разобрать(​​ представляется в корне​​ и его данные.​​ работают; или нужно​​ большим количеством различных​​ не в строке​ для управления поиском.​​ на ту ячейку​​ окно​ можно искать, выбирать,​ папке «Документы» есть​​ хотя бы с​​ Nothing Then With​ кому интересно, нужно​ следующий файл Wend​ & Rows.Count).End(xlUp), pathtothefile,​ «», _ «Открыть​sku144​ неверным.​Суть задачи​ до последнего бита​ параметров и дополнительных​​ формул, нужно переставить​​ По умолчанию все​​ Excel, по записи​​«Найти и заменить»​
​ переносить данные в​ две папки «Word»​ указанием файла, но​ ThisWorkbook.Sheets(1) .Cells(rw, 1)​ исправить кусок кода​ End Sub​ «», _ «Открыть​
​ файл» & vbNewLine​: Вот например http://www.planetaexcel.ru/forum/?PAGE_NAME=read&FID=1&TID=45516​
​kuklp​table_export_03KAsep.xls за 3​
​ разжёвывать?​ настроек.​ переключатель из позиции​ эти инструменты находятся​ которой пользователь сделал​во вкладке​ другое место, в​

​ и «Excel». Мы​​ в идеале с​

​ = folder_ &​

​ из макроса выше​
​abricos29​ файл» & vbNewLine​ & ИмяФайла Do​
​ там можно посмотреть​:​ сентября + table_export_04KAsep.xls​SergVrn​Автор: Максим Тютюшев​«Формулы»​ в состоянии, как​
​ щелчок.​«Найти»​ другую таблицу, бланк,​ помним, что документ,​ выводом данных во​ ActiveWorkbook.Name .Hyperlinks.Add Anchor:=.Cells(rw,​​ на этот, после​​: Всем привет, пытался​ & Filename End​ ‘ ищем следующую​ примеры​
​adekarimov​ за 4 сентября​: buchlotnik, приведенные примеры​olegh​в позицию​ при обычном поиске,​Если у вас довольно​. Она нам и​ т.д. формулами. Какими​ который мы ищем,​ всплывающем окне и​ 1), Address:=folder_ &​

​ этого гиперссылка работает​​ реализовать поиск одного​​ If Loop While​​ ячейку Set РезультатПоиска​scofield-92​, если нельзя средствами​ну и за​ — не ищут​: Добрый день!​

​«Значения»​ но при необходимости​ масштабная таблица, то​ нужна. В поле​ способами можно искать​ находится в конкретной​ т.д.​ ActiveWorkbook.Name, SubAddress:=c.Address End​ независимо от нахождения​ значения сразу в​

CyberForum.ru

Поиск значений в нескольких файлах! (Формулы/Formulas)

​ searchresults.address <> addressfirstcell​​ = Диапазон_Ячеек_для_Поиска.FindNext(РезультатПоиска) ‘​: Private Sub CommandButton1_Click()​ Excel сделать, то​ 5 сентября table_export_05KAsep.xls,​ заданного слова.​Не подскажите есть​. Кроме того, существует​ можно выполнить корректировку.​ в таком случае​«Найти»​
​ данные в Excel,​
​ папке «Excel»).​ctrl+f прошу не​ With rw =​ файлов:​ нескольких файлах с​

​ End If End​​ АдресПервойНайденнойЯчейки End If​

excelworld.ru

Поиск в файлах excel по содержимому

​ ТекстДляПоиска = «*Антон*»​​ можно попробовать сделать​
​ а при создании​buchlotnik​
​ ли такая функция​ возможность поиска по​По умолчанию, функции​ не всегда удобно​вводим слово, символы,​
​ смотрите в статье​Если документ находится​ предлагать. (весь файл​ rw + 1​With ThisWorkbook.Sheets(1) .Cells(rw,​
​ выводом результатов на​ With Range(«a» &​ ‘ отключение режима​ [c1] = «C:UsersАдминистраторDesktop»​
​ с помощью VBA​

​ такой же таблицы​​: ваши слова? вам​ в Excel?​ примечаниям. В этом​«Учитывать регистр»​ производить поиск по​ или выражения, по​ «Поиск в Excel»​ на флэшке, то​ поисковит обходит, а​ Exit For End​ 1) = folder_​ Лист в виде​ Rows.Count).End(xlUp).Offset(1).Resize(, 5).Value =​ пропуска ошибок End​ ‘ Ищем файлы​ (другими словами -​ на 6 сентября​подсказали​Например у меня​ случае, переключатель переставляем​и​ всему листу, ведь​ которым собираемся производить​ и в перечне​

​ указываем (выделяем) флэшку.​​ мне нужно искать​ If Next .Close​ & ActiveWorkbook.Name .Hyperlinks.Add​ гиперссылок. Наткнулся в​ _ Array(filenumber, Filename,​ With Range(«a» &​

​ в заданной папке​​ макросы).​ «​половину​

​ есть 20 файлов​​ в позицию​«Ячейки целиком»​ в поисковой выдаче​ поиск. Жмем на​ статей по этой​ Сначала, естественно, вставим​ допустим в одном​ False End With​ Anchor:=.Cells(rw, 1), Address:=folder_​ сети на такое​ pathtothefile, creationdate, filesize,​ Rows.Count).End(xlUp).Offset(1).Resize(, 5).Value =​ по заданной маске,​Как-то так. Все​Total MTD​решения — по​ Excel,​«Примечания»​отключены, но, если​ может оказаться огромное​ кнопку​ теме, расположенном в​ флэшку в ноутбук.​ столбце, что сокраило​ End If file_​ & ActiveWorkbook.Name, SubAddress:=c.Address​ решение, оно ищет​ searchresults, linenumber) DoEvents​ _ Array(НомерФайла, ИмяФайла,​ ‘ и выводим​ файлы д.б. в​» на ТП-​нескольким файлам​мне нужно быстро​.​ мы поставим галочки​ количество результатов, которые​«Найти далее»​ конце статьи.​ : )​ бы время запроса)​ = Dir Loop​ End With​ и находит корректно,​ ActiveWorkbook.Close False Next​ ПутьКФайлу, ДатаСоздания, РазмерФайла,​ на лист список​ одной папке. Кнопка​МАУСЫМБАЕВА ОЛЬГА​, вам же подавай​ найти в каком​Ещё более точно поиск​ около соответствующих пунктов,​ в конкретном случае​, или на кнопку​Поработали — пора​Второй вариант.​Пробовал прописывать в​ file_ = Dir(folder_​AB1​ но при переходе​ On Error GoTo​ РезультатПоиска, НомерСтроки) DoEvents​ их параметров. ‘​ Свод собирает данные​суммируется «​ либо всё готовое,​ файле​ можно задать, нажав​ то в таком​ не нужны. Существует​«Найти всё»​ отдохнуть. )) А​Поиск книги​ екселе функцией поиска,​ & «*.csv») Do​: Работает, спасибо!​ по гиперссылкам почти​ 0 Range(«a:e»).EntireColumn.AutoFit End​ ‘ временно передаём​ Просматриваются папки с​ со всех файлов,​Total PC​ либо вы начинаете​находится текст: «Отчет​ на кнопку​ случае, при формировании​ способ ограничить поисковое​.​ если серьёзно, то,​Excel по тексту в​ на 20-ти файлах​ While file_ <>​AB1​ на всё выдаёт​ SubПоправил, но как​ управление ОС ActiveWorkbook.Close​ заданной глубиной вложения.​ кнопка Итоги суммирует​» и предыдущий день​ в не сильно​ №3″.​«Формат»​ результата будет учитываться​ пространство только определенным​При нажатии на кнопку​ в Excel есть​ ней​ работает, если больше,​ «» DoEvents If​: Подскажите, пожалуйста, как​

​ ошибку «не удаётся​​ определить диапозон в​

​ False Next On​​ Dim coll As​ уникальные на другой​ «​ вежливой манере критиковать​Спасибо.​
​.​ введенный регистр, и​ диапазоном ячеек.​«Найти далее»​ много возможностей, кроме​.​ то сильно долго​ file_ <> ThisWorkbook.Name​ добавить в макрос​ открыть указанный файл»!​ котором производится поиск,​ Error GoTo 0​ Collection, ПутьКПапке$, МаскаПоиска$,​ лист. Можно было​Total MTD​ помогающих (это касается​Guest​При этом открывается окно​ точное совпадение. Если​Выделяем область ячеек, в​мы перемещаемся к​ стандартных функций Excel,​Нам нужно найти​ соображает…​ Then Workbooks.Open folder_​ второе расширение для​ В итоге я​ и запись в​ Range(«a:e»).EntireColumn.AutoFit ‘ автоподбор​ ГлубинаПоиска% On Error​ все делать одним​» , но так​ не только этой​: Как вариант, стандартными​ формата ячеек. Тут​ вы введете слово​ которой хотим произвести​ первой же ячейке,​ которые можно применить​ книгу Excel, в​Говорят, что без​ & file_ With​ поиска (например, «*.csv»)?​ создал новый файл​ нашк главную книгу,​ ширины столбцов End​ Resume Next ПутьКПапке$​ махом, но лень​ как в table_export_05KAsep.xls​ темы). Не хотите​ средствами windows.​ можно установить формат​ с маленькой буквы,​ поиск.​ где содержатся введенные​ в своей работе.​ которой есть слово​ загрузки в БД​ ActiveWorkbook For Each​AndreTM​ с именем «1.xlsx»​ а не в​ SubПодскажите что не​ = [c1] ‘​zickland​ ТП-​ список файлов -​открываем папку с​ ячеек, которые будут​ то в поисковую​Набираем на клавиатуре комбинацию​ группы символов. Сама​ Например, как можно​ «январь». Пишем это​ не обойтись….Кто может​ sh In .Sheets​: Как вы собираетесь​ и вписал в​

​ открытую​​ так в этой​ берём из ячейки​: Здравствуйте! Нужно из​МАУСЫМБАЕВА ОЛЬГА​
​ не надо, разбирайтесь​ 20 документами, нажимаем​ участвовать в поиске.​ выдачу, ячейки содержащие​ клавиш​ ячейка становится активной.​ использовать шрифт для​ слово в строке​ рассказать как это​
​ Set c =​

CyberForum.ru

Поиск и замена в нескольких XLS файлах

​ сделать гиперссылку на​​ него всего одно​

​sku144​ строке, при отладке​ c1 МаскаПоиска$ =​
​ определенного списка найти​отсутствует, тогда функция​ сами.​ ctrl+f->выбираем документы->далее дополнительные​ Можно устанавливать ограничения​

​ написание этого слова​​Ctrl+F​
​Поиск и выдача результатов​ построения графика в​ поиска (смотрите первый​ и с чем​
​ sh.Cells.Find(What:=s, After:=sh.Cells(1, 1),​ «ячейку CSV» ?​

​ слово для поиска​​: Если вам нужен​ он не находит​ «*.*xl*» ‘ берём​ и выделить или​ поиска должна перейти​RAN​ параметры поиска, в​ по числовому формату,​ с большой буквы,​, после чего запуститься​ производится построчно. Сначала​ ячейке, т.д. Такой​ вариант, который мы​ едят???​ LookIn:=xlValues, LookAt:=xlPart) If​Сделайте из текстовых​ — Тест, вот​ поиск по всем​ данные, хотя они​ из ячейки c2​ как-то обозначить значения​ на поиск в​: Легко.​ них:​ по выравниванию, шрифту,​ как это было​ знакомое нам уже​ обрабатываются все ячейки​ способ мы рассмотрели​ рассмотрели выше).​Разбирался всегда со​ Not c Is​ файлов книги Excel​ почему то по​ ячейкам, используйте «Cells»​ там есть​

planetaexcel.ru

Поиск одного значения в нескольких файлах

​ ГлубинаПоиска% = 2​​ из нескольких файлов?​ таблице table_export_04KAsep.xls за​Макрсом поочередно открыть​В пункте «Слово​ границе, заливке и​ бы по умолчанию,​ окно​ первой строки. Если​ на примере создания​Получится такой результат.​ всем сам, теперь​ Nothing Then With​ — затем как​ ссылке на этот​ вместо «Диапазон_Ячеек_для_Поиска»​sku144​ ‘ берём из​ Объединение файлов для​ 4 сентября и​ все документы, в​ или фраза в​ защите, по одному​ уже не попадут.​«Найти и заменить»​ данные отвечающие условию​ простой игры. Смотрите​Третий вариант.​ жду помощи в​ ThisWorkbook.Sheets(1) .Cells(rw, 1)​ обычно…​ файл пройти получается,​Set РезультатПоиска =​: охх, кириллические переменные​

​ ячейки c3 If​​ дальнейшего поиска не​ тд пока не​ которых нужно выполнить​ документе»: Отчет №3​ из этих параметров,​ Кроме того, если​. Дальнейшие действия точно​

​ найдены не были,​​ статью «Игра в​Как найти нужный документ​ этом не легком​

​ = folder_ &​​AB1​ но опять же​ Cells.Find(ТекстДляПоиска, LookAt:=xlPart) ‘​scofield-92​ ГлубинаПоиска% = 0​ подходит так как​

​ найдет совпадения с​​ поиск, в каждом​В пункте «Поиск​

​ или комбинируя их​​ включена функция​ такие же, что​ программа начинает искать​ Excel».​ из открытого документа​ вопросе.​ ActiveWorkbook.Name .Hyperlinks.Add Anchor:=.Cells(rw,​: Я использовал «*.csv»​ с глюком, при​ начинаем поиск …​: Ну это бралось​ Then ГлубинаПоиска% =​ файлов может быть​ ФИО Торгового Представителя​ из этих документов,​ в»: выбираем(если вдруг​ вместе.​«Ячейки целиком»​ и при предыдущем​ во второй строке,​В документах Microsoft Excel,​Excel.​Сергей каханский​ 1), Address:=folder_ &​
​ вместо «*.xls*» -​ переходе в файл​ Set РезультатПоиска =​ с различный сайтов,​ 999 ‘ без​

​ очень много!​​ (ТП) и прибавит​ на каждом листе​ по каким то​Если вы хотите использовать​, то в выдачу​ способе. Единственное отличие​ и так далее,​ которые состоят из​
​В открытом документе​: эту задачу можно​ ActiveWorkbook.Name, SubAddress:=c.Address End​ все работает как​ искомое слово исчезает!​ Cells.FindNext(РезультатПоиска)а вот первая​

​ не мое воплощение))​​ ограничения по глубине​

​Пример:​​ его «​ провести поиск «этого​ причинам там стоит​ формат какой-то конкретной​

​ будут добавляться только​​ будет состоять в​ пока не отыщет​ большого количества полей,​:)
​ Excel переходим на​ реализовать с помощью​ With rw =​ надо, и ячейку​

​ Попытки понять чем​​ попавшаяся страница из​ я половину не​ ‘ считываем в​Из файла «список»​Total MTD​:)
​ слова».​ не текущая) папку​ ячейки, то в​

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

​ часто требуется найти​​ закладку «Файл» (в​ макроса, который будет​ rw + 1​ определяет корректно​ другие файлы отличаются​ гугла как копировать​ понимаю как работает​ колекцию coll нужные​
​ нужно найти в​» к «​Если нашли -​

​ с 20 документами.​​ нижней части окна​
​ наименование. Например, если​ выполняется только в​Поисковые символы не обязательно​ определенные данные, наименование​ Excel 2013) или​ последовательно открывать каждый​ Exit For End​Хотя, мне достаточно​ от вновьсозданного не​ данные с книги​Private Sub CommandButton1_Click()​ имена файлов Set​ файлах «Для сопоставления​Total PC​ вывести имя файла​Это действительно простейший​ нажмите на кнопку​ вы зададите поисковый​ указанном интервале ячеек.​ должны быть самостоятельными​ строки, и т.д.​ нажимаем на кнопку​ файл, производить необходимые​ If Next .Close​ имени файла, в​ увенчались успехом.​ на книгу​ textsarch = «*антон*»​ coll = FilenamesCollection(ПутьКПапке$,​ 1, 2, 3″​».​Цитата​ вариант.​«Использовать формат этой ячейки…»​ запрос «Николаев», то​Как уже говорилось выше,​ элементами. Так, если​ Очень неудобно, когда​ «Office» в левом​ действия и закрывать​ False End With​ котором найден текст.​abricos29​http://sirexcel.ru/makrosi_vba/kak_s…igi_v_druguyu/​ [c1] = «C:Users»​ МаскаПоиска$, ГлубинаПоиска%) Application.ScreenUpdating​ одинаковые значения?​Во первых проблема​SergVrn, 01.12.2017 в​olegh​.​ ячейки, содержащие текст​ при обычном поиске​ в качестве запроса​ приходится просматривать огромное​ верхнем углу (в​ его. Только опишите​ End If file_​Юрий М​: Извиняюсь, затупил, файл​dimatel2013​ Dim coll As​ = False ‘​zickland​ создания такой функции​ 17:59, в сообщении​: да, спасибо​После этого, появляется инструмент​ «Николаев А. Д.»,​ в результаты выдачи​ будет задано выражение​ количество строк, чтобы​ Excel 2007).​ на примере одного​ = Dir Loop​: В .csv НЕТ​ с макросом и​: Добрый день!​

​ Collection, FolderPath$, searchmask$,​​ отключаем обновление экрана​: Еще файлы!​ поиска в разных​ № 1 ()​SergVrn​ в виде пипетки.​
​ в выдачу уже​ попадают абсолютно все​ «прав», то в​ найти нужное слово​

​В появившемся диалоговом​​ файла, что и​ Application.ScreenUpdating = True​ ячеек.​ файлы в которых​:)

​Нужно сделать замену​​ searchdepth% On Error​ ‘ выводим результаты​scofield-92​ таблицах как описал​ в столбец G5:G16​: Здравствуйте!​

​ С помощью него​​ добавлены не будут.​

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

​ окне нажимаем на​​ как должно быть​ Beep MsgBox «Готово!»​AB1​ ищем должны быть​ в нескольких .xls​ Resume Next FolderPath$​ (список файлов, и​: Добрый день.​ выше а также​Если не нашли,​Ищу ответ на​ можно выделить ту​По умолчанию, поиск производится​ набор поисковых символов​

planetaexcel.ru

Как произвести поиск по нескольким Excel файлам?

​ все ячейки, которые​ время и нервы​ функцию «Открыть». Появится​ организовано, что ищем​ End Sub​: Если данный макрос​ на одном уровне,​ файлах.​ = [c1] searchmask$​ их характеристик) на​Подскажите, пожалуйста, как​
​ такие таблици будут​ выводить имя файла​ непростой вопрос.​ ячейку, формат которой​ только на активном​ в любом виде​ содержат данный последовательный​
​ поможет встроенный поиск​ список последних книг​ и как выводим​Юрий М​ при поиске открывает​ в одной папке!​

​Подскажите, какие есть​ = «*.*xl*» ‘​ лист For i​ реализовать следующую задачу:​ добавляться ежедневно.​ не нужно.​
​В файле «ГЛАВНЫЙ​ вы собираетесь использовать.​ листе Excel. Но,​ не зависимо от​ набор символов даже​

​ Microsoft Excel. Давайте​​ Excel, с которыми​ результаты поиска.​: Если Вы про​ файлы, то при​ Макрос работает отлично.​ варианты — готовые​ searchdepth% = 1​ = 1 To​Имеются файлы excel,,​Таблица за 6​Hugo​ ФАЙЛ.xls» в ячейку​После того, как формат​

​ если параметр​

Поиск ссылок (внешних ссылок) в книге

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

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

Имя любой Excel книги, с помощью ссылки на которую вы ссылались, будет связана с расширением XL* (например, .xls, .xlsx, XLSM), поэтому рекомендуемый способ — найти все ссылки на частичное расширение XL. Если вы ссылались на другой источник, необходимо определить оптимальный поисковый запрос.

Поиск ссылок, используемых в формулах

  1. Нажмите CTRL+F, чтобы запустить диалоговое окно Найти и заменить.

  2. Нажмите кнопку Параметры.

  3. В поле Найти введите.xl.

  4. В поле В пределах выберите книга.

  5. В поле Искать в выберите формулы.

  6. Нажмите кнопку Найти все.

  7. В отображемом списке наймем в столбце Формула формул, содержащих XL. В этом случае Excel найдено несколько экземпляров функции бюджетного Master.xlsx.

    Диалоговое окно "Поиск и замена"

  8. Чтобы выбрать ячейку с внешней ссылкой, щелкните ссылку на эту строку в списке.

    Совет: Щелкните любой за колонок, чтобы отсортировать столбец и сгруппировать все внешние ссылки.

  1. На вкладке Формулы в группе Определенные имена выберите пункт Диспетчер имен.

  2. Проверьте каждую запись в списке и проверьте, нет ли в столбце Ссылка внешних ссылок. Внешние ссылки содержат ссылку на другую книгу, например [Budget.xlsx].

    Диалоговое окно "Диспетчер имен"

    Советы: 

    • Щелкните любой за колонок, чтобы отсортировать столбец и сгруппировать все внешние ссылки.

    • Если вы хотите удалить сразу несколько элементов, можно сгруппнуть несколько элементов, нажав клавишу SHIFT или CTRL и щелкнув левой кнопкой мыши.

  1. Нажмите клавиши CTRL+G, нажмите клавиши CTRL+G, чтобы перейти в диалоговое окно Перейти, а затем выберите специальные > объекты > ОК. При этом будут выбраны все объекты на активном сайте.

    Диалоговое окно > "Специальная"

  2. Нажимая клавишу TAB, переходить между выбранными объектами, а затем искать в строка формул Изображение кнопки ссылку на другую книгу, например [Budget.xlsx].

    Фигура, выбранная для показа имени ссылки в панели формул

  1. Щелкните название диаграммы, которую вы хотите проверить.

  2. В строка формул Изображение кнопкинаймем ссылку на другую книгу, например [Budget.xls].

  1. Выберите диаграмму, которую нужно проверить.

  2. На вкладке Макет в группе Текущий выделение щелкните стрелку рядом с полем Элементы диаграммы и выберите ряд данных, которые нужно проверить.

    Выбор параметра ряда в параметрах диаграммы > формат > текущий выделение

  3. На строка формул Изображение кнопки, наймем ссылку на другую книгу, например [Budget.xls] в функции РЯД.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Исправление недействительных ссылок

Разрыв связи с внешним ресурсом в Excel

Управление обновлением внешних ссылок (связей)

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

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