独书先生 Menu

Excel 函数教程(11):如何使用 INDIRECT 函数

1. 什么是 INDIRECT 函数?

INDIRECT 函数是 Microsoft Excel 中的一种内置函数,它允许用户以文本方式引用其他单元格或区域。这意味着您可以通过一个包含单元格引用的文本字符串,来动态地引用工作簿中的其他单元格或区域。这种功能对于创建动态报表、根据条件引用单元格以及简化公式等任务非常有用。

2. INDIRECT 函数的作用是什么?

INDIRECT 函数的主要作用是使单元格引用变得动态和可变。通常情况下,Excel 中的公式直接引用单元格,但有时我们需要在运行时动态更改引用的单元格。例如,当您需要根据用户的选择或特定条件来引用不同的单元格时,INDIRECT 函数就会派上用场。

3. INDIRECT 函数的基本语法和参数详细介绍

INDIRECT 函数的基本语法如下:

=INDIRECT(引用文本, [A1])

其中:

  • 引用文本 是一个包含单元格引用的文本字符串,可以是直接输入的文本,也可以是包含单元格引用的单元格。
  • [A1] 是一个可选参数,用于指定引用文本的类型。如果为 TRUE(默认),则引用文本按照 A1 样式的引用解释;如果为 FALSE,则引用文本按照 R1C1 样式的引用解释。

4. 给出 3 个使用 INDIRECT 函数的示例,并配上表格

示例 1:动态求和

假设我们有一个表格如下:

A B
数量 价格
5 10
3 15

我们想根据用户输入的行号,动态计算该行的数量和价格之和。使用 INDIRECT 函数,可以在 C2 和 C3 单元格中分别输入以下公式:

在 C2 单元格:

=SUM(INDIRECT("A" & D2), INDIRECT("B" & D2))

在 C3 单元格:

=SUM(INDIRECT("A" & D3), INDIRECT("B" & D3))

在 D2 和 D3 单元格中,用户输入要求和的行号(2 或 3),公式将根据用户的输入动态地计算相应行的数量和价格之和。

示例 2:从其他工作簿提取数据

假设您有两个工作簿:Workbook1 和 Workbook2,您想要从 Workbook2 中提取数据并在 Workbook1 中进行计算。可以使用以下公式:

在 Workbook1:

A B
计算
5 =INDIRECT(“[Workbook2.xlsx]Sheet1!A1”) + A2

在 Workbook2 的 Sheet1 中:

A
10

此示例中,公式会动态地从 Workbook2 的 Sheet1 中提取单元格 A1 的值(10)并进行计算。

示例 3:条件引用单元格

假设我们有一个简单的成绩表,包含学生姓名(A 列)、科目(B 列)和成绩(C 列)。我们想要根据不同科目和学生的姓名动态引用成绩。

A B C
姓名  科目  成绩 
张三  数学  98
李四  语文  90
王五  英文  95

在 E1 和 E2 单元格中,用户输入所需的科目和学生姓名。在 F1 单元格中,输入以下公式以根据用户的输入动态引用成绩:

=INDIRECT("C" & MATCH(E2, A:A, 0))

此公式将根据输入的学生姓名在学生姓名列中查找匹配的行,并返回相应的成绩。

通过这些示例,您可以看到如何使用 INDIRECT 函数在 Excel 中实现动态引用,使您的工作表更加灵活和适应不同的情况。根据您的需求,您可以进一步探索并应用 INDIRECT 函数的其他用法。

原文 https://appsoftea.com/zh/excel-indirect/