提示:其它语言是由 Google 机器翻译的。 你可以访问 English 版本。
登录
x
or
x
x
马上登记
x

or

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

本文讨论如何查找其他工作簿中的值并返回数据,以及如何从其他工作簿查找/搜索值。 这里我将详细介绍三种解决方案。

在Excel中查找其他工作簿中的数据并返回值

使用VBA从另一封闭工作簿中查找数据并返回值

轻松从另一张表中查找值,而无需精确记住公式

Kutools为Excel的 在列表中寻找一个值 公式可以帮助您快速查找活动工作表或其他工作表中的选择值。 全功能免费试用60天!

广告在列表1中查找值
广告在列表2中查找值
Office选项卡在Office中启用选项卡式编辑和浏览,使您的工作更轻松......
Kutools for Excel - 最佳办公生产力工具将解决您的大部分Excel问题
  • 重用任何东西: 将最常用或最复杂的公式,图表和其他任何内容添加到您的收藏夹中,并在将来快速重复使用它们。
  • 超过20文本功能: 从文本字符串中提取数字; 提取或删除部分文本; 将数字和货币转换为英语单词...
  • 合并工具:多个工作簿和表格合二为一; 合并多个单元格/行/列而不丢失数据; 合并重复行和总和...
  • 拆分工具:根据价值将数据拆分为多个表格; 一个工作簿到多个Excel,PDF或CSV文件; 一列到多列......
  • 粘贴跳过 隐藏/过滤行; 数和总和 按背景颜色; 创建邮件列表和 通过Cell的价值发送电子邮件...
  • 超级过滤器: 创建高级过滤方案并应用于任何工作表; 排序 按周,日,频率等; 筛选 通过大胆,公式,评论......
  • 超过300强大的功能; 适用于Office 2007-2019和365; 支持所有语言; 在公司轻松部署; 全功能60天免费试用。

箭头蓝色右泡 在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。 支持所有语言。 在您的企业或组织中轻松部署。 全功能60天免费试用。
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 · 4 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?