KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何在 Excel 中使用双向查找公式?

作者修改日期

双向查找可助您精准获取表格中特定行与列交叉处的数值。当您的数据集具备清晰的行标签和列标题,且需依据这些条件快速定位某一具体值时,这一方法尤为高效。例如,在处理销售报表、考勤表或预算表时,您或许希望迅速查到某位员工在特定日期对应的数据。借助 Excel 的双向查找功能,即可轻松高效地提取此类信息。下图展示了一个典型应用场景:返回行“AA-3”与列“5-Jan”交叉位置的值。
显示 Excel 中双向查找示例表格的截图

使用公式的双向查找

用于双向查找的 VBA 宏


蓝色右向箭头气泡使用公式的双向查找

在 Excel 中执行双向查找是一种直观高效的方法,尤其适用于结构清晰的表格,可快速获取指定行标题与列标题交叉处的值。无论是按日期对比员工记录、根据地区和月份提取预算数据,还是查找特定学生在某门科目的测试成绩,双向查找都能轻松应对多种实际场景。

虽然公式灵活便捷,但其主要局限在于要求表格结构保持固定。对于更动态或自动化的场景,其他解决方案可能更为合适——下文将为您介绍更多方法。

要使用公式执行双向查找,请按以下步骤操作:

1. 列出您计划搜索的列标题和行标题,确保标题准确且格式统一,以避免因多余空格或不一致的格式引发查找错误。以下是一个标注清晰的表格示例:
显示 Excel 表格的截图,其中指定了用于双向查找的行标题和列标题

2. 在您希望显示结果的单元格中,根据表格布局输入以下任一公式:

公式 1:INDEX 与 MATCH 组合

=INDEX(A1:I8,MATCH(L1,A1:A8,0),MATCH(L2,A1:I1,0))

该公式通过匹配指定标题,精准定位行与列的索引,并返回二者交叉处的值。

公式 2:适用于数值表格的 SUMPRODUCT

=SUMPRODUCT((A1:A8=L1)*(A1:I1=L2),A1:I8)

当您的数据仅包含数值时,SUMPRODUCT 表现最佳;若用于文本结果,则可能无法返回预期值。

公式 3:结合 MATCH 的 VLOOKUP

=VLOOKUP(L1,$A$1:$I$8,MATCH(L2,B1:I1,0)+1,FALSE)

此方法先定位行,再通过 MATCH 函数确定列的偏移量。

提示:

(1)参数说明:

  • A1:A8 是行标签的范围,L1 是您要查找的特定行标签;
  • A1:I1 是列标题的范围,L2 是目标列标题;
  • A1:I8 为整个表格范围,请根据您的实际数据需求调整这些引用。

(2) 如果您的待检索值区域是文本,使用 SUMPRODUCT 将返回 0. 此时,建议改用 INDEX/MATCH 组合。

输入公式时,请确保 L1(用于行)和 L2(用于列)中的标题值与表格中的标题完全一致,必要时需注意大小写。

显示 Excel 中双向查找示例公式的截图

3. 按下 Enter 键确认公式,所选单元格将立即显示您指定的行标签与列标题交叉处的值。

注意事项与故障排除:

  • 如果公式返回 #N/A 等错误,请仔细检查标题中是否包含多余空格或大小写不一致的情况。
  • 跨单元格复制公式时,可能需要将相对引用调整为绝对引用,请根据实际需求灵活使用 $ 符号。
  • 如果您的表格较大或尺寸可变,建议考虑使用动态命名区域,或采用下方的 VBA 等替代方案,以提升可扩展性。

蓝色右向箭头气泡用于双向查找的 VBA 宏

在基于公式的双向查找受限时(例如需要不区分大小写的搜索、支持动态范围大小,或实现重复查找的自动化),自定义 VBA 宏是一种高效实用的解决方案。对于经常面对表格结构变动,或需将查找功能无缝集成到自动化工作流的用户而言,VBA 尤其具有价值。

以下是设置和使用 Excel 双向查找 VBA 宏的方法:

1. 转到开发工具 > Visual Basic,打开 Microsoft Visual Basic for Applications 编辑器;点击插入 > 模块 以添加新模块,并将以下代码粘贴到该模块中:

Sub TwoWayLookupMacro()
    Dim tblRange As Range
    Dim rowLabel As String
    Dim colLabel As String
    Dim rowIdx As Variant
    Dim colIdx As Variant
    Dim result As Variant
    Dim xTitleId As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set tblRange = Application.InputBox("Select the table range for lookup", xTitleId, Type:=8)
    rowLabel = Application.InputBox("Enter the row label to find", xTitleId, Type:=2)
    colLabel = Application.InputBox("Enter the column header to find", xTitleId, Type:=2)
    
    On Error GoTo 0
    rowIdx = Application.Match(LCase(rowLabel), Application.Index(tblRange, 0, 1), 0)
    colIdx = Application.Match(LCase(colLabel), Application.Index(tblRange, 1, 0), 0)
    
    If IsError(rowIdx) Or IsError(colIdx) Then
        MsgBox "Row or column label not found. Please check your input.", vbExclamation, xTitleId
        Exit Sub
    End If
    
    result = tblRange.Cells(rowIdx, colIdx).Value
    MsgBox "The value at the intersection is: " & result, vbInformation, xTitleId
End Sub

2. 要运行宏,请单击运行按钮按钮或按 F5 键。系统将提示您选择表格范围,并输入行标签和列标签,宏将在弹出对话框中返回交叉处的值。

实用技巧:

  • 请确保您的表格标题位于所选区域的第一行和第一列,以实现精准匹配。
  • 此宏通过将输入转换为小写,实现不区分大小写的匹配,有效避免常见的大小写错误。
  • 如果您的表格布局有所不同,可能需要调整宏以确保正确索引。
  • 对于更复杂的使用场景,VBA 代码可进一步扩展,以支持批量查找或将结果直接写入 Excel 单元格。

如果遇到问题(例如找不到标题),请检查标签中是否包含前导或尾随空格、隐藏字符,以及确认数据区域是否正确。

最佳办公效率工具

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项   |  删除空白行   |  合并列或单元格且不丢失数据   |  不使用公式的四舍五入……
高级 LOOKUP多条件 VLookup  |  多值 VLookup  |   跨多工作表 VLookup   |   模糊查找……
高级下拉列表快速创建下拉列表   |  级联下拉列表   |  多选下拉列表……
列管理器添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列……
特色功能网格聚焦   |  设计视图   |增强编辑栏   | 工作簿和表管理器   |  资源库(自动文本)|  日期提取   |  汇总工作表  |  加密/解密单元格   | 按列表发送邮件   |  超级筛选   |   特殊筛选(筛选粗体单元格/斜体/删除线……) ......
精选 15 工具集12 文本工具添加文本删除特定字符,……)|   50+ 图表 类型甘特图,……)|   40+ 实用公式基于生日计算年龄,……)|   19 插入工具插入二维码从路径插入图片,……)|   12 转换工具小写金额转大写汇率转换,……)|   7 合并和拆分工具高级合并行分割单元格,……)|……更多
在您的首选语言中使用 Kutools – 支持英语、西班牙语、德语、法语、中文及 40+ 种其他语言!

使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for 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 应用高效协作的团队。

ExcelWordOutlookTabsPowerPoint
  • 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
  • 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
  • 协同效果更佳— 在多个 Office 应用中实现高效协同
  • 30 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