Как быстро найти значение в нескольких листах или книгах?
Приходилось ли вам когда-нибудь искать конкретное значение, которое может находиться на разных листах или даже в нескольких книгах Excel? Это распространенный сценарий, особенно при работе с крупными проектами, ежемесячными отчетами или при объединении информации из нескольких файлов. Просмотр каждого листа или файла вручную не только занимает много времени, но и чреват ошибками. В этом руководстве вы узнаете о нескольких эффективных методах поиска данных: будь то поиск внутри одной книги, нескольких книг или использование формул для создания сводных данных. Эти подходы охватывают практические потребности, которые могут возникнуть при рутинной работе с Excel или анализе данных.
Поиск значения в нескольких листах книги с помощью функции «Найти и заменить»
Поиск значения во всех книгах папки с помощью VBA
Быстрый поиск значения в нескольких открытых книгах с помощью Kutools для Excel
Поиск значения на нескольких листах с использованием формул Excel
Поиск значения в нескольких листах книги с помощью функции «Найти и заменить»
Функция «Найти и заменить» в Excel — это базовый, но эффективный способ быстрого поиска определенных значений на нескольких рабочих листах в рамках одной книги. Этот метод наиболее полезен, если вы знаете, какие листы нужно проверить, или если ваши данные относительно хорошо структурированы в одном файле. Он не поддерживает поиск в разных файлах или закрытых книгах, но предоставляет простой способ для быстрого просмотра.
1. Для начала выберите ярлычки листов, которые вы хотите включить в поиск, удерживая клавишу Ctrl и нажимая на каждый рабочий лист в строке вкладок листов по отдельности. Это гарантирует, что поиск будет применяться ко всем выбранным листам одновременно. См. скриншот:
2. После выбора нужных листов нажмите Ctrl + F, чтобы открыть диалоговое окно «Найти и заменить». Введите значение, которое вы хотите найти, в текстовое поле «Найти» в разделе «Найти», затем нажмите кнопку «Найти все». Excel мгновенно покажет список всех ячеек на выбранных листах, содержащих ваше значение, вместе с их местоположениями. См. скриншот:
Совет: Инструмент «Найти и заменить» осуществляет поиск только в открытых и видимых листах. Если вы хотите расширить поиск до дополнительных листов, обязательно выберите их, как описано выше. Если вы случайно пропустили лист, просто повторите операцию, включив его в выбор.
Предупреждение: Этот метод не выполняет поиск в закрытых или скрытых книгах и не выделяет ячейки автоматически – он только предоставит список результатов для навигации.
Устранение проблем: Если вы не видите ожидаемых результатов, дважды проверьте выбор листа и убедитесь, что вы не применили фильтры или защиту ячеек, которые могут скрывать или ограничивать поиск.
Без труда находите и заменяйте значения в нескольких листах и книгах |
Продвинутая функция Поиска и Замены в Kutools для Excel предлагает эффективный способ поиска и замены значений на нескольких листах или даже во всех открытых книгах. Благодаря этой продвинутой функции вы можете экономить время и исключать ошибки при работе с большими наборами данных, делая задачи в Excel быстрее и точнее. |
![]() |
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 или кнопку Выполнить, чтобы выполнить этот макрос. Появится диалоговое окно «Выберите папку», позволяющее выбрать папку, содержащую книги, которые вы хотите просмотреть. См. скриншот:
4. Нажмите OK. После завершения поиска появится окно сообщения с информацией о количестве найденных ячеек, содержащих указанное значение. См. скриншот:
5. Нажмите OK, чтобы закрыть сообщение. Все местоположения, где было найдено значение, будут перечислены на новом листе, включая имя книги, имя листа, ссылку на ячейку и точное содержимое ячейки для вашего обзора.
Совет: Текущий термин поиска установлен в VBA как «KTE». Вы можете настроить его, изменив строку xStrSearch = "KTE" в коде на любое значение, которое хотите найти.
Предупреждение: Перед запуском убедитесь, что все соответствующие книги сохранены и закрыты (за исключением той, где вы запускаете макрос, которая может быть открыта). Большие папки с множеством или сложными файлами Excel могут занять некоторое время для обработки. Не прерывайте выполнение макроса.
Устранение проблем: Если вы столкнетесь с ошибками, убедитесь, что все файлы являются настоящими книгами Excel (не поврежденные или защищенные паролем), и настройки безопасности макросов позволяют коду выполняться. Если макрос не завершается, попробуйте запустить его на меньшем наборе файлов.
Быстрый поиск значения в нескольких открытых книгах с помощью Kutools для Excel
Когда необходимо выполнить поиск в нескольких книгах, уже открытых в текущей сессии Excel, Kutools для Excel предлагает специальную панель «Найти и заменить», которая значительно упрощает и организует процесс. Это особенно полезно для быстрого сканирования ваших книг без необходимости использования скриптов или сложной настройки. Идеально подходит для пользователей, которые часто работают с несколькими файлами одновременно и нуждаются в удобном и понятном инструменте для управления поисками.
1. В любой из открытых книг перейдите к вкладке Kutools и выберите Навигация. Затем нажмите кнопку Найти и заменить чтобы открыть панель Найти и заменить , обычно расположенную с левой стороны окна Excel. См. скриншот:
2. На вкладке Найти введите значение, которое вы хотите найти, в текстовое поле Найти . Выберите Все книги из выпадающего меню В пределах для выполнения поиска по всем открытым книгам. Затем нажмите Найти все для мгновенного отображения списка всех соответствующих ячеек вместе с их расположением. См. скриншот:
Совет: Расширенная утилита «Найти и заменить» Kutools для Excel позволяет искать и заменять данные не только во всех открытых книгах, но и в выбранных листах, активной книге, текущем листе или даже только в текущем выделенном диапазоне. Это дает вам гибкий контроль в зависимости от ваших потребностей.
Предупреждение: Убедитесь, что все книги, которые вы хотите найти, открыты перед началом поиска, так как этот инструмент не может искать файлы, которые в данный момент не открыты в Excel.
Устранение проблем: Если некоторые файлы не отображаются в результатах поиска, дважды проверьте, что они полностью загружены в Excel и не находятся в защищенном режиме или режиме только для чтения, который может ограничивать доступ к поиску.
Демонстрация: Поиск значения в нескольких открытых книгах с помощью Kutools для Excel
Поиск значения на нескольких листах с использованием формул 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, ""))
Она вернет список через запятую всех названий листов, где найдено значение. Будьте осторожны с ДВССЫЛ — он работает только с открытыми книгами и не позволяет выполнять поиск в закрытых файлах.
Предупреждение: Если названия листов изменяются или удаляются, формула вернет ошибку #ССЫЛКА!; всегда проверяйте, что список названий листов правильный. Для больших книг формулы, основанные на ДВССЫЛ, могут замедлить производительность вашей книги.
Устранение проблем: Если вы видите ошибки, проверьте, что все указанные листы существуют и что ваш диапазон поиска правильный. Для динамических списков листов рассмотрите использование именованных диапазонов или проверки данных для автоматического обновления списка листов.
Связанные статьи:
- Как быстро найти и заменить в нескольких рабочих листах или всей книге?
- Как быстро найти и заменить в нескольких открытых файлах Excel?
- Как найти наибольшее отрицательное значение (меньше 0) в Excel?
- Как извлечь все дубликаты из столбца в Excel?
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в 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 и PowerPoint плюс Office Tab Pro
- Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
- Совместная работа — максимальная эффективность между приложениями Office
- 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек