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

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

Author: Kelly Last Modified: 2025-06-05

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


Поиск данных и возврат значений из другой книги в Excel

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

create sample data vlookup the fruits from another workbook

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

2. Выберите пустую ячейку, куда вы хотите вернуть цену, и введите формулу =VLOOKUP(B2,[Price.xlsx]Sheet1!$A$1:$B$24,2,FALSE) в неё, затем перетащите маркер заполнения, чтобы применить эту формулу к нужному диапазону.
enter a formula to vlookup from another workbook

drag and fill the formula to other cells

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

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

note ribbon Слишком сложно запомнить формулу? Сохраните формулу как элемент автотекста, чтобы использовать её в будущем всего одним кликом!
Читать далее…     Бесплатная пробная версия
a screenshot of kutools for excel ai

Раскройте магию Excel с Kutools AI

  • Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
  • Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
  • Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
  • Интерпретация формул: Легко разбирайтесь в сложных формулах.
  • Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Улучшите возможности Excel с помощью инструментов на базе ИИ. Скачать сейчас и испытайте беспрецедентную эффективность!

Поиск данных и возврат значений из другой закрытой книги с помощью VBA

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

1. Нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

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

VBA: Поиск данных и возврат значений из другой закрытой книги

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 кнопку.
specify the data range that you will look up

5. Теперь выберите книгу, из которой вы будете искать значения в открывшемся диалоговом окне Select a Workbook, и нажмите кнопку Open кнопку.
select the workbook where you will look up values

Теперь все выбранные значения найдены в указанной закрытой книге, и соответствующие значения возвращаются в указанный столбец. См. скриншот:
the corresponding values are returned from a closed workbook

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

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

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


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

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