Excel实战技巧2:创建动态命名区域的3个公式

什么是动态命名区域?

指定一个名称代表某单元格区域,当在该区域中添加或者删除行或列时,这个名称代表的区域会自动调整,我们称之为动态命名区域。

下面,介绍创建动态命名区域的3个公式。

公式1:使用OFFSET函数和COUNTA函数结合的公式

为工作表Sheet1的列A中的数据创建一个名为“ProCat”的动态命名区域。

单击“公式”选项卡中的“定义名称”,在打开的“新建名称”对话框中:

  • 在“名称”框中输入:ProCat

  • 在“引用位置”框中输入:

=OFFSET(Sheet1!$A$1,1,0,COUNTA(Sheet1!$A:$A)-1,1)

创建的动态命名区域为:从单元格A2开始一直到列A中最后一个数据单元格为止的单元格区域。

注意:使用这种方法创建的动态命名区域,前提是命名的区域内没有空单元格,否则得不到正确的范围。

公式2:使用INDEX函数和COUNTA函数结合的公式

为工作表Sheet2的列A至列C中的数据创建一个名为“Student”的动态命名区域。

单击“公式”选项卡中的“定义名称”,在打开的“新建名称”对话框中:

  • 在“名称”框中输入:Student

  • 在“引用位置”框中输入:

=Sheet2!$A$2:INDEX(Sheet2!$A:$C,COUNTA(Sheet2!$A:$A),3)

其中,INDEX(Sheet2!$A:$C,COUNTA(Sheet2!$A:$A),3)返回列C中最后一个数据单元格,本例中是单元格C7。因此,创建的动态命名区域在本例中的范围为:A2:C7。

公式3:使用INDEX函数、MATCH函数和COUNTA函数结合的公式

下面介绍的公式将根据指定的列创建动态命名区域,各列的行数不一定相同。如下图所示,当工作表Sheet4中单元格A1内容为“水果”时,动态命名区域为工作表Sheet3中的水果列;当工作表Sheet4中单元格A1内容为“家用电器”时,动态命名区域为工作表Sheet3中的家用电器列,依此类推。

首先,使用上文介绍的公式在工作表Sheet3中创建一个动态命名区域:Datas

公式为:

=Sheet3!$A$2:INDEX(Sheet3!$1:$50,50,COUNTA(Sheet3!$1:$1))

如果工作表如下图所示,则创建的动态区域为从列A开始的3列以及从第1行开始的50行的区域。

然后,选中工作表Sheet4的单元格B2,打开“新建名称”对话框,创建动态名称:DynamicList

公式为:

=INDEX(Datas,1,MATCH(Sheet4!A1,Sheet3!$1:$1,0)):INDEX(Datas,COUNTA(INDEX(Datas,,MATCH(Sheet4!A1,Sheet3!$1:$1,0))),MATCH(Sheet4!A1,Sheet3!$1:$1,0))

注意:由于要想对引用当前单元格左侧的单元格,因此在定义名称时,一定要选择工作表Sheet4的单元格B1。

上面的公式比较复杂,以冒号为界,分为两个部分。

第一部分:INDEX(Datas,1,MATCH(Sheet4!A1,Sheet3!$1:$1,0))

在工作表Sheet3中找到工作表Sheet4的单元格A1中的数据所在的单元格,作为起始单元格。

在第二部分中,公式:COUNTA(INDEX(Datas,,MATCH(Sheet4!A1,Sheet3!$1:$1,0)))

找到工作表Sheet4的单元格A1中的数据在工作表Sheet3中的列并统计该列非空单元格数量,作为外层INDEX函数的参数。整个第二部分的INDEX公式找到相应列的最后一个数据单元格,作为结束单元格。

应用

在某些情形下,动态命名区域非常有用,例如与数据验证结合使用,创建动态的下拉列表;作为图表系列,创建动态图表。有兴趣的朋友,可以参阅完美Excel微信公众号(excelperfect)的相关应用文章。

(0)

相关推荐

  • Excel教程:这2个Excel公式,搞定同事半天的工作,太好用了!

    全套Excel视频教程,扫码观看 编按: 哈喽,大家好!如何快速统计家庭人口数呢?网上给出的大多公式不能统计最后一户的人数,最后一户需要手动填写.今天我们将提供两种方法,全自动统计所有家庭的人口数.第 ...

  • 非空单元格计数函数counta的用法

    今天解说一下counta这个函数,它的作用是计算区域中非空单元格的个数.它可以计算包含任何类型的信息的单元格,比如错误值和空文本 ("").但它不会对空单元格进行计数. -01- ...

  • 创建动态命名区域的3个公式

    什么是动态命名区域? 指定一个名称代表某单元格区域,当在该区域中添加或者删除行或列时,这个名称代表的区域会自动调整,我们称之为动态命名区域. 下面,介绍创建动态命名区域的3个公式. 公式1:使用OFF ...

  • Excel实战技巧108:动态重置关联的下拉列表

    excelperfect 本文主要讲解如何使用少量的VBA代码重置Excel中相关联的下拉列表. 在相互关联的数据验证(即"数据有效性")列表中常见的问题是:当更改第一个数据验证的 ...

  • Excel实战技巧106:创建交互式的日历

    excelperfect 引子:本文的内容整理自chandoo.org,略有调整.主要是学习作者制作这样一个工作簿的思路和做法,以及运用的Excel技术技巧,当然这个工作簿也有一些局限,例如,在同一个 ...

  • Excel实战技巧95:创建数字雨效果

    excelperfect 在一些科幻片中,经常会看到屏幕上出现一片不断变幻的数字,很有科技感.使用Excel也能模拟出这样的效果,如下图1所示. 图1 下面介绍在Excel中创建这种效果的一种方法. ...

  • Excel实战技巧103:使用FILTERXML()通过位置提取单词

    excelperfect 本文介绍FILTERXML函数的一个奇特用法. 假设在单元格中有一些文本(句子/短语/关键字,等),你想要提取其中的第n个单词,然而Excel并没有SPLIT函数,那就需要编 ...

  • Excel实战技巧104:使用Excel公式创造一个随机句子

    excelperfect 是否想随机创作一个句子或者一段文字?Excel能够帮你实现. 有两种方法可以用来创造随机句:使用Excel365中的动态数组,或者老版本Excel中的常规函数. 方法1:使用 ...

  • Excel实战技巧100:控制条件格式的开关

    下面介绍一种很有意思也有点创意的技巧:使用开/关控制条件格式,从而达到动态突出显示数据的效果.如下图1所示. 图1 要实现这样的效果,其诀窍是在条件格式设置规则中使用"如果真则停止" ...

  • 这些高手专用的Excel实战技巧,不容错过!

    点击下方 ↓ 关注,每天免费看Excel专业教程 置顶公众号或设为星标 ↑ 才能每天及时收到推送 个人微信号 | (ID:LiRuiExcel520) 微信服务号 | 跟李锐学Excel(ID:LiR ...

  • Excel实战技巧102:6个最佳图表,显示相对于目标的进度百分比

    excelperfect 引言:本文整理自chandoo.org,供有兴趣的朋友参考. 下面的内容将详细探讨显示针对某个目标的进度百分比的最佳图表,如下图1所示. 图1 示例数据如下图2所示. 图2 ...