购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第4章
生成有规律的序列数

介绍两个可以生成连续序列数的函数——ROW和COLUMN。使用它们可以减少一些重复编写公式的过程,如在2.3节介绍的公式“=LARGE(H5:H14,ROW(1:1))”。

ROW函数表示返回行号,COLUMN函数表示返回列号。这两个函数得到的结果都是数字,接下来看这两个函数的使用效果。

4.1 当前单元格行列号

在C7单元格中输入“=ROW()”,然后向右向下复制到C7:E9单元格区域。如图4-1所示,它们返回的结果分别是7、8、9,而且左侧的行号同样是7、8、9,这是为什么呢?

图4-1 当前单元格的行号

当省略ROW函数中的参数时,该函数返回当前单元格的行号。

与此相同,COLUMN函数返回的是相应的列号,如图4-2所示,I7:K9单元格区域的公式为“=COULUMN()”,分别返回结果9、10、11。

图4-2 当前单元格的列号

以I7单元格为例,I列是整个表格的第9列,所以它的结果就是当前单元格的列号9。

4.2 指定单元格的行列号

ROW和COLUMN函数不仅可以返回当前单元格的行列号,还能返回指定单元格的行列号,如图4-3所示。

以C列为例,分别输入公式“=ROW(A1)”“=ROW(H5)”“=ROW(AB100)”,返回结果为A1、H5、AB100这三个单元格的行号,也就是1、5、100。

再来看一下E列,分别输入公式“=ROW(1:1)”“=ROW(5:5)”“=ROW(100:100)”,其中1:1、5:5、100:100这种“数字冒号数字”的格式代表单元格的整行区域,也就是第1行、第5行、第100行,所以它们的行号依次为1、5、100。

图4-3 指定单元格的行号

提示

这里推荐使用ROW(1:1)格式,而不是ROW(A1),因为在横向复制公式时,1:1始终代表第一行,不会变也不会出错。

如果使用ROW(A1)公式,在向右复制时,引用的单元格A1将会变为B1,C1,D1,……,它们的行号仍然是1,没有任何问题,一旦需要向左复制,就会得到错误值“#REF!”,因为A1左侧已经没有单元格了。

这两种使用方式没有绝对的优劣,可依个人习惯而定。

与ROW相似,COLUMN可以得到指定单元格的列号,如图4-4所示。

图4-4 指定单元格的列号

I列的公式分别为“=COLUMN(A1)”“=COLUMN(H5)”“=COLUMN(AB100)”,其中单元格A1、H5分别位于第1列和第8列。这里分析一下公式COLUMN(AB100),因为表格列号的标识是字母,从A到Z,有26列,所以就出现了AA, AB, BB, BC,……这样的列标,在这里,AB100单元格就是整个表格中的第28(26+2)列。

再来看K列的公式,其中A:A、H:H、AB:AB分别表示表格的A列、H列、AB列,所以返回的结果依次为1、8、28。

4.3 返回单元格区域的行列号数组

本节内容不要求马上掌握,大家有一个初步认识即可。以后要学的数组公式中,有很多与ROW、COLUMN函数有关。因为它们不仅能够返回单一单元格的行列号,还能返回整个区域的行列号。图4-5所示为使用ROW函数得到区域数组值的演示。

图4-5 区域的行号数组

以C23:C25单元格区域为例,要求得A1:D3单元格区域的行号,首先要选中C23:C25单元格区域,然后输入公式“=ROW(A1:D3)”,这里需要按【Ctrl+Shift+Enter】组合键结束公式,这是告诉Excel:“小E,请注意,我现在要按照数组的方式计算了。”然后Excel就会在公式前后自动添加一对大括号“{}”,C23:C25单元格区域会依次显示1、2、3。注意,这对大括号并不是手动输入的。

公式的结果为1、2、3,是因为A1:D3单元格区域,一共是3行4列,这3行就是1、2、3,如图4-6所示。

图4-6 A1:D3单元格区域

