OFFSET函数创建& 在Excel中使用动态范围

  • Share This
Hugh West

微软Excel中的动态范围通常用于通过应用OFFSET函数来存储大范围的数据。 然后,这些带有定义名称的存储数据被用于各种函数下的不同计算。 在这篇文章中,你将准确了解如何使用这个OFFSET函数来存储、定义&;使用Excel中的单元格或数据范围。

上面的截图是文章的概述,它代表了使用OFFSET函数的一个例子。 你会了解到更多关于数据集、创建&的用途。 动态命名范围 在本文下面的章节中,我们将用OFFSET功能来说明。

下载实践工作手册

你可以下载我们用来准备这篇文章的Excel工作簿。

带OFFSET的动态范围

创建& 使用OFFSET函数的动态命名范围

在进入创建&使用Excel中的OFFSET函数的动态命名范围之前,让我们首先介绍一下OFFSET函数。

OFFSET功能介绍

  • 目标。

返回一个范围的引用,该范围是一个给定的行数& 列数,来自一个给定的引用。

  • 语法。

=OFFSET(reference, rows, cols, [height], [width])

  • 争论。

参考- 一个单元格或一个单元格范围。 基于这个参考,偏移参数被应用。

行- 从参考点往下或往上数的行数。

cols- 从参考值向右或向左计算的列号。

[高度]- 将作为结果值返回的行的高度或数量。

[宽度]- 将作为结果值返回的列的宽度或数量。

  • 例子。

在下面的图片中,有4个栏目,其中有一些随机的电脑品牌名称、设备类型、型号名称& 价格。

根据表格中的数据,我们将分配给在表格中提到的参数 H列 .

📌 步骤。

➤ 因为我们要用OFFSET函数来寻找结果,在 细胞H15 ,我们必须在那里打字。

=offset(b4,5,2,4,2)

➤ 在按下 进入 ,你将会看到一个基于你的参数选择的返回值的数组。

那么这个函数是如何工作的呢? 在函数中,第一个参数是 细胞B4 现在,从这个参考单元格往下第5行&第2列&你会得到单元格D9。 因为我们的行高是2,所以从下面的4个单元格开始 D9 最后,列高--2意味着4行将扩展到下一列的右边,即 D栏 因此,最终的结果数组将包括 细胞范围 D9:E12 .

阅读更多:Excel OFFSET动态范围多列的有效方法

用OFFSET & COUNTA函数创建动态范围

COUNTA 函数计算一个单元格范围内排除所有空单元格的单元格数量。 现在使用 COUNTA 函数,我们将根据范围内的可用数据分配行高& 列宽。

📌 步骤。

➤ 选择 细胞H4 & 类型。

=offset(b4,0,0,counta(b4:b100),counta(b4:e4))

➤ 按 进入 &;你会看到整个数组将作为结果值返回。

在参数部分,行高已被分配为 counta(b4:b100) &;这意味着我们将行数分配到电子表格中的第100行,这样,当在第100行的原始数据范围内输入一个新值时,该新值也将被OFFSET函数所存储。 同样,由于列宽已被定义为 COUNTA(B4:E4) ,所以这四列 (B, C, D, E) 现在根据在OFFSET功能中选择的参考值分配给该功能。

在下图中,这是一个例子,当你在原始数据范围下输入一个值时,即时结果值将显示在OFFSET表中。

阅读更多:在Excel中用VBA创建动态命名范围(分步指导)。

类似读物

  • 基于单元格值的Excel动态范围
  • Excel VBA:基于单元格值的动态范围(3种方法)
  • 如何在Excel中用VBA对最后一行使用动态范围(3种方法)

使用名称管理器用OFFSET & COUNTA函数创建动态命名范围

通过使用名称管理器,你可以定义通过OFFSET函数找到的结果数组的名称。

📌 步骤1。

➤ 根据 公式 标签,选择 名字经理 将打开一个对话框。

➤ 按 新的 & the 名称编辑 框会出现。

📌 第2步。

➤ 定义你的数据集的名称或你要偏移的单元格的范围。

➤ 在参考框中,输入公式。

=offset(b4,0,0,counta(b4:b100),counta(b4:e4))

➤ 按 认可 &。 名字经理 现在将在列表中显示定义的名称,并在底部显示参考公式。

📌 第3步。

➤ 现在关闭 名字经理 &;返回到你的电子表格。

📌 第4步。

➤ 选择电子表格中的任何单元格;开始输入定义的名称作为公式。 你会在函数列表中找到定义的名称。

➤ 选择该功能&;按 进入 .

就像下图一样,你会看到用OFFSET函数存储的结果数组作为参考,由 名字经理 .

阅读更多。 掌握了这个方法,你就可以在你的工作岗位上发挥你的聪明才智了。

使用动态命名范围进行计算

在你定义了数组的名称或之前选择的单元格范围后,现在你可以根据数值做不同的计算,或对动态命名的数据范围应用任何函数。 从我们的数据集中,我们现在将首先抵消整个价格表&;然后做一些代数计算。

📌 步骤1。

➤ 打开 名称编辑 又是&命名的价格。

➤ 在参考函数框中,输入公式。

=offset(e4,1,0,counta(e5:e100),1)

➤ 按 认可 & the 名字经理 将显示定义的名称为 价格 在底部有一个参考公式。

📌 第2步。

➤ 关闭 名字经理 &;把它送回你的电子表格。

📌 第3步。

由于我们要从列表中找出所有价格的总和,所以在公式中新定义的命名范围为 细胞H11 将是。

=SUM(价格)

➤ 按回车键后,你会一次得到所有设备的总价格。

这就是动态命名单元格在计算过程中的工作原理。 你不必每次都在函数栏中输入单元格引用,因为你已经为该单元格区域定义了一个名称,用 名字经理 .

同样地,通过使用 AVERAGE, MAX & MIN 函数,你也可以评估一些其他的数据在 H列 如下图所示。

阅读更多:在Excel中基于单元格值创建动态总和范围(4种方法)。

OFFSET的替代方案:用INDEX函数创建动态范围

替代OFFSET函数的一个合适的方法是 索引 你可以用这个INDEX函数存储多个数据或一个单元格范围。 这里我们要再次定义价格列表的名称。

📌 步骤1。

➤ 开放 名称编辑 再次输入&;在参考框中输入公式。

=index(b5:e100, 0, match(e4, b4:e4, 0))

➤ 按 进入 &;你会发现新定义的名字在 名字经理 .

📌 第2步。

➤ 关闭 名字经理 &;你已经完成了。

现在你可以在你的电子表格中使用这个动态命名的范围,通过指定相关的函数进行任何形式的计算。

阅读更多:如何在Excel中使用动态范围VBA(11种方法)

结论性的话语

我希望这篇关于动态范围的创建&用途的文章现在能促使你在Excel电子表格中有效地应用OFFSET函数。 如果你有任何问题或反馈,请在评论区告诉我。 你也可以在本网站上查看我们与Excel函数有关的其他文章。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.