excel生成动态的规律序列(Row/Column与Indirect函数)
发布时间:2023-08-15 22:35:41
因为Row和Column的特殊性,我们可以利用此来生成有规律的序列,比如:
=Row(a1)下拉
=Column(a1)右拉
但这样的公式不利于再在外面套公式,所以我们利用数组的特性,将参数里的一个地址扩展成一个矩阵,比如:
=Row(a1:a6)
=Column(a1:f1)
这样一来,这两个公式都变成内存数组了,所以录入时要选取一个矩阵,Row公式是六行一列、Column公式是一行六列,录入公式后同时按下那个著名的组合键:Ctrl+shift+enter,我们看到的结果就是一个内存数组的结果,这种公式可以在外面再套公式进行运算。
不过这种写法我的公式里不常见,因为我总是遵循那个“变态的省字数和原则”,不顾资源将公式写成:
=Row(1:6)
=Column(a:f)
但是以上这些都是静态的,如果希望Row的结果随某个单元格的变化而变化,直接写成Row(a1*2)是绝对不行的,因为Row和Column的参数只认引用,这里就需要用间接引用函数来帮助Row和Column实现动态结果。
引用函数有Indirect、Offset和Index的一部分,不过现实中,Row/Column套Indirect的更多见一些:
=Row(Indirect("a"&b2*2))
=Column(Indirect("r10c"&b10*2,))
将间接引用函数用到数组上,本来引用1至6行的,直接写成:
=1:6
改用间接引用以后就变成了:
Indirect("1:6")
再与Row/Column合作,公式就写成:
=Row(Indirect("1:6"))
=Column(Indirect("a:f"))
这两个公式其实和刚才讲到的第二组和第三组公式没有区别,只不过前两个是直接引用,这里用了间接引用。
(注意:因为Row和Column可以引用自身,所以Row/Column套任何函数以后,仍然可以引用自身,但Indirect却不行,所以如果是直接写“Indirect("1:6")”,这公式不能写在1至6行里的任意单元格里,否则报循环。)
有了间接引用,变化也就多端了,比如我们要生成的不一定是6个数,而是和某单元格里的字数相动态,那公式就写成:
=Row(Indirect("1:"&Len(s13)))
=Column(Indirect("c1:c"&len(s13),))
另外补充一个,Indirect的两种引用和其变种:
=Indirect("单元格引用",参数)
行号列标引用:
=Indirect("a1")
=Indirect("A"&公式)
R1C1引用:
=Indirect("r1c1",)
=Indirect("r"&公式&"c"&公式,)
=Indirect(text(11,"r0c0"),)
=Indirect("r[1]c[1]",)
=Indirect("r1c",)
=Indirect("rc1",)
猜你喜欢
- Excel内置了两种按笔画和字母排序文本的方法。假设我们只想将同类数据放在一起,并根据某个定义的基础对它们进行排序,那么问题就来了。如何打破
- Win10可以说是现在最常用的系统之一,本身就自带了很多的功能和服务,但有些功能和服务有些我们平常很少或者根本用不到,那么应该如何解决这些服
- 在工作中我们可能会遇到要整理文件目录的情况,比如为下面图1"PPT教程"文件夹中的6个文件整理一个文件名目录,参考效果见
- 我们在excel进行工作的时候,有着多张工作表需要进行表格,该如何将所有的工作表设置密码保护起来呢?下面就跟小编一起看看吧。Excel保护所
- 在word 中不管是什么类型的SmartArt图形,它包含的形状都是有限的,所以如果用户需要更多的形状,word 在SmartArt图形中自
- Excel怎么连接单元格文本?我们在使用Excel的时候,经常会需要使用到一些数据的合并,例如有些用户需要将两列或多列的数据进行连接合并,下
- 使用Excel VBA可以将工作表中的图表复制为图片,实现这种操作使用的是ChartObjects对象的CopyPicture方
- Excel中的表格具体该如何制作呢?接下来是小编为大家带来的excel2003制作表格的方法,供大家参考。excel2003制作表格的方法:
- 一些win10系统用户发现电脑无法正常安装office,并且出现“错误1907 无法注册字体”的错误提示,出现该问题一般是因为以前的Offi
- 在我们录入数据的时候,有时文字录入过长,会导致行间距变动。下面让小编为你带来2007excel表格如何把每行距一样的方法。2007excel
- Excel是一个办公很经常用到的一个办公软件,他主要用于数据的分析、查看、对比等,让数据看起来更直观,更容易对比,而有很多时候需要图表进行辅
- 怎么将中文和英文进行换行排列? 将上面的排版方式换成下图效果: 一看就是学校老师
- 用于更改整篇文档的段落间距的最简单方法是:应用使用所需间距的快速样式集。如果希望更改文档的一部分内容的段落间距,可以选择相应的段落并更改它们
- 1.打开Excel表格,在D1单元格输入=COUNTIF(C$1:C1,C1) 2.接着根据目前的重复量显示相应的
- 工作中经常会遇到在Excel表格中插入多行或者多列的需求有木有?可90%的人总是一行一行插入,当需要插入的行列较多时操作重复又繁琐!怎么破?
- 启动Excel 2003,即可进入其工作窗口。Excel 2003的工作界面主要包括标题栏、菜单栏、工具栏、状态栏、编辑栏和工作表区等。如图
- 在excel2007的运用中,存在着许多的公式。下面让小编为你带来07excel表格大写公式的方法。07excel表格大写公式设置方法:①启
- 经常需要制作各种各样的表格,当我们输入数据的时候,如果不想要修改公式,但是可以录入数据的情况下,该如何操作呢,今天我们就来教大家这个小技巧,
- 在Excel中,如果要获得符合条件的值,可以使用DGET函数获得符合条件的值。Excel2007可使用DGET函数在数据库或数据区域中获得符
- 三维饼图是饼图的一种类型,在Excel中通过合理的配色方案和设置,可以使三维饼图达到较为理想的效果。以下是小编为您带来的关于Excel表格中