小而美的函数之ROW函数和ROWS函数
ROW函数和ROWS函数非常简单,然而,它们在公式中的作用却引人侧目。下面,我们就来发掘这两个函数之美。
ROW函数
ROW函数返回指定单元格所在的行号。如果指定的是单元格区域,则返回区域左上角单元格所在的行号。如果不指定单元格,则返回当前单元格所在的行号。
下图1展示了ROW函数的基本用法。
图1
利用Excel的相对引用原理,我们可以使用ROW函数生成一系列数字。如下图2所示,在单元格B2中输入公式:=ROW(A1),下拉至单元格B10,即在单元格区域B2:B10中生成数字1至9。
图2
更进一步,我们先选取单元格区域B2:B6,输入公式:=ROW(A1:A5),然后按Ctrl+Shift+Enter组合键,即输入一个数组公式。此时,Excel在单元格区域中输入数字1至5,如图3所示。
图3
ROWS函数
ROWS函数返回指定单元格区域的行号,也可指定数组作为其参数,其结果为数组的行数。
下图4展示了ROWS函数的基本用法。
图4
ROW函数和ROWS函数之美
从以上讲解可以看出,ROW函数和ROWS函数的基本用法再简单不过了。
简单蕴含着美!
ROW函数和ROWS函数的美在于能够为其他函数提供数字作为参数,特别是提供动态的数字,从而组合成更为强大的公式。
这有点类似程序中的计数器。
ROW函数和ROWS函数是公式构成中最基本的函数,一般嵌套在其他函数中,其结果作为其参数。在这里,我把这类函数称之为“元函数”。
下面我们小结一下这两个函数在公式中常使用的结构。
生成数字数组
如上文中的图3所示,使用数组公式:
=ROW(A1:A5)
生成由数字组成的数组{1;2;3;4;5}。
一般,公式中还会使用类似下面的形式生成数字数组:
ROW(1:3)
基于某一单元格生成数字
如果公式中需要计算当前单元格在单元格区域中的相对位置,或者将相对位置进一步处理,那么可以在公式中使用类似下面的形式:
ROW()-ROW($B$2)
以单元格B2为基准计算,如图5所示。
图5
通常,在数组公式中,我们会使用类似下面的公式形式来获得一连串数字:
ROW(A2:A6)-ROW(A2)+1
如图6所示。
图6
如果需要同一行的数字相同,那么使用ROWS函数,类似公式形式如下:
ROWS(B$3:B3)
以第3行为基准计算,如图7所示。
图7
获取单元格区域行数
如上文中的图4所示,获取单元格区域H8:J10 的行数的公式为:
=ROWS(H8:J10)
同样,通过设置单元格行或列的绝对和相对引用,可以获得动态的数字。
如果将数据单元格区域命名Data,那么获取命名区域行数的公式形式为:
ROWS(Data)
这样,将总会得到单元格区域中的最后一行。
结语
掌握ROW函数和ROWS函数的基本原理,结合数学运算,在公式中加以灵活应用,实现更加强大的功能。COLUMN函数和COLUMNS函数的用法相同。