图4-5中的D、E列的公式结果也是这样计算的。

那么,用COLUMN函数是否也会有同样的效果呢?如图4-7所示,先横向选择I23:L23单元格区域,输入公式“=COLUMN(A1:D3)”,然后按【Ctrl+Shift+Enter】组合键结束公式,也可以得到横向的数组结果。

图4-7 区域的列号数组

这里着重介绍第25行的公式“=COLUMN(D:F)”,永远要记得COLUMN返回的是列号,所以它只认识字母,这一点要与ROW的公式“=ROW(4:6)”进行区分。

4.4 ROW函数和COLUMN函数的不当使用方式

这里着重讲一下ROW函数和COLUMN函数的不当使用方式。

=ROW(A:G),=ROW(A:A)

=COLUMN(1:5),=COLUMN(1:1)

注意,初学者永远不要把ROW函数单独和字母放在一起,不要把COLUMN函数单独和数字放在一起!

有人会问:“为什么不可以这样做,用公式ROW(A:A)和COLUMN(1:1)也都能得到了1。”

以ROW(A:A)为例,据前面所学,A:A表示整个A列。整个A列有1 048 576行,超过了104万行。那么ROW(A:A)得到的是从1~1 048 576的数字,而不是数字1。

同样地,COLUMN(1:1)公式中,1:1代表整个第一行,包含了16 384列,也就是得到了1~16 384的数字。公式中引用太多无用的数据,会严重降低计算效率,这种后果并不是你想要的。

Excel函数使用时有一个公认的潜规则:得到相同的结果谁的公式字符少,谁的水平高。这种情况催生了很多不规范但简短的公式写法。例如,使用COLUMN生成1~100的数字,有以下几种方式。

①规规矩矩的写法:=COLUMN(A1:CV1),一共15个字符。

②标准简化的写法:=COLUMN(A:CV),一共13个字符。

③超简写法:=COLUMN(1:1),一共12个字符。

第三个公式生成的数据范围是1~16 384,并不只是1~100。我们需要生成的是1~100的数字,而这个公式能生成1~16 384,那么区区1~100更不在话下了。再者,如果写成“=COLUMN(A1:CV1)”,你一眼就看懂了,而写成“=COLUMN(1:1)”,旁人至少要琢磨一下,很多高手的虚荣心也能得到满足。

提示

我们初学的时候,尤其是在工作中,应尽量使用最准确、高效的方式,而不要盲目炫技、耍帅。

实战练习

1 如练习图1-1所示,根据A列到B列的数据源完成相应的基础数据统计:

(1)在C列得到每个销量的排名数字;

(2)在G列编写各基础统计函数。

提示

注意求最小三笔销量时的模拟答案顺序。

练习图1-1基础数据统计

2 如练习图1-2所示,A2:M6单元格区域是分公司的分月计划,请根据此数字得到各分公司年度累计计划,在B10单元格写入公式并填充到B10:M13区域。

提示

注意相对、绝对引用。

练习图1-2计算年度累计计划

3 如练习图1-3所示,某公司销售奖金系数与完成率相关,完成既定任务的比例为多少,则奖金系数为多少,但是不超过上下限。

(1)设置完成比例上限不超过200%。

(2)设置完成比例下限不超过50%。

练习图1-3奖金系数计算

4 通过函数公式生成等差数列。

(1)如练习图1-4所示,在C3:C7单元格区域,生成纵向等差数列1,4,7,10,13。

练习图1-4纵向等差数列

(2)如练习图1-5所示,在D10:H10单元格区域,生成横向等差数列1,8,15,22,29。

练习图1-5横向等差数列

5 生成行列组合数字:如练习图1-6所示,观察H16:L20单元格区域的数字规律,使用ROW、COLUMN函数生成此数据。

练习图1-6生成行列组合数字 JzNui477SF0APTiAmkYlVmo54lVo81Zr8ZcnfMSolHczFqCQPps7pgmXiap6rrkO

点击中间区域
呼出菜单
上一章
目录
下一章
×