提示:其他語言是Google翻譯的。 你可以訪問 English 版本。
登入
x
or
x
x
註冊
x

or

如何在另一個工作簿中查找/查找值?

本文討論如何查找其他工作簿中的值並返回數據,以及如何從其他工作簿查找/搜索值。 這裡我將詳細介紹三種解決方案。

在Excel中查找其他工作簿中的數據並返回值

使用VBA從另一封閉工作簿中查找數據並返回值

輕鬆從另一張表中查找值,而無需精確記住公式

Kutools為Excel的 在列表中尋找一個值 公式可以幫助您快速查找活動工作表或其他工作表中的選擇值。 全功能免費試用30天!

廣告在列表1中查找值
廣告在列表2中查找值
Office選項卡在Office中啟用選項卡式編輯和瀏覽,使您的工作更輕鬆......
Kutools for Excel解決了您的大多數問題,並使您的生產率提高了80%
  • 重用任何東西: 將最常用或最複雜的公式,圖表和其他任何內容添加到您的收藏夾中,並在將來快速重複使用它們。
  • 超過20文本功能: 從文本字符串中提取數字; 提取或刪除部分文字; 將數字和貨幣轉換為英文單詞。
  • 合併工具:將多個工作簿和工作表合二為一; 合併多個單元格/行/列,而不會丟失數據; 合併重複的行和總和。
  • 拆分工具:根據價值將數據分割成多個工作表; 一本工作簿可轉換為多個Excel,PDF或CSV文件; 一列到多列。
  • 粘貼跳過 隱藏/過濾行; 數和總和 按背景顏色; 將個性化電子郵件批量發送給多個收件人。
  • 超級過濾器: 創建高級過濾方案並應用於任何工作表; 分類 按週,日,頻率等; 過濾 通過大膽,公式,評論......
  • 超過300強大的功能; 與Office 2007-2019和365一起使用; 支持所有語言; 在您的企業或組織中輕鬆部署。

箭頭藍色右泡 在Excel中查找其他工作簿中的數據並返回值

例如,您正在Excel中創建水果購買表,現在您需要從其他工作簿中查找水果並返回相應的價格,如下面的屏幕截圖所示。 在這裡我將指導您使用Excel中的VLOOKKUP函數來解決它。

1。 打開您將查看值並從中返回值的兩個工作簿。

2。 選擇一個空白單元格,您將返回價格,輸入公式 = VLOOKUP(B2,[Price.xlsx] Sheet1 $ A $ 1:$ B $ 24,2,FALSE) 進入它,然後拖動它的填充手柄來將這個公式應用到你所需要的範圍內。

筆記:

(1)在上面的公式中,B2是您將從另一個工作簿中查找的結果,Price.xlsx指示您將查找的工作簿的文件名,Sheet1表示您將查找的工作表名稱,而A $ 1:$ B $ 24是您將查找的範圍。 您可以根據需要更改它們。

(2)關閉您查閱的工作簿後,公式將自動更新為 = VLOOKUP(B2,'W:\測試\ [Price.xlsx] Sheet1'$ A $ 1:$ B $ 24,2,FALSE),W:\ test \是您查閱的工作簿的保存路徑。

到目前為止,所有價格都已正確返回,如左圖所示。 如果從變更中查找原始工作簿,這些價格將自動更新。

注意絲帶 公式太難記了? 將公式保存為自動文本條目,以便將來只需點擊一下即可重複使用!
閱讀全文... 免費試用

箭頭藍色右泡 使用VBA從另一封閉工作簿中查找數據並返回值

在VLOOKUP函數中配置保存路徑,文件名和工作表可能會令人困惑。 這種方法將引入一個VBA來輕鬆解決它。

1。 按 其他 + F11 鍵以打開Microsoft Visual Basic for Applications窗口。

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列。 例如,我應用此VBA時選擇列B,值將返回列D.如果需要更改目標列,請查找代碼 xRg.Offset(0,2).Formula = xString&GetColumn(xFCell.Column + 1)&“$”&xFCell.Row ,並更換 2 根據需要輸入其他號碼。

3。 按 F5 鍵或點擊 按鈕來運行這個VBA。

4。 在打開的對話框中,請指定您要查找的數據范圍,然後單擊 OK 按鈕。

5。 現在請選擇要在打開的選擇工作簿對話框中查找值的工作簿,然後單擊 已提交 按鈕。

現在,在指定的已關閉工作簿中查找所有選定的值,並在指定的列中返回相應的值。 看截圖:


Kutools for Excel解決了您的大多數問題,並使您的生產率提高了80%

  • 重用: 快速插入 複雜的公式,圖表 以及你以前用過的任何東西; 加密單元格 密碼; 創建郵件列表 並發送電子郵件...
  • 超級方程式酒吧 (輕鬆編輯多行文字和公式); 閱讀佈局 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不丟失數據; 分裂細胞含量; 組合重複的行/列...防止重複的細胞; 比較範圍...
  • 選擇複製或唯一 行; 選擇空行 (所有細胞都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇......
  • 精確複製 多個單元格而不更改公式參考; 自動創建參考 多張表; 插入項目符號,複選框等等......
  • 提取文本,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級過濾器 (將過濾方案保存並應用到其他工作表); 高級排序 按月/週/日,頻率等; 特殊過濾器 用粗體,斜體......
  • 結合工作簿和工作表; 根據鍵列合併表; 將數據拆分為多個表格; 批量轉換xls,xlsx和PDF...
  • 超過300強大的功能。 支持Office / Excel 2007-2019和365。 支持所有語言。 在您的企業或組織中輕鬆部署。 全功能30天免費試用。
kte tab 201905

Office選項卡為Office提供選項卡式界面,使您的工作更輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,Publisher,Access,Visio和Project。
  • 在同一窗口的新選項卡中打開並創建多個文檔,而不是在新窗口中。
  • 通過50%提高您的工作效率,每天為您減少數百次鼠標點擊!
官方底部
Say something here...
symbols left.
You are guest ( Sign Up? )
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 Donoghue · 6 months 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?