0Pricing
Excel Formulas Academy · 课时

使用 INDEX 提取数值

根据行位置和列位置从区域中返回数值

使用 INDEX 提取数值 是 CoddyKit 上的免费 Excel Formulas Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Excel Formulas Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Excel Formulas Academy 课程共包含 4 节课。

认识 INDEX 函数

INDEX 函数回答了一个简单的问题:“某个区域中特定位置上的值是什么?”您向它提供一组单元格和一个行号,它就会返回该位置的内容。

可以把区域想象成一个编号列表。INDEX 就像是在说“把第 3 项给我”。它目前还不会按名称查找任何内容,只是根据位置提取值。

因此,当您知道值在哪里时,INDEX 就是检索这些值的理想搭档。

基本语法

INDEX 的最简单形式需要两项信息:

  • 数组 — 要在其中查找的单元格范围
  • 行号 — 要返回该范围中的哪一行

因此,=INDEX(B2:B6, 3) 的含义是:“从范围 B2:B6 中返回第 3 个位置的值。”如果 B2:B6 中存放的是姓名,该公式就会返回第 3 个姓名。

行号是从范围内部开始计数的,而不是从工作表顶部开始计数。

=INDEX(B2:B6, 3)

在范围内计数

初学时这里很容易弄错。如果您的范围从第 2 行开始,那么第 2 行的单元格是位置 1,而不是 2。

假设 B2:B6 中存放着:苹果、香蕉、樱桃、椰枣和无花果。位置 1 是苹果(位于单元格 B2),位置 2 是香蕉,位置 3 是樱桃。

因此,=INDEX(B2:B6, 3) 会返回 樱桃。位置始终是相对于您提供的范围起点而言的。

=INDEX(B2:B6, 3)

完整示例

假设 A 列列出了员工姓名,而您想要其中第 4 个姓名。您的数据位于 A2:A10。

您可以写入 =INDEX(A2:A10, 4)。INDEX 从 A2 开始向下数四个位置,然后返回 A5 中的姓名。

请注意,您从未输入姓名。INDEX 不关心值是什么,只关心值在哪里。这种按位置处理的特性,正是它非常适合与能够为您查找位置的函数搭配使用的原因。

=INDEX(A2:A10, 4)

添加列号

当您的范围跨越多个列时,INDEX 还提供一种更完整的二维形式:

=INDEX(array, row_num, column_num)

现在,您需要同时指定区块中的行和列。例如,=INDEX(A2:C10, 4, 2) 会返回该区块第 4 行、第 2 列位置的值。

这两个数字都是从您提供的范围左上角开始计数的。

=INDEX(A2:C10, 4, 2)

在网格中选择单元格

假设 A2:C5 中有一个小表格,A 列是区域,B 列是产品,C 列是销售额。您想要第 3 个数据行中的销售额。

销售额位于第 3 列,而第 3 个数据行的位置是 3。因此,您可以写入 =INDEX(A2:C5, 3, 3)。

INDEX 会跳转到该区块的第 3 行、第 3 列,并返回那一个销售额。一个公式,就能得到精确的交叉位置。

=INDEX(A2:C5, 3, 3)

返回整行或整列

如果将其中一个数字设置为 0(或者在许多情况下省略它),INDEX 就会返回整行或整列,而不是单个单元格。

=INDEX(A2:C5, 0, 2) 会返回该区块的整列第 2 列。在现代电子表格中,结果会向下溢出到多个单元格。

当您需要将整列数据传递给另一个函数,而不只是传递一个值时,这一功能非常方便。

=INDEX(A2:C5, 0, 2)

使用单列的 INDEX

当您的范围只有一列宽时,可以完全省略列参数。INDEX 会默认使用第 1 列。

因此,对于 C2:C20 中的价格,=INDEX(C2:C20, 7) 会直接返回第 7 个价格,不需要列号。

同样,对于 E1:J1 这样只包含一行值的范围,=INDEX(E1:J1, 1, 4) 会返回该行中的第 4 个值。INDEX 会根据数据的形状灵活工作。

=INDEX(C2:C20, 7)

为什么按位置查找优于硬编码

您可能会问,为什么不直接输入 =A5。INDEX 的强大之处在于,位置可以是一个计算结果或单元格引用,而不是固定数字。

例如,=INDEX(A2:A100, D1) 会返回 D1 中存储的行号所对应的那一行。将 D1 改为 5,INDEX 就会返回第 5 个项目;改为 20,则会返回第 20 个项目。

这正是 INDEX 从一个小技巧变成动态查找工具的原因。

=INDEX(A2:A100, D1)

实际应用示例

假设 A2:A11 中有一份排行榜,而 F1 中有一个下拉列表,用户可以从 1 到 10 中选择排名。

您可以写入 =INDEX(A2:A11, F1)。有人在 F1 中选择 1 时,就会看到排名第一的选手;选择 3 时,则会看到排名第三的选手。

公式本身不会改变,改变的只有输入值。这就是您接下来要构建的各种灵活查找的基础。

=INDEX(A2:A11, F1)

注意超出范围的位置

如果您要求 INDEX 返回一个不存在的位置,就会得到 #REF! 错误。对于包含 5 个项目的范围,要求返回位置 6 就会失败。

例如,=INDEX(A2:A6, 9) 会返回 #REF!,因为一个包含 5 行的范围中不存在第 9 个项目。

请将位置编号保持在范围大小之内。稍后,当您将 MATCH 返回的位置传递给 INDEX 时,这种情况很少发生,但了解这个错误仍然很有帮助。

=INDEX(A2:A6, 9)

快速检查

请测试您对 INDEX 如何计算位置的理解。

回顾:INDEX 按位置返回值

您已经学会了,INDEX 可以根据值在范围内的位置提取该值:

  • 对于单列或单行,使用 =INDEX(array, row_num)
  • 对于二维区块,使用 =INDEX(array, row_num, column_num)
  • 位置从范围起点开始计数,因此第一个单元格的位置是 1
  • 位置可以是数字、单元格引用或计算结果,因此 INDEX 具有动态性

接下来,您将学习 MATCH,它可以自动为您查找这些位置。

=INDEX(A2:A11, F1)

常见问题解答

「使用 INDEX 提取数值」课时是免费的吗?

是的 — 「使用 INDEX 提取数值」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Excel Formulas Academy 课程的其余内容,请升级到 CoddyKit PRO。 Excel Formulas Academy 课程共包含 4 节课。

「使用 INDEX 提取数值」这节课中我会学到什么?

根据行位置和列位置从区域中返回数值 你通过在浏览器中直接运行的动手代码来练习 Excel Formulas Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Excel Formulas Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Excel Formulas Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「使用 INDEX 提取数值」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Excel Formulas Academy 课中编写并运行代码吗?

能。每节 Excel Formulas Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 使用 INDEX 提取数值
  2. 使用 MATCH 查找位置
  3. 组合使用 INDEX 和 MATCH
  4. 为什么 INDEX-MATCH 优于 VLOOKUP
← 返回 Excel Formulas Academy