Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

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

Author Sun Last modified

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

Поиск значения в нескольких листах книги с помощью функции «Найти и заменить»

Поиск значения во всех книгах папки с помощью VBA

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

Поиск значения на нескольких листах с использованием формул Excel


Поиск значения в нескольких листах книги с помощью функции «Найти и заменить»

Функция «Найти и заменить» в Excel — это базовый, но эффективный способ быстрого поиска определенных значений на нескольких рабочих листах в рамках одной книги. Этот метод наиболее полезен, если вы знаете, какие листы нужно проверить, или если ваши данные относительно хорошо структурированы в одном файле. Он не поддерживает поиск в разных файлах или закрытых книгах, но предоставляет простой способ для быстрого просмотра.

1. Для начала выберите ярлычки листов, которые вы хотите включить в поиск, удерживая клавишу Ctrl и нажимая на каждый рабочий лист в строке вкладок листов по отдельности. Это гарантирует, что поиск будет применяться ко всем выбранным листам одновременно. См. скриншот:

A screenshot of selecting multiple sheet tabs in Excel using the Ctrl key

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

A screenshot of the Find and Replace window in Excel showing the Find what field

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

Предупреждение: Этот метод не выполняет поиск в закрытых или скрытых книгах и не выделяет ячейки автоматически – он только предоставит список результатов для навигации.

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


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

Продвинутая функция Поиска и Замены в Kutools для Excel предлагает эффективный способ поиска и замены значений на нескольких листах или даже во всех открытых книгах. Благодаря этой продвинутой функции вы можете экономить время и исключать ошибки при работе с большими наборами данных, делая задачи в Excel быстрее и точнее.
A screenshot of Kutools for Excel's Find and Replace feature in action

Kutools для Excel - Усильте Excel более чем 300 необходимыми инструментами. Наслаждайтесь постоянно бесплатными функциями ИИ! Получите прямо сейчас


Поиск значения во всех книгах папки с помощью VBA

Если вам нужно найти конкретное значение в нескольких книгах, хранящихся в папке, включая файлы, которые вы не открывали, встроенные инструменты Excel не смогут этого сделать напрямую. В этом случае макрос VBA (Visual Basic for Applications) может автоматизировать этот процесс, систематически открывая каждую книгу в папке, просматривая все рабочие листы и записывая места, где были найдены совпадения. Этот подход очень практичен для периодических аудитов или поиска значений в архивных или пакетных файлах.

1. Начните с открытия новой (или пустой) книги в Excel. Выберите ячейку, где должны появиться результаты поиска (обычно A1). Нажмите Alt + F11, чтобы запустить окно редактора Microsoft Visual Basic for Applications.

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

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

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

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

A screenshot of the Select a Folder dialog in Excel for choosing a folder to search

4. Нажмите OK. После завершения поиска появится окно сообщения с информацией о количестве найденных ячеек, содержащих указанное значение. См. скриншот:

A screenshot of a dialog showing the number of cells found during a search in Excel

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

A screenshot of the list of found cells in Excel after using VBA search

Совет: Текущий термин поиска установлен в VBA как «KTE». Вы можете настроить его, изменив строку xStrSearch = "KTE" в коде на любое значение, которое хотите найти.

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

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


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

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

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

1. В любой из открытых книг перейдите к вкладке Kutools и выберите Навигация. Затем нажмите кнопку Найти и заменить  Find and Replace button чтобы открыть панель Найти и заменить , обычно расположенную с левой стороны окна Excel. См. скриншот:

A screenshot of the Find and Replace pane in Excel

2. На вкладке Найти введите значение, которое вы хотите найти, в текстовое поле Найти . Выберите Все книги из выпадающего меню В пределах для выполнения поиска по всем открытым книгам. Затем нажмите Найти все для мгновенного отображения списка всех соответствующих ячеек вместе с их расположением. См. скриншот:
A screenshot of the Kutools Find and Replace pane with the 'Find what' field filled out

Совет: Расширенная утилита «Найти и заменить» Kutools для Excel позволяет искать и заменять данные не только во всех открытых книгах, но и в выбранных листах, активной книге, текущем листе или даже только в текущем выделенном диапазоне. Это дает вам гибкий контроль в зависимости от ваших потребностей.
A screenshot of Kutools for Excel’s Find and Replace dialog showing results across all workbook

Предупреждение: Убедитесь, что все книги, которые вы хотите найти, открыты перед началом поиска, так как этот инструмент не может искать файлы, которые в данный момент не открыты в Excel.

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

Демонстрация: Поиск значения в нескольких открытых книгах с помощью Kutools для Excel

 
Kutools для Excel: Более 300 удобных инструментов у вас под рукой! Наслаждайтесь постоянно бесплатными функциями ИИ! Скачать сейчас!

Поиск значения на нескольких листах с использованием формул Excel

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

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

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

Пример сценария: Предположим, у вас три листа с названиями Лист1, Лист2 и Лист3. Вы хотите узнать, на каком(их) листе(ах) конкретное значение, например «Invoice123», встречается в ячейке A1, или просто проверить, существует ли это значение где-либо на этих листах.

Шаг1. Предположим, у вас есть список названий листов в D2:D4 (D2: Лист1, D3: Лист2, D4: Лист3). Введите значение для поиска (например, «Invoice123») в E1. Затем в F2 введите эту формулу:

=IF(COUNTIF(INDIRECT("'"&D2&"'!A:A"), $E$1) >0, "Found", "Not Found")

Шаг2. Протяните формулу вниз от F2 до F4, чтобы проверить все листы, перечисленные в D2:D4. Она вернет «Найдено» или «Не найдено» для каждого листа.

Как это работает: Формула использует функцию ДВССЫЛ для создания ссылки на каждый указанный рабочий лист и СЧЁТЕСЛИ для проверки, появляется ли значение в E1 в столбце A каждого листа. При необходимости измените диапазон A:A на другой столбец или конкретный диапазон (например, A1:Z100).

Дополнительный совет: Чтобы получить названия листов, содержащих значение, используйте следующую формулу массива (в старых версиях Excel вводится с помощью Ctrl + Shift + Enter или как обычная формула в Microsoft 365/Excel 2021+):

=TEXTJOIN(", ",TRUE,IF(COUNTIF(INDIRECT("'"&D2:D4&"'!A:A"), $E$1)>0, D2:D4, ""))

Она вернет список через запятую всех названий листов, где найдено значение. Будьте осторожны с ДВССЫЛ — он работает только с открытыми книгами и не позволяет выполнять поиск в закрытых файлах.

Предупреждение: Если названия листов изменяются или удаляются, формула вернет ошибку #ССЫЛКА!; всегда проверяйте, что список названий листов правильный. Для больших книг формулы, основанные на ДВССЫЛ, могут замедлить производительность вашей книги.

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


Связанные статьи:


Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP по нескольким значениям | Многолистовой поиск | Распознавание нечетких соответствий ...
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ...
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгой и листами | Библиотека автотекста | Выбор даты | Объединить данные | Зашифровать/расшифровать ячейки | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр жирный/курсив/зачеркнутый...) ...
Топ15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ полезных формул (Расчет возраста на основе даты рождения, ...) |19 инструментов для вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое
Используйте Kutools на предпочитаемом вами языке — поддерживает Английский, Испанский, Немецкий, Французский, Китайский и более40 других языков!

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


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

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

Все надстройки Kutools. Один установщик

Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.

Excel Word Outlook Tabs PowerPoint
  • Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
  • Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
  • Совместная работа — максимальная эффективность между приложениями Office
  • 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
  • Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек