使用 HLOOKUP 跨行搜索
沿行查找数值,而不是沿列向下查找
使用 HLOOKUP 跨行搜索 是 CoddyKit 上的免费 Excel Formulas Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Excel Formulas Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Excel Formulas Academy 课程共包含 4 节课。
认识 HLOOKUP
HLOOKUP 是 VLOOKUP 的水平版本。H 代表水平:它不是沿列向下查找,而是沿表格的顶行横向查找,然后从同一列更下方的位置返回值。
当您的数据横向排列、标签沿着一行分布而不是沿着一列向下排列时,请使用 HLOOKUP。
=HLOOKUP(value, table, row_index_num, [range_lookup])四个参数
HLOOKUP 与 VLOOKUP 类似,但有一个关键变化。它的参数包括:
- 查找值 - 要在顶行中查找的内容
- 表格区域 - 单元格区域
- 行索引号 - 要返回的行(从顶部开始计数)
- [区域查找] - TRUE 表示近似匹配,FALSE 表示精确匹配
请注意,由于数据向下排列,第三个参数现在是行索引,而不是列索引。
=HLOOKUP(lookup_value, table_array, row_index_num, FALSE)横向示例表
想象一个季度表格,月份横向排列在 A1:D3 的第 1 行:
- 第 1 行:一月、二月、三月、四月
- 第 2 行(销售额):100、150、120、200
- 第 3 行(成本):60、70、65、90
顶行(月份)就是 HLOOKUP 查找的行。下方各行存放着要返回的数据。
您的第一个 HLOOKUP
要查找三月的销售额,HLOOKUP 会在顶行中查找“三月”,然后返回第 2 行(销售额)中的值:
用文字说明就是:在 A1:D3 的顶行中横向查找 "Mar",并使用精确匹配返回第 2 行中的值。结果是120。
=HLOOKUP("Mar", A1:D3, 2, FALSE)计算行索引
行索引号是从表格区域的顶部开始计数的,而不是从工作表的第 1 行开始计数。
在我们的区域 A1:D3 中,各行编号如下:
- 第 1 行 = 月份(查找行)
- 第 2 行 = 销售额
- 第 3 行 = 成本
因此,要返回某个月的成本,请使用行索引 3。索引 1 只会返回您查找的标签。
=HLOOKUP("Feb", A1:D3, 3, FALSE)从单元格中查找
与 VLOOKUP 一样,您通常会引用一个单元格,而不是直接输入标签。如果在 F1 中选择月份,请直接引用该单元格。
现在,将 F1 更改为其他月份,结果就会立即更新。这使 HLOOKUP 非常适合用于读取横向汇总表的小型选择器。
=HLOOKUP(F1, A1:D3, 2, FALSE)HLOOKUP 与 VLOOKUP 的比较
这两个函数表达的是同一个概念,只是旋转了 90 度:
- VLOOKUP:沿第一列向下查找,第三个参数是列索引
- HLOOKUP:沿顶行横向查找,第三个参数是行索引
请根据您的布局进行选择。如果标题沿侧边向下排列,请使用 VLOOKUP;如果标题沿顶部横向排列,请使用 HLOOKUP。
精确匹配和近似匹配仍然适用
区域查找参数的行为与 VLOOKUP 完全相同:
- FALSE = 精确匹配;顶行不必排序;缺失值会返回
#N/A - TRUE = 近似匹配;顶行必须从左到右按升序排列
对于月份名称等标签查找,请使用 FALSE。对于横向排列的阈值行,可以使用 TRUE,但很少有人会将分档横向排列。
=HLOOKUP(F1, A1:D3, 2, FALSE)复制时锁定表格
如果要将 HLOOKUP横向复制到多个单元格,请用美元符号锁定表格区域,避免它发生偏移。如果查找值应随每一列移动,请让它保持相对引用。
在这里,向右复制时表格保持固定,而查找标签会移动到下一个单元格。这与 VLOOKUP 使用相同的原则,只是方向变成了横向。
=HLOOKUP(B5, $A$1:$D$3, 2, FALSE)出现横向数据时
横向表格比您想象的更常见:
- 将年份或月份作为列的财务模型
- 将各轮次横向排列在顶部的计分表
- 在标题行中放置时间段的导入报告
HLOOKUP 不必转置整个表格,就可以让您按原样查询。不过,许多人更喜欢让数据纵向排列,因为大多数函数更适合这种布局;这样使用 VLOOKUP 或 XLOOKUP 也更自然。
=HLOOKUP(2024, A1:F4, 3, FALSE)将 HLOOKUP 与 MATCH 配合使用
和 VLOOKUP 一样,将行索引硬编码也可能不够稳妥。如果插入一行,索引就会失效。您可以使用 MATCH 查找行的位置,让索引变为动态值。
这里,MATCH 会在 A 列的标签中向下查找标签 "Costs" 所在的行,并将该编号传给 HLOOKUP。这样,即使行的位置发生变化,公式仍能正常运行。这是组合查找的初步体验,您稍后还会进一步学习相关内容。
=HLOOKUP(F1, A1:D3, MATCH("Costs", A1:A3, 0), FALSE)快速检查
测试您对横向查找的掌握程度。
总结:跨行搜索
现在您可以查询横向表格:
- HLOOKUP 会搜索首行,并从下方的某一行返回结果
- 第三个参数是行索引编号,从范围的顶部开始计数
- 对于精确匹配和近似匹配,FALSE 和 TRUE 的作用与 VLOOKUP 完全相同
- 横向复制时,使用
$锁定表格 - 当标题沿水平方向而不是垂直方向排列时使用它
接下来,您将学习 VLOOKUP 有时会失败的原因,以及如何诊断问题。
=HLOOKUP(F1, $A$1:$D$3, 2, FALSE)用 AI 导师学习 Excel — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 30
- 课程
- 120
常见问题解答
「使用 HLOOKUP 跨行搜索」课时是免费的吗?
是的 — 「使用 HLOOKUP 跨行搜索」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Excel Formulas Academy 课程的其余内容,请升级到 CoddyKit PRO。 Excel Formulas Academy 课程共包含 4 节课。
「使用 HLOOKUP 跨行搜索」这节课中我会学到什么?
沿行查找数值,而不是沿列向下查找 你通过在浏览器中直接运行的动手代码来练习 Excel Formulas Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Excel Formulas Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Excel Formulas Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「使用 HLOOKUP 跨行搜索」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Excel Formulas Academy 课中编写并运行代码吗?
能。每节 Excel Formulas Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- VLOOKUP 如何搜索表格
- 完全匹配与近似匹配
- 使用 HLOOKUP 跨行搜索
- 为什么 VLOOKUP 有时会失败