row灵活返回序列数组数据通用实例

04-26

在电子表格里面,row函数返回的是行的编号,比如,公式=ROW(A3)返回的是数字3,代表第三行编号。

而在实用的应用中,我们则可以根据这一特点,能够将其广泛的用于到各种统计工作中,比如,返回序列数据,靠的就是ROW函数。下面我们就针对该问题为大家介绍多种用法。

一般来说,序列数据指的就是数组数据了,比如{1,2,3,4,5,6},代表该序列里面共有六个数字,分别从1到6,那么,通过ROW如何表示呢?公式为:=row(a1:a6),也可以这样用:=row(1:6)

再如:=row(a:a),就相当于{1,2,3,4,5,6……256},相当于从1到256的序列数据了。

一般,该函数要产生序列数据,是用于数组公式之内的。

然而,这些用法都是灵活性不太高的,因为=row(1:6)中的6,是一个固定值,万一这个6改变了,变成7,8,10的其它数字,怎么办呢?这就得使用单元格名称来代替了。

比如,我们的数字是放在F2单元格之内的,假设这个数字是256,那么,要产生从1到256的序列数据,得这样来使用。

ROW(INDIRECT("1:"&F2))这就相当于=row(1:256)了。因此,以后要改变这个范围,我们就只需要在F2里面重新输入一个上限值,问题就得到解决了,不用修改公式。

上面的公式中,出现INDIRECT("1:"&F2)函数,如何来理解呢?该函数返回的是"1:256"这个的一个值,将其当作 ROW的参数,刚好就能满足我们的需要。当然,如果你不想灵活使用,也可以这样写=INDIRECT("1:256"),在此,"1:"&F2体现的就是灵活性或通用性。

下面我们看具体的例子,求一组数据中最小的6个数的和。

数据范围为:A1:A100,单元格F2的内容为6

要求的是这100个数字当中,最小的那6个数的和。

通用灵活的公式为:=SUM(Small(A1:A100,ROW(INDIRECT("1:"&F2))))

如果不想使用灵活的方法,就使用=SUM(SMALL(A1:A100,ROW(1:6)))

使用灵活的方法,在数据可变性很大或统计数据量特别大的时候很给力,尤其是需要填充公式的时候。你只需要修改F2的内容为其它数字即可。比如要最小的十个数字之和,就把F2的内容改为10就行了。