Note: The other languages of the website are Google-translated. Back to English
Увійти  \/ 
x
or
x
Реєстрація  \/ 
x

or

Як шукати / знаходити значення в іншій книзі?

У цій статті йдеться про пошук значень та повернення даних з іншої книги, а також про пошук / пошук значень з іншої книги. Тут я докладно представлю три рішення.


Перегляд даних і повернення значень з іншої книги в Excel

Наприклад, ви створюєте таблицю купівлі фруктів в Excel, і тепер вам потрібно вилучити фрукти з іншої книги та повернути відповідні ціни, як показано на скріншотах нижче. Тут я допоможу вам вирішити це за допомогою функції VLOOKKUP в Excel.

1. Відкрийте обидві книги, з яких ви будете шукати значення та повертати значення.

2. Виберіть порожню комірку, якій ви повернете ціну, введіть формулу = VLOOKUP (B2, [Price.xlsx] Аркуш1! $ A $ 1: $ B $ 24,2, FALSE) в нього, а потім перетягніть його ручку заповнення, щоб застосувати цю формулу до діапазону, як вам потрібно.

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

Наразі всі ціни повернулися правильно, як показано на лівому скріншоті. І ці ціни оновлюватимуться автоматично, якщо зміниться оригінальна книга, яку ви шукали.

стрічка записки Формула занадто складна, щоб запам'ятати? Збережіть формулу як автоматичний запис тексту для повторного використання лише одним клацанням у майбутньому!
Детальніше ...     Безкоштовне випробування

Дані пошуку та повернені значення з іншої закритої книги з VBA

Можливо, пам’ятка переплутана для налаштування шляху збереження, імені файлу та робочого аркуша у функції VLOOKUP. Цей метод запровадить VBA для його легкого вирішення.

1 Натисніть кнопку інший + F11 клавіші, щоб відкрити вікно Microsoft Visual Basic for Applications.

2. Натисніть Insert > Модулі, а потім вставте нижче коду 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 або клацніть на прогін для запуску цього VBA.

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

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

Тепер усі вибрані значення шукаються у зазначеній закритій книзі, а відповідні значення повертаються у вказаному стовпці. Дивіться знімок екрана:


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    leigh_87 · 2 years ago
    Hi this works great thanks! Would it be at all possible to show me how i would change the code if i have the workbook open that i would like to lookup the data in?