ExcelRow函数和Rows函数的使⽤⽅法,含Row(A:A)与
Row(1:1)实例
在 Excel 中,Row函数⽤于返回单元格的⾏号,Rows函数⽤于返回数组或引⽤单元格的⾏数。如果Row函数省略参数,默认返回公式所在单元格的⾏号;Rows函数不能省略参数。Rows函数常与Indirect函数、Index函数、If函数、Match函数、SumProduct函数、Mod函数组合使⽤。以下是 Excel Row函数和Rows函数的使⽤⽅法,共列举有5个实例,包含Row(A:A)、Row(1:1)、Row函数与Indirect函数组合、Row + Mod + SumProduct函数组合的实例,实例操作所⽤版本均为 Excel 2016。
⼀、Row函数和Rows函数语法
Row函数表达式:ROW([Reference])
Rows函数表达式:ROWS(Array)
说明:
1、Row函数⽤于返回引⽤单元格的⾏号。Reference 为对单元格或单元格区域的引⽤,可以省略;如果省略,默认返回 Row 所在⾏的⾏号;如果 Reference 为对⼀个单元格区域的垂直引⽤(如 A1:A6),将以数组形式返回所有引⽤单元格的⾏号,按 F9 可以看到;Reference 不能⼀次引⽤多个区域。excel数组函数的实例
2、Rows函数⽤于返回引⽤的⾏数。Array 为数组或对单元格区域的引⽤,不能省略。
⼆、Row函数的使⽤⽅法及实例
(⼀)省略 Reference 的实例
选中 A1 单元格,输⼊公式 =row(),按回车,返回 A1 的⾏号 1;再次选中 A1 单元格,把⿏标移到 A1 右下⾓的单元格填充柄上,按住左键,往下拖⼀直拖到 A7,则返回 A1 到 A7 单元格的⾏号;操作过程步骤,如图1所⽰:
(⼆)引⽤⼀列(A:A)与⼀⾏(1:1)的实例
1、选中 B1 单元格,输⼊公式 =row(,单击⼀下 A 列的字母 A,则⾃动输⼊ A:A,按回车,返回 1;把⿏标移到 B1 右下⾓的单元格填充柄上,按住左键,往右拖⼀直到 D1,分别双击 C1 和 D1 单元格,A:A ⾃动变为 B:B 和 C:C;选中 B2 单元格,输⼊公式 =Row(,单击第四⾏⾏号 4,则 4:4 ⾃动输⼊,按回车,返回 4,把⿏标移到 B2 右下⾓的单元格填充柄上,按住左键,往下拖,⼀直拖到 B7,分别双击 B3 和 B4 单元格,4:4 分别变为 5:5 和 6:6,操作过程步骤,如图2所⽰:
图2
2、公式说明:
A、=row(A:A) 是以数组的形式返回 A 列的所有⾏号,当仅在⼀个单元格中输⼊ =row(A:A) 时,只返回第⼀个单元格的⾏号,因此返回1;为了看到 =row(A:A) 返回的所有⾏号,需要把 =row(A:A) 放到Index函数中,操作过程步骤,如图3所⽰:
图3
操作过程步骤说明:选中 B1 单元格,按住 Alt 键,按⼀次 M,按⼀次 V,打开“公式求值”窗⼝,单击“求值”,以数组形式返回 A 列的所有⾏号。
B、=row(4:4) 中的 4:4 表⽰对第 4 ⾏的引⽤,以数组形式返回第 4 ⾏⾏号,即 {4};选中 =row(4:4) 所在单元格,按 F9 或把
=row(4:4) 放到Index函数中都能看到以数组形式返回的{4}。
(三)参数 Reference 为数字与函数组合的实例
1、假如要返回表格 A 列不为空单元格的数组。把公式 =INDEX(ROW(INDIRECT("1:"&COUNTA(A:A))),1) 复制到 B10 单元格,如图4所⽰:
2、按回车,返回 1,这样看不到 ROW(INDIRECT("1:"&COUNTA(A:A))) 返回 A 列不为空单元格的数组,选中 B10,按住 Alt,按⼀次M,按⼀次 V,打开“公式求值”窗⼝,单击四次“求值”,就可以看到,如图5所⽰:
图5
3、A 列从 A1 到 A9 共 9 个单元格(⽂字后的空单元格不算),8 个单元格不为空,只有⼀个单元格为空,数组共有 8 个元素,说明结果正确。
4、公式说明:公式 =INDEX(ROW(INDIRECT("1:"&COUNTA(A:A))),1) 中的 COUNTA(A:A) ⽤于返回
A 列不为空单元格的数⽬,即返回 8;Indirect函数⽤于返回 1 连接返回的 8 的引⽤,INDIRECT("1:"&8) 返回的结果为 $1:$8,则 Row 变为 Row($1:$8),意思是返回第 1 ⾏到第 8 ⾏的数组。
提⽰:如果数字与函数组合作为 Row 的 Reference 参数,不能直接这样写:=Row(1:COUNTA(A:A)),因为这样写⽆法返回结果,应该这样写:=ROW(INDIRECT("1:"&COUNTA(A:A)),也就是需要⽤Indirect函数先返回对数字的引⽤。
(四)Row + Mod + SumProduct函数组合使⽤实例
1、假如要求奇数⾏的和。把公式 =SUMPRODUCT((MOD(ROW($2:$6),2)=ROW(A1))*D$2:D$6) 复制到 D7 单元格,按回车,返回求和结果 1479.00,操作过程步骤,如图6所⽰:
图6
2、公式说明:
A、ROW($2:$6) ⽤于以数组形式返回 2 到 6 ⾏的⾏号,MOD(ROW($2:$6),2) ⽤于将 2 到 6 ⾏的每⼀个⾏号与 2 取模,ROW(A1)⽤于返回 A1 的⾏号 1,如果 2 到 6 ⾏的每⼀个⾏号与 2 取模的结果等于 1,将返回 True,最后返回⼀个数组
{False;True;False;True;False},如图7所⽰:
图7
B、则公式变为 =SUMPRODUCT({False;True;False;True;False}*D$2:D$6),接着⽤数组中的每个元素与 D2 ⾄ D6 中数值相乘,由于False 被转为 0,True 转为 1,所以公式变为 =SUMPRODUCT({0;899;0;580;0}),求和后结果正是 1479.00,即 D2:D6 中的奇数⾏之和。
三、Rows函数的使⽤⽅法及实例
1、选中 A1 单元格,输⼊公式 =Rows({8,2,19,25}),按回车,返回结果为 1;双击 A1 单元格,把 2 后的逗号“,”改为分号“;”,按回车,返回 2;再次双击 A1 单元格,把公式改为 =Rows(b2:b8),按回车,返回 7;操作过程步骤,如图8所⽰:
图8
2、公式 =Rows({8,2,19,25}) 返回数组的⾏数为 1,⽽公式 =Rows({8,2;19,25}) 返回数组元素⾏数为 2,因为数组以分号“;”作为换⾏符;公式 =Rows(b2:b8) 是返回第 2 到第 8 ⾏的⾏数。